반응형
https://webhacking.kr/challenge/web-11/
<?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>
소스 코드를 보면 $_GET['id']
로 url query id 값을 가져와서 preg_match
확인 후 admin 글자가 있다면 exit
하도록 되어 있다.
그 다음줄에서 urldecode
를 진행 하니 ASCII 코드표
를 확인 후 URL Encoding
을 한다.
한번만 인코딩 하면 접속시 'admin'으로 변경 되니 두번 인코딩 하여 ?id=%2561%2564%256d%2569%256e
으로 접속
728x90
반응형