DongDD's IT

[webhacking.kr] Level 33 (5~8) 본문

Wargame/webhacking.kr

[webhacking.kr] Level 33 (5~8)

DongDD 2017. 9. 1. 13:51

[webhacking.kr] Level 33


33번 문제의 5번째 문제도 같은 형식으로 되어있었다. 게속 이런 형식인 것 같다.



소스 코드를 보니 이번에는 앞에 문제들을 합쳐놓은 형태로 되어 있었다.

GET방식으로 imget을 받는 데 값이 있어야 하고

POST방식으로 impost을 받는 데 값이 있어야 하고 COOKIE에 imcookie가 설정되어 있으면 Next가 나오는 방식으로 되어있다.



Burp Suite를 이용해 각 항목에 받는 방식으로 1값을 넣어줘 Next를 얻어낼 수 있었다.




이번에는 hint가 나와있었다. Request header에 있는 값이 힌트로 나와있었다.

소스코드를 보면 좀 더 자세히 알 수 있을 것 같다.



이번에는 md5 암호화를 사용하는 방식으로 되어있었다.

앞에 문제와 비슷하게 Cookie와 POST방식 두가지로 넘겨주게 되어있다.

하지만 md5 암호화를 사용해서 넘겨줘야하는 문제였다.



먼저 힌트에 나와있는 HTTP_USER_AGENT값을 MD5 암호화해서 POST방식, body에 넣어주었다.




IP주소를 MD5 암호화해서 Cookie에 넣어주었다.




Burp Suite를 이용해서 설정해둔 값으로 Request를 보내서 Next를 볼 수 있었다.



다음 문제로 넘어왔다. 벌써 7번 문제인데 몇번까지 있는 지 모르겠다.



이번에는 REMOTE_ADDR을 필터링하고 GET방식으로 이게 같은지 확인하는 방식으로 되어있다.

일단 str_replace를 통해 '.'을 단 빈칸으로 바꿔준다.

즉, $_SERVER[REMOTE_ADDR]이 IP주소에서 모든 .이 사라진 값이 된다.

GET방식으로 IP를 전달하기 위해 .php?127.0.0.1=127.0.0.1로 전달할 수 있다.

여기서는 .이 모두 지워줘야 하기 때문에 .을 뺀 ip주소=.을 뺀 ip 주소 형태로 보내주면 된다.


IP주소를 GET방식으로 넘겨서 REMOTE_ADDR에 들어가게 되었고 Next를 얻어낼 수 있었다.


문제가 끝이 없는 것 같다. 계속해서 풀기로 했다.



이번에는 GET방식으로 addr을 전달하면 SERVER[REMOTE_ADDR]로 addr이 설정되게 된다.

생각해보면 SERVER[REMOTE_ADDR]을 127.0.0.1로 설정하고 addr에 아무 값이나 넣어주면 되는 것 같다.


앞 문제와 같은 방식으로 REMOTE_ADDR에 127.0.0.1을 넣어주고 addr에 아무 값이나 입력했지만 통과할 수 없었다.

혹시나 하는 생각에 addr에 127.0.0.1을 넣어주니 다음과 같이 되었다.


이 방법이 통과되긴 했지만 왜 아무 값이나 넣어줬을 때랑 다른지는 잘 이해가 되지 않았다.

좀 더 고민해봐야겠다는 생각이 들었다.


이번 포스팅에서는 8번까지 풀기로 했다. 몇번까지 있는 지 잘 모르겠지만

일단 나눠서하는게 나을 것 같다.

 



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

[webhacking.kr] Level 6  (0) 2017.09.07
[webhacking.kr] Level 33 (9~10) - END  (0) 2017.09.03
[webhacking.kr] Level 33 (1~4)  (0) 2017.08.31
[webhacking.kr] Level 38  (0) 2017.08.31
[webhacking.kr] Level 4  (0) 2017.08.29
Comments