DreamHack 5

[Dreamhack] Computer Science

컴퓨터 구조 💻 : 컴퓨터가 효율적으로 작동할 수 있도록 HW 및 SW 기능을 고안하고, 이들을 구성하는 방법 1) 기능 구조에 대한 설계 : 컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 필요한지 고민하고 설계하는 분야 ex) 폰 노이만 구조, 하버드 구조, 수정된 하버드 구조 등 2) 명령어 집합구조 (Instruction Set Architecture, ISA) : CPU가 사용하는 명령어와 관련된 설계 ex) ARM, MIPS, AVR, 인텔의 x86-64 아키텍처 3) 마이크로 아키텍처 : 정의된 명령어 집합을 효율적으로 처리할 수 있도록 CPU의 회로를 설계하는 분야 중앙처리장치 (Central Processing Unit, CPU) - 연산과 제어 : 프로그램의 연산을 처리하고 시스템을..

Reversing 2022.02.28

[Dreamhack] csrf-1

목표 : CSRF를 통해 관리자 계정으로 특정 기능을 실행시키기 /vuln - 이용자가 입력한 param 파라미터 값을 출력함 - 이 때, 이용자의 파라미터에 frame, script, on 세 가지의 악성 키워드가 포함되어 있으면 *로 치환함 -> XSS가 발생할 수 있는 키워드를 필터링함 -> 취약점) 하지만, 필터링 키워드 이외의 꺽쇠 를 포함한 다른 키워드와 태그는 사용 가능하므로 CSRF 공격 가능 /memo - 이용자가 메모를 남길 수 있으며, 작성한 메모를 출력함 - 이용자가 전달한 memo 파라미터 값을 기록하고, render_template 함수를 통해 출력함 /admin/notice_flag - 메모에 FLAG를 작성하는 기능. - 이 기능은 로컬호스트(127.0.0.1)에서 접속해야 ..

Web 2022.02.13

[Dreamhack] Web Hacking STAGE 5 (CSRF)

ClientSide : CSRF 서명을 신중하게 관리 = 중요한 웹 서비스의 쿠키를 잘 보관 Cross Site Request Forgery (사이트 간 요청 위조, CSRF) - 이용자의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 만드는 공격 - 임의 이용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점 ex) 웹 페이지를 만들어 이용자의 입력을 유도한 후, 이용자가 값을 입력하면 이를 중요 사이트 등으로 전송하여 마치 이용자가 동의한 것 같은 요청을 발생시킴 ↑ CSRF 취약점이 존재하는 예제 코드 ↑ - 송금 과정에서 계좌 비밀번호, OTP 등을 사용하지 않았음. CSRF 공격 성공 조건 공격자가 작성한 악성 스크립트를 이용자가 실행해야 한다. -> 메일이나, ..

Web 2022.02.07

[Dreamhack] xss-2

xss-1 문제와 유사해보이지만, vuln(xss) page를 확인해보면, xss-1과 달리 파라미터에 전달된 script가 실행되지 않는다. xss-1과 비교해보면, xss-2에서는 render_template을 사용하고 있어 XSS가 발생하지 않는다는 것을 알 수 있다. memo 페이지는 xss-1과 다른 점이 없어 보인다. flag 페이지도 xss-1과 다른 점이 없어 보인다. 따라서, XSS를 우회할 수 있는 방법을 찾아야 한다. 와 같은 방법이 있는데, 우선 vuln(xss) page를 우회해보자. 태그가 아닌 를 사용한 결과, 우회할 수 있었다. 를 사용하여 아래와 같은 익스플로잇 코드를 입력한 결과, 플래그를 얻을 수 있었다. 참고 https://lrtk.tistory.com/63?categ..

Web 2022.02.06

[Dreamhack] Web Hacking STAGE 2

STAGE 2. Background: HTTP/HTTPS 인코딩 표준 1) 아스키 - 알파벳과 특수 문자 등을 표현함 ex) 1000001을 아스키로 변환하면 A가 됨 2) 유니코드 - 모든 언어의 문자를 하나의 표준에 담겠다는 목표로 제정되었음 - 한 문자는 최대 32비트로 표현되어 약 42억개를 표현 가능함 - 최근에는 각종 이모지들도 유니코드에 포함되고 있음 프로토콜 - 규격화된 상호작용에 적용되는 약속 - 각 통신 주체가 교환하는 데이터를 명확히 해석할 수 있도록 문법(syntax)을 포함함 - 표준 통신 프로토콜의 예) TCP/IP, HTTP, FTP 등 HTTP(Hyper Text Transfer Protocol) - 서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜 - ..

Web 2022.01.15