[Webhacking.kr] 26번

2017. 9. 6. 23:36

25번은 들어가면 index.phps라는 링크만 있다. 소스를 보고 풀라는것 같으니 바로 보도록 하자


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
<html
<head
<title>Challenge 26</title
<style type="text/css"> 
body { background:black; color:white; font-size:10pt; }     
{ 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
cs


소스는 위와 같다.


GET으로 id값을 받아서 값에 admin이 있으면 exit한다.


그게 아니면 GET으로 받은 id값을 urldecode하고


그 값을 문자열 "admin"과 비교해서 같으면 solve로 간다.


admin을 urlencode한 값을 넣어주면 풀릴것같다. admin을 url인코딩표(아스키코드표)로 보고 인코딩하면 %61%64%6d%69%6e이다.


이것을 id로 입력하였으나. 저 값이 admin으로 자동으로 디코딩되어버려서 eregi함수에 의해 막혀버린다. (%61%64%6d%69%6e은 웹에서 admin과 같은것이다.) 그래서 저 값을 한번더 인코딩해서 넣어주면 디코딩된 것이 넣어지므로  %61%64%6d%69%6e이 넣어질 것이다.


인코딩 사이트 : http://www.convertstring.com/ko/EncodeDecode/UrlEncode

    https://meyerweb.com/eric/tools/dencoder/


 %61%64%6d%69%6e을 인코딩해서 %2561%2564%256d%2569%256e을 얻었다. 이 값은 eregi에 의해 막히지 %61%64%6d%69%6e로 들어가서 내부에서 디코딩되어 admin이 될것이다.


You have cleared the 26 problems.

Score + 100


클리어~

'Wargame > 웹해킹(Webhacking.kr)' 카테고리의 다른 글

[Webhacking.kr] 32번  (0) 2017.09.18
[Webhacking.kr] 27번  (0) 2017.09.06
[Webhacking.kr] 25번  (0) 2017.09.06
[Webhacking.kr] 24번  (0) 2017.09.06
[Webhacking.kr] 19번  (0) 2017.09.06

+ Recent posts