본문 바로가기

wargame/WEBHACKING.kr

[WEBHACKING.kr]26

26

왠지 index.phps를 살펴봐야할 것만 같은 느낌



소스코드는 별 거 없었다



index.phps를 살펴보았다.

<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(); } // id에 "admin"이 있으면 exit

$_GET[id]=urldecode($_GET[id]); // 인코딩된 모든 %## 문자열을 디코딩한다. 

if($_GET[id]=="admin")  // id가 "admin"이라면 문제 해결
{ 
@solve(26,100); 
} 

?> 


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



우선 16진수/2진수로 바꾸어 대입하였다. 실패1



대소문자를 구별해서 써보았다. 실패2



각각의 16진수를 구해서 char로 형변환하려고 시도했다. 실패3



다시 코드를 살펴보기로 하였다. urldecode는 url 인코딩된 문자열을 디코딩한다고 한다. 그렇다면 이를 이용하여 decode된 값이 admin인 값을 입력하면 될 것 같았다. 한 번 인코딩한 값을 입력하면 디코딩되기 때문에 두 번 인코딩하여 urldecode 함수가 디코딩할 수 있게 했다. 그 결과 성공!



+) 의문인 것은 url encoder에 a, b, d와 같은 문자(열)이 들어가면 인코딩되지 않고 그대로 나온다는 점이었다.


'wargame > WEBHACKING.kr' 카테고리의 다른 글

[WEBHACKING.kr]22  (0) 2019.05.27
[WEBHACKING.kr]27  (0) 2019.05.21
[WEB]URL 인코딩, 디코딩  (0) 2019.05.21
[WEBHACKING.kr]25  (0) 2019.05.21
[WEBHACKING.kr]18  (0) 2019.05.13