본문으로 바로가기

[Webhacking.kr]33번

category Wargame/webhacking.kr 2017. 8. 1. 04:12


33번 문제를 클릭하면 나오는 화면이다.


33번에 1번이 붙은것을 보니 한문에 안에 여러 문제가 있는것 같다.


우선 링크가 걸려있는 소스부터 보자




GET방식으로 hehe라는 값을 보내주면 풀릴것 같다.



NEXT!







2번문제도 빠르게 풀어보자!


소스보기!



포스트로 두개의 값을 전달해야하는 문제이다.


우리를 편리하게 만들어주는 개발자도구(F12)를 사용해서 post폼을 만들어보자




가랏 post!


가랏 post2!


...


효과가 굉장했다!










소스부터 보자!




$_SERVER[REMOTE_ADDR]은 사용자의 IP를 뜻한다.


즉, 현재 자신의 IP를 GET방식으로 myip라는 변수에 담아 보내면 될것같다.







편하다 편해~







오 hint가 나온걸 보니 슬슬 어려워지려나보다


소스를 보자


GET으로 보낸 password의 값이 서버상의 md5된 시간값이 같아야한다.


아~


그럼 그 힌트가 혹시 시간정보?


돌아가서 새로고침을 해보자



예상대로야 ㅎ


....



라고는 했지만 어떻게 그리 빨리 get을 보내지? 라는 루프에 빠져 고민하다가


예측샷을 쏘기로 했다





굿...ㅎ 이렇게 푸는거 맞나...








가자 소스!




이번에는 값이 존재하도록 하면 된다.


하지만 소스에서 보면 알 수 있듯이 쿠키와 GET과 POST가 동시에 있어야한다.




쿠키부터 만들어보자 크롬어플리케이션을 이용해서 만들 수 있다.





GET과 POST는 POST방식의 전달의 action이 GET방식이 되도록 화면에 만들어보았다.








우오옷!!!


이거 힌트가 대단해보인다


그렇담 소스부터



어렵지 않은것 같다.


$_SERVER[HTTP_USER_AGENT]


IP주소와 AGENT정보를 md5암호화하여 각각 cookie, POST방식으로 서버에 전달하면 된다.






이렇게 아까와 같이 쿠키를 설정해주고




post전송이 가능하도록 한 후에 제출을 누르면 풀린다!





벌써 7번째 문제이다


자동소스이동!



아이피주소에서 .을 제거한 후에 그것이 get방식의 변수명이 됨을 알 수 있다.


또한 그 값도 같은 값이어야 한다.







소스를 향하여!




새로운 함수가 보인다.


extract() 인데 이것은 배열을 나누어주는것이다.


$_GET['id']과 $_GET['pw']라는 값이 있을 때,


id라는 변수와 pw라는 변수로 나누어지도록 해주는 것이다.


$addr의 값이 127.0.0.1이어야 하기 때문에


addr에 GET방식으로 127.0.0.1이라는 값을 보내주자



굿!







슬슬 힘들다.... 끝은 어디니...



소.스.보.자


chr을 통해서 증가하는 i를 아스키코드로서 변환한 후에 answer에 넣는다.


이때 .= 이라는 연산자가 나오는데 이는 기존의 값에 추가하는 연산자이다.


+=와 비슷한 역할이라고 보면 될것같다.





결과값이 ans변수와 같아야하기 때문에 해당되는 값을 GET으로 보내야하는데


2씩 증가하면서 문자를 이어붙이기 때문에 아스키코드 97인 a부터 시작해서 2칸마다 나오는 문자들을 나열하면 될것같다.










두자리 수로 넘어왔다.



가자


어디?


알잖아



음....


미래의 보안인으로서 강한 의지력을 다질 수 있는 33번 문제가 아니었나 싶다.


ord만 보고 이건 코드로 돌리자


ord()


chr()이 아스키코드를 문자로 변환하는 함수였다면


ord()는 문자를 아스키코드로 변환해주는 함수이다.


대충 어떤느낌인지 감이 왔으니


코드로 돌리자




출력해보면 아래와 같다.



이제 소스에서 나온것처럼 생성되어있는 폴더를 찾아가보자




최종적으로 비밀번호가 나왔다. ㅠㅠ 






'Wargame > webhacking.kr' 카테고리의 다른 글

[Webhacking.kr]52번  (0) 2017.08.01
[Webhacking.kr]32번  (0) 2017.08.01
[Webhacking.kr]47번  (0) 2017.07.31
[Webhacking.kr]25번  (0) 2017.07.31
[Webhacking.kr]27번  (0) 2017.07.31