Old-26 Domain & Tool
- 구분 : 코드 읽기
- 문제풀이에 사용된 도구
- Chrome 103.0.5060.66
Old-26 Question & Answer
view_source 한 버튼만 있는 문제이다. source를 친절하게 확인하라고 a태그를 걸어주었으니, 확인해보자
<?php
include "../../config.php";
if($_GET['view_source']) view_source();
?><html>
<head>
<title>Challenge 26</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
a { color:lightgreen; }
</style>
</head>
<body>
<?php
if(preg_match("/admin/",$_GET['id'])) { echo"no!"; exit(); }
$_GET['id'] = urldecode($_GET['id']);
if($_GET['id'] == "admin"){
solve(26);
}
?>
<br><br>
<a href=?view_source=1>view-source</a>
</body>
</html>
admin이라는 파라미터를 id값으로 넘기면 되는데, 이를 urldecode한 값이 admin이면 된다. 근데 이 admin은 urldecode하기전에 preg_match로 필터링된다.
우선 admin의 urlencodeing 값은 %61%64%6D%69%6E 이다. 단 이 값이 id로 들어가서 서버에 입력될때는 자동으로 urldecode가 이루어진다.
그러니, 어짜피 코드에 urldecode가 한번더 있음을 착안해서 %61%64%6D%69%6E 이 값의 url encoding을 한번 재수행해서 전송하자 해당 값은 %2561%2564%256D%2569%256E 이다.
NICE
'WarGame > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-28 Answer (0) | 2022.07.29 |
---|---|
[Webhacking.kr] old-27 Answer (0) | 2022.07.28 |
[Webhacking.kr] old-25 Answer (0) | 2022.07.28 |
[Webhacking.kr] old-24 Answer (0) | 2022.07.27 |
[Webhacking.kr] old-23 Answer (0) | 2022.07.27 |