목표 : 더블 URL 인코딩
단순 소스 보는 기능만 있다.
<?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>
PHP
복사
get으로 받는 id인자가 admin이면 해결되지만 정규식으로 admin을 필터링하고 있다.
그냥 아스키값으로 변환해서 입력하거나 사이에 null값을 넣으면 될듯 하다
a= 97 = %61 = %2561 (더블 URL 인코딩)
urldecode 함수가 이미 앞에 있기에 더블인코딩을 했다
CyberChef를 이용해서 인코딩
%2561dmin 을 입력하면 된다