티스토리 뷰

Wargame/Webhacking.kr

Challenge 33

do9dark 2015. 8. 10. 22:32

문제 페이지를 보면 33-1 문제 소스 파일이 주어져 있다.



소스 파일을 보면 GET 방식으로 get=hehe를 보내주면 다음 페이지로 넘어갈 수 있다.




33-2 문제도 소스 파일이 주어져 있다.



33-2 문제는 POST 방식으로 post=hehe&post2=hehe2를 보내주면 된다.




위와 같이 burp suite를 이용해서 풀어도 되고 자바스크립트 콘솔을 이용해서도 풀 수 있다.


document.body.innerHTML+="<form action='"+location.href+"' method='POST' id='do'><input type='hidden' name='post' value='hehe'><input type='hidden' name='post2' value='hehe2'></form>"; document.getElementById("do").submit();




33-3 문제도 소스 파일이 주어져 있다.



GET 방식으로 myip=자신의 IP 주소를 보내주면 된다.




33-4 문제는 소스 파일과 hint가 주어져 있다.



hint를 보면 time() 값이 나와 있고 33-4 문제 페이지를 요청할 때 time() 값을 md5한 값을 GET 방식으로 password로 보내주면 된다.




33-5 문제도 소스 파일이 주어져 있다.



33-5 문제는 GET, POST, COOKIE 값을 동시에 보내면 된다.



아래와 같이 POST 방식으로 GET 파라미터 값, POST 파라미터 값, COOKIE 값을 추가해서 보내주면 된다.



위와 같이 burp suite를 이용해서 풀어도 되고 자바스크립트 콘솔을 이용해서도 풀 수 있다.


document.body.innerHTML+="<form action='"+location.href+"?imget=ok' method='POST' id='do'><input type='hidden' name='impost' value='ok'></form>"; document.cookie="imcookie=ok"; document.getElementById("do").submit();



33-6 문제는 hint로 User-Agent 값과 소스 파일이 주어져 있다.



COOKIE로 test=md5("자신의 IP 주소")와 POST 방식으로 kk=md5("User-Agent 값")을 보내주면 된다.




위와 같이 burp suite를 이용해서 풀어도 되고 자바스크립트 콘솔을 이용해서도 풀 수 있다.


document.body.innerHTML+="<form action='"+location.href+"' method='POST' id='do'><input type='hidden' name='kk' value='11bc57666e7cdae15fc18b11e009bfae'></form>"; document.cookie="test=da053226f7a471ce88c9d57aa50c344e"; document.getElementById("do").submit();




33-7 문제도 소스 파일이 주어져 있다.



33-7 문제는 자신의 IP 주소에서 .(dot)을 없앤 값을 파라미터 변수와 값으로 GET 방식으로 보내면 된다.




33-8 문제도 소스 파일이 주어져 있다.



33-8 문제에서 주의 깊게 봐야하는 부분은 extract() 함수이다.

이 함수는 extract($array); 형태로 사용한다.

예)

$arr[x] = 89;

$arr[y] = 25;

extract($arr);

로 작성하면 

$x = 89;

$y = 25;

로 배열의 인덱스와 값들을 변수화 시켜주는 함수이다.


register_globals = On, Off 와 관련되어 있는 함수 


따라서, addr=127.0.0.1로 보내주면 된다.




33-9 문제도 소스 파일이 주어져 있다.



33-9 문제 소스 파일을 보면 for()문을 거쳐서 나온 값을 GET 방식으로 ans 값으로 보내주면 된다.



자바스크립트 콘솔을 이용해서 풀어도 되고 해당 PHP 코드를 이용해서도 간단하게 풀 수 있다.


for(var ch="", i=97; i<=122; i+=2) { ch+=String.fromCharCode(i); } document.body.innerHTML+=(ch);


위 코드를 실행하면 acegikmoqsuwyacegikmoqsuwy 값을 구할 수 있고 이 값을 ans로 보내주면 된다.



33-10 문제도 소스 파일이 주어져 있다.



33-10 문제는 앞의 문제보다 조금 더 여러 함수들을 써서 복잡하게 만들어 뒀다. 



33-10 문제는 위 소스를 복사해서 아래와 같이 작성한 다음 실행하면 쉽게 값을 알아낼 수 있다.




해당 값으로 파일이 생성되어 있기 때문에 실제 경로로 이동해보면 문제를 풀 수 있다.




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

Challenge 38  (0) 2015.08.13
Challenge 37  (0) 2015.08.12
Challenge 36  (0) 2015.08.12
Challenge 35  (0) 2015.08.12
Challenge 34  (0) 2015.08.12
Challenge 32  (0) 2015.08.10
Challenge 31  (0) 2015.08.09
Challenge 30  (0) 2015.08.09
Challenge 29  (0) 2015.08.07
Challenge 28  (0) 2015.08.07
댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
공지사항
Total
Today
Yesterday