[dreamhack] Lecture. Same Origin Policy, SOP
·
W3B H4CK1NG
SOP동일 출처 정책현재 페이지의 출처가 아닌 다른 출처로부터 온 데이터를 읽지 못하게 하는 브라우저의 보안 메커니즘Origin 구분 방법Origin: 프로토콜, 포트, 호스트로 구성구성 요소가 모두 일치해야 동일한 오리진https://same-origin.com/ 이라는 오리진과 아래 URL 비교URL 결과 이유https://same-origin.com/frame.htmlSame OriginPath만 다름**http://**same-origin.com/frame.htmlCross OriginScheme이 다름https://cross.same-origin.com/frame.htmlCross OriginHost가 다름https://same-origin.com:1234/Cross OriginPort가 다름S..
bandit 풀이 level 0~6
·
동아리_I.Sly()
level 0로그인 후 패스워드에 bandit0 입력level 0 → 1cat:level 1 → 2파일 목록(숨겨진 것까지) 찾는다. -의 이름을 가진 파일이 있고 권한은 bandit2가 가지고 있다. 그냥 cat으로는 대기 상태가 되고 출력은 되지 않는다.옵션을 의미하는 기호가 아니라 파일명으로 인식하게 하려면 경로명을 포함해서 cat 하면 된다. cat ./-level 2 → 3spaces in this filename의 이름을 가진 문서가 있다. cat 해보니 각각 따로 따로 검색이 되어서 합칠 수 있는 방법을 찾아보았다.띄어쓰기 앞에 \ 백슬래시를 넣으면 띄어쓰기가 가능함을 알게 되었다level 3 → 4inhere가 디렉토리임을 알아서 해당 디렉토리로 이동했다숨겨진 파일까지 찾아보니 한 파일에 ..
w3 요약
·
동아리_I.Sly()
자료구조여러 데이터들의 묶음을 저장하고 사용하는 방법을 정의한 것 → 데이터의 효율적인 관리 및 사용을 위해 자료구조가 필요함데이터: 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값종류단순구조자료값 사용을 위해 T/F, 정수, 실수, 문자 및 문자열 같이 컴퓨터가 기본적으로 제공하는 자료형선형구조자료를 구성하는 데이터를 순차적으로 나열시킨 형태로 자료들간의 관계가 1:1인 자료비선형구조하나의 자료 뒤에 여러 개의 자료가 존재할 수 있는 것으로 계층 구조나 망 구조로 이루어짐파일구조보조기억 장치에 데이터가 실제로 기록되는 형태로 메모리에 한 번에 올릴 수 없는 대용량을 다룸서로 관련있는 필드로 구성된 레코드 집합인 파일에 대한 자료구조스택 LIFO데이터 삽입과 추출이 한쪽 방향만 가능..
[dreamhack] simple sqli
·
W3B H4CK1NG
상단 바에 Home, About, Contact가 있지만 실제 페이지는 Login만 존재  데이터베이스 파일명을 database.db로 설정userid, userpassword가 각각 guest, guest인데 admin의 경우에는 {binascii.hexlify(os.urandom(16)).decode(“utf8”)}: 랜덤 16바이트 문자열을 16진수로 표현하도록 되어있다.  POST 메소드 요청 전달한 경우, users 테이블에서 입력한 userid와 userpassword가 일치하는 정보를 불러온다. 존재하면 로그인할 계정을 해당 쿼리 결과에서 불러와 사용하고 존재하지 않으면 wrong 메시지 출력로그인하는 계정이 관리자 계정이면 flag 출력, 아니면 hello 출력 해결 방법 - SQL inj..
[dreamhack] csrf-2
·
W3B H4CK1NG
가장 먼저 볼 수 있는 화면. vuln, flag, login 페이지가 있다.read_url 함수: Python Selenium을 사용해 지정된 URL에 접속하고 쿠키를 설정한 후, 페이지를 로드하는 함수cookie={“name”: “name”, “value”: :value”}: 이름과 값을 가지는 쿠키를 설정하는 딕셔너리name = name, value=value로 설정되어 있음 / (메인) 페이지 → 세션 기반 인증session_id = request.cookies.get('sessionid', None): 쿠키에서 세션 아이디 가져오기. 없으면 none이 기본값username = session_storage[session_id]: 가져온 session_id를 사용해 storage라는 세션 정보 저장..
범용 레지스터, 플래그 레지스터, 스택 프레임
·
reversing
general register 범용 레지스터reg size: 4 byte종류: EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP, EIPEAX, EBX, ECX, EDX → 산술 명령어에서 상수나 변수값이 저장되는 용도EAX는 결과값을 저장하거나 오퍼랜드(피연산자)를 축적ECX는 while, for 반복문을 사용할 때 ECX loop count -1 감소ESI, EDI, EBP, ESP은 메모리 주소를 저장하는 포인터로 사용EBP는 ESP 값을 저장ESP는 스택 메모리 주소를 저장EIP는 CPU가 처리할 명령어 주소EAX: 4byteAX: 2byteAH(high): 1byteAL(low): 1byteflag register 플래그 레지스터명령어의 실행 여부를 결정함명령 수행에 따라 t..