Challenge 60 시작!
소스코드를 보자.
PHPSESSID 가 숫자가 아닐 경우에는 접근이 거부된다. 때문에 PHPSESSID 를 숫자로 변경해줘야 하고, 변경하게 되면 txt 파일을 생성한다. 하지만 127.0.0.1 이 아니라면 1초 뒤에 파일을 삭제된다.
그리고 PHPSESSID 가 숫자인 상태에서 get 방식으로 mode 인자에 auth 라는 값을 요청하면 생성된 txt 파일의 내용을 확인하고 문제가 해결된다.
일단 PHPSESSID 를 아래와 같이 숫자로 변경한다.
그리고 나서, 새로고침 하게 되면 sleep(1) 이 동작하여 1초 이상의 시간이 소요된다. 때문에 mode=auth 를 요청하기도 전에 파일이 삭제된다. 파일이 삭제되기 전에 mode=auth 를 요청하기 위해서는 서로 다른 PHPSESSID 를 가진 두 페이지에서 접근해야 한다. 한 페이지에서 파일을 생성하게 되면 해당 파일이 사라지기 전에 다른 페이지에서 mode=auth 를 요청하는 것이다.
일반 크롬창과 크롬 시크릿 모드 창을 이용해 각각 다른 숫자로 된 PHPSESSID 를 가진 두 페이지를 준비한다. 그리고 한 페이지에서 60번 문제에 접근하자마자 다른 페이지에서 mode=auth 를 요청하면 문제가 해결된다. 새로고침을 이용하면 쉽게 해결할 수 있다.
성공!
'WarGame > webhacking.kr' 카테고리의 다른 글
Challenge 59 (0) | 2020.05.04 |
---|---|
Challenge 58 (0) | 2020.05.04 |
Challenge 57 (0) | 2020.05.04 |
Challenge 55 (0) | 2020.04.29 |
Challenge 54 (0) | 2020.04.29 |