CTF | wargame

XCZ.kr / Prob18 (웹, php소스분석)

nopdata 2016. 7. 22. 01:54

prob18 - Web Basic


간단하다. 소스코드를 보고 분석을 하면된다.


주 코드 부분은 위와 같고 좀 더 보기 쉽게 하면


이것과 같다. 문제는 간단하다. 해당 페이지에 들어갈때 쿠키값'c'와 GET으로 보내는 값 'g', POST로 보내는 값 'p'가 비교하는 값이 맞으면 된다. 비교값은


이것이다. result1은 get값+cookie값이고 result2는 post값이다. get이나 cookie는 그냥 웹브라우저를 이용하면 되지만 post를 보낼 방법이 없었다. 마지막 비교에는 post값이 없어도 되지만 첫 비교에서는 세 값이 모두 있어야 한다. 그래서 파이썬을 이용하기로 했다.



최종적으로 나온 소스코드. Post로 값을 넣고 쿠키값을 넣어야 하는데 서버에서 로그인이 되어있지 않으면 문제를 풀 수 없다. 그래서 세션값도 쿠키로 넘겨 주어야 한다. 그러면 c와 PHPSESSID, 두개의 쿠키값을 넘겨야 하는데 이게 헷갈려서 시간이 조금 걸렸다...


GET으로 보내는 값 'g'에는 'giveme'를 넘기고, POST로 보내는 값 'p'에는 'keyplz!'를 보내고, 쿠키값 'c'는 'password'를 넘긴다 그러면 문제의 답이 적혀있는 응답이 날라온다.


그냥 응답값을 보면 좀 지저분 하므로 html로 바꿔서 보면 된다.



답은 web_basic_problem_haha


XCZ.KR Answer : web_basic_problem_haha