Description

Category: Web

Source: webhacking.kr

Points: 100

Author: Jisoon Park(js00n.park)

Description:

Write-up

문제 페이지를 열어보면 일단 소스코드를 보라고 한다.

<html> 
<head> 
<title>Challenge 26</title> 
<style type="text/css"> 
body { background:black; color:white; font-size:10pt; }     
a { color:lightgreen; } 
</style> 
</head> 
<body> 

<? 

if(eregi("admin",$_GET[id])) { echo("<p>no!"); exit(); } 

$_GET[id]=urldecode($_GET[id]); 

if($_GET[id]=="admin") 
{ 
@solve(26,100); 
} 

?> 


<br><br> 
<a href=index.phps>index.phps</a> 
</body> 
</html>

urldecode를 했을 때 "admin"이 되는 문자열을 넣어달라고 한다.

burp suite의 Decoder 도구를 이용해서 "admin" 문자열을 urlencode하자.

urlencode한 문자열을 GET을 통해 보내도록 되어 있는데, urlencode를 한번 한 문자열을 그대로 보내면 php에는 자동으로 decode 되어 전달된다.

자동으로 decode 되어도 문제 코드에서 다시 한번 urldecode를 수행했을 때 정상적으로 "admin" 문자열을 얻을 수 있도록 urlencode를 두번 수행한다.

얻어낸 문자열 %25%36%31%25%36%34%25%36%64%25%36%39%25%36%65을 아래와 같이 GET 메소드를 이용해서 전송하면 점수를 획득할 수 있다.

http://webhacking.kr/challenge/web/web-11/?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65

'writeups > Web' 카테고리의 다른 글

webhacking.kr 038  (0) 2019.11.23
webhacking.kr 032  (0) 2019.11.23
webhacking.kr 025  (0) 2019.11.23
webhacking.kr 015  (0) 2019.11.23
webhacking.kr 014  (0) 2019.11.23

+ Recent posts