[Dreamhack] Type c-j -write up (타입 저글링 기법)
·
워게임 문제풀이/Dreamhack
이번시간엔 Dreamhack 워게임 문제인 Type c-j 에 대하여 작성해보도록 하겠습니다!1. 취약점 탐색1. 우선 페이지는 다음과 같이 이루어져 있습니다. ID 와 Password 를 우회하면 flag 가 나오는 형식같습니다. 그러면 소스코드를 한번 훑어보겠습니다!2. 일단 check.php 의 코드를 살펴보니 $id , $pw 값을 설정해주는 부분이 있습니다. $id 값은 getRandStr()을 통해 난수의 문자열을 받아오고 , $pw 는 1이라는 문자열을 sha1 암호화를 거친 값을 저장해주는것 같습니다. 그러면 일단 $pw 값은 1을 sha1로 암호화만 시키면 얻을수 있으니 패스워드 값은 알아낸 것입니다.3. 그 바로밑에 있는 코드를 살펴보시면 "입력하는 값은 id는 10글자 , passwo..
[Dreamhack] XSS Filtering Bypass - Write up
·
워게임 문제풀이/Dreamhack
이번시간은 Dreamhack 사이트의 워게임중 XSS Filtering Bypass 문제를 살펴보도록 하겠습니다![취약점 탐색] 1. 우선 메인페이지는 이런식으로 이루어져 있습니다. 한번 차례대로 살펴보겠습니다.2. 우선 vuln(xss) page 를 클릭하니 이런 이미지가 나옵니다. 아마 xss 에 이용하라고 넣어둔 것 같습니다.3. memo 를 클릭하니 이런 페이지가 나왔습니다. 아마 get요청으로 memo 파라미터에 넣은 값을 여기서 출력해주는건가 봅니다... 그러면 나중에 이 점을 이용하여 flag 값을 출력하도록 이용해볼 수 있을것 같습니다!4. flag 페이지로 들어왔습니다. 아마 저기에 param 값을 넣고 제출을하면 admin 계정이 저 링크로 접속하는 방식인가 봅니다. 어느정도 페이지 구..
<Segfault> 워게임 문제풀이 [CSRF-Get admin 3]
·
워게임 문제풀이/Segfault
목표 : admin 계정으로 로그인 하라! 우선 'james' 라는 이름으로 회원가입을 진행해 준 후 마이페이지에서 비밀번호 변경 요청을 살펴보겠습니다.  (비밀번호 변경)  비밀번호를 변경해주고 요청을 Burp 로 살펴보았습니다.POST 방식으로 전달하면서 , 인증방식으로 csrf_token 을 도입한 것을 확인하실수 있습니다. 즉! 요청을 변조하려면 csrf_token 이 필요하다는 뜻입니다.   CSRF_TOKEN 이 발급되는 양상을 살펴보기위해 마이페이지를 여러번 출입을 해줍니다.   방문할때마다 계속 토큰이 새로 발행되는것을 볼 수 있습니다.즉 이 토큰이 발행되는 조건은 '마이페이지 방문' 이라는 것을 알수있습니다. 그러면 CSRF 공격 시나리오를 생각해볼수 있습니다.(XSS 취약점을 찾았다고 ..
<Segfault> 워게임 문제풀이 [CSRF-Get admin 2]
·
워게임 문제풀이/Segfault
목표 : admin 계정으로 접속을 하라   우선 james 라는 이름으로 회원가입을 진행하여 메인페이지로 로그인을 합니다.이후 마이페이지로 이동하여 비밀번호 변경 요청을 살펴보겠습니다. (비밀번호 변경) 비밀번호 변경Burp 로 살펴본 비밀번호 변경요청 일단 보시면 POST 방식으로 비밀번호 요청을 하고있습니다.그러면 POST 요청을 GET 방식으로 바꿔서 링크공격이 가능한지 살펴보겠습니다.  GET 방식으로 비밀번호 요청 (실패) POST 방식은 가능한데 , GET방식의 요청을 하게되면 에러가 나게됩니다.그러면 링크유도 공격은 불가능해졌습니다.. 하지만 자바스크립트로도 POST 요청을 보낼 수 있기에 XSS 취약점을 찾아 자바스크립트 코드를 실행해보겠습니다. 특수문자 사용가능여부 확인특수문자 사용가능..
<Segfault> 워게임 문제풀이 [CSRF-Get admin 1]
·
워게임 문제풀이/Segfault
목표 : admin 계정의 비밀번호를 바꾼후 로그인 하라!   ID: james / pw : 123123 일단 회원가입을 해주었습니다.마이페이지로 가서 비밀번호 변경 기능을 사용한 후 Burp 로 확인해주겠습니다. (비밀번호 변경) 비밀번호 변경 : PW=159159비밀번호 변경에 대한 응답 음.. 일단 POST 요청을 통해 회원정보 수정이 이루어지고있습니다.이 요청을 GET 방식으로 바꿔서 똑같이 이루어지는지 확인해보겠습니다.GET 방식으로 재요청응답(성공) 비밀번호 요청이 GET 요청으로 바꿔주어도 성공하는것을 보실수 있습니다.그러면 이 요청을 변조하여 PW를 123123으로 다시 바꿔보겠습니다.비밀번호 변경 요청(위조) : PW=123123결과(성공)  그러면 XSS 와 연계를 위해서 xss 취약점..
<Segfault> 워게임 문제풀이 [Steal Info]
·
워게임 문제풀이/Segfault
목표 : 관리자의 마이페이지에 있는 중요정보를 탈취하라!  주어진 정보 : 관리자의 마이페이지.HTML (마이페이지는 이렇게 생겼다.)   일단 메인페이지로 들어와주었습니다.차근차근 마이페이지부터 살펴보도록 하겠습니다. james 라고 입력> 흠.. URL 변수와 페이지에 출력되는 값은 무관해보이는것 같다.미련없이 게시글 작성 페이지로 이동해주겠습니다. 제목 / 내용 :    /   응답 내용 부분에 특수문자 사용이 가능해 보인다.그러면 스크립트 코드가 삽입 가능한지 체크해보겠습니다. Burp Suite 로 POC 코드 삽입POC 코드 동작  내용부분에  삽입하자 동작을 하는것을 확인하였습니다.즉 이부분은 Stored XSS 로 이용할 수 있다는 뜻입니다. 그러면 이걸로 어떻게 관리자 마이페이지에 있는 ..
<Segfault> 워게임 문제풀이 [XSS Challenge]
·
워게임 문제풀이/Segfault
목표 : 관리자의 쿠키를 탈취하라!일단 페이지로 들어와줍니다.혹시나 마이페이지에 취약점이 있을지도 모르니 체크한번 해주겠습니다. 흠...역시나 user 라는 변수는 페이지에 출력되지 않는 변수인것 같네요..그러면 다음으로 게시글 페이지로 이동해보겠습니다.  밑에 보시면 james 라고 입력할시 화면에 'james 에 대한 검색결과가 없습니다' 라고 출력이 됩니다.화면에 직접적으로 출력이 되니 XSS 를 위해 살펴볼 가치가 있습니다.검색창 입력값 : james결과  Burp Suite 를 이용해 이 게시글 페이지의 코드를 살펴보겠습니다.   일단 저희가 보내는 변수가 GET 방식으로 들어가고 있는것을 확인했습니다. 표시된 1번부분을 보면 분명 화면에 james 라고 출력되고 있는데 코드상으로는 james ..