목록전체 글 (289)
촉촉한초코칩
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/52gNV/btrGyNfH07Z/ajwD4KrIY5h5UlunAfVndk/img.png)
문제파일을 다운받고 URL에 들어간다. 웹 서비스는 총 4개가 있다. 웹서비스 분석 /vuln : 이용자가 전달한 param 파리미터의 값을 출력 /memo : 이용자가 전달한 memo 파라미터의 값을 render_template 함수를 통해 기록하고 보여준다. /flag 페이지 : 메소드에 따른 요청마다(GET/POST) 다른 기능을 수행한다. GET : 이용자에게 URL을 입력받는 페이지 제공 POSt : params 파라미터에 값과 쿠키에 FLAG를 포함해 check_xss 함수 호출한다. check_xss는 read_url 함수를 호출해 vuln 엔드포인트에 접속한다. 취약점 vuln과 memo 페이지 : 이용자의 입력 값을 페이지에 출력한다. memo : render_template 함수를 사용..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/NsVC2/btrGzvlfgdg/5Glysp1r6OjMxiPYyYRkaK/img.png)
Stage 4 - Cross-Site-Scripting (XSS) ClientSide:XSS 클라이언트 사이드 취약점 : 웹 페이지의 이용자를 대상으로 공격할 수 있는 취약점 이용자를 식별하기 위한 세션 및 쿠키 정보를 탈취하고 해당 계정으로 임의 기능 수행 가능 XSS 공격자 :오리진 권한으로 웹 리소스에 악성 스크립트를 삽입 > 이용자, 악성 스크립트가 포함된 웹 브라우저 방문 > 세션 정보를 탈취하고 해당 계정으로 임의의 기능 수행 SOP 보안 정책이 등장하면서 서로 다른 오리진에서는 정보를 읽는 행위가 이전에 비해 힘들어졌다. 하지만 이를 우회하는 다양한 기술들이 소개되면서 XSS 공격이 지속되고 있다. XSS 발생 예시와 종류 XSS 공격은 이용자가 삽입한 내용을 출력하는 기능에서 발생한다. e..
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bdwXUR/btrGbvkW20l/NIgoiBQhLGOPbMgeSPGxgk/img.png)
문제 파일을 다운로드 받고 코드를 확인했다. guest, user 두 아이디와 비밀번호가 있어서 로그인을 시도했다. user로 로그인했을 때 sessionid가 나오긴 했지만 admin이 아니기 때문에 flag 값이 나오지 않았다. 문제 파일에서 /, /login, /admin 페이지 제공하고 있어서 URL 뒤에 login과 admin을 써서 해당 페이지에 들어가 보았다. host1.dreamhack.games:19767/admin 페이지에 이렇게 들어가니 session_id 값으로 보이는 글자들이 나왔다. 로그인 페이지에서 user와 guest로 로그인했을 때 나온 sessionid 값과 같아서 이번에는 Cookies에서 session_id 값을 admin으로 넣어보았다. 먼저 guest로 로그인 하고..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c8Dh5G/btrF9Hl6Dh8/5j4sJlfjXjJhntLmUrZftk/img.png)
문제 파일을 다운로드 받고 접속정보 URL에 들어가면 로그인할 수 있는 페이지가 나온다. 파이썬 파일에는 users변수가 선언되었다. 코드를 살펴보면, 손님 계정의 비밀번호는 “guest", 관리자 계정의 비밀번호는 파일에서 읽어온 FLAG임을 알 수 있다. 아직 admin의 비밀번호는 모르기 때문에 guest로 로그인했다. 해당 코드는 인덱스 페이지를 구성하는 코드이다. 해당 페이지에서는 요청에 포함된 쿠키를 통해 이용자를 식별한다. 개발자 도구 -> Application -> 쿠키 탭에 들어간다. username이라는 쿠키에 guest라는 값이 들어가 있는데, 이 값을 admin으로 바꿔준다. 그리고 F5키를 눌러 Flag 값을 확인한다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bZ125Q/btrGbvkRNkO/Oke1KWfdzYPH4SGLosyW1K/img.png)
Stage 3 - Cookie & Session Background:Cookie & Session HTTP 프로토콜로 웹 서버와 통신 > 웹 서버에 명령을 내리기 위해 GET, POST와 같은 메소드와 자원의 위치를 가리키는 URL등이 포함되어 있음 + 헤더(Header)를 통해 웹 서버에게 요청, 웹 서버는 헤더를 읽고 클라이언트에게 결과 값 반환 헤더(쿠키, 세션)에는 클라이언트의 정보와 요청의 내용을 구체화하는 등의 데이터와 클라이언트의 인증 정보가 포함됨 쿠키 클라이언트의 IP 주소, User-Agent : 매번 변경될 수 있는 정보 HTTP 프로토콜의 Connectionless와 Stateless : 웹 서버는 클라이언트를 기억할 수 없음 > Connectionless, Stateless 특징을..