본문 바로가기

웹해킹/webhacking.kr

old-26 롸업(webhacking.kr)

문제에 접속하면 그냥 view-source 하나만 덩그러니 있어서 바로 확인해보았다.

<?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의 urldecode 값이 admin이면 풀린다.

근데 preg_match 때문에 /admin/에 id가 들어있으면 안된다.

admin을 url 인코딩 표로 보고 인코딩 된 값으로 바꾸면 %61%64%6d%69%6e 이렇게 나온다.

근데 이걸 url에 그대로 쳐도 자동으로 디코딩이 되면서 admin으로 바뀐다.

%61%64%6d%69%6e 이 값을 한번 더 인코딩 해 보면 %2561%2564%256d%2569%256e

이걸 id로 넣어주면

풀린다.

'웹해킹 > webhacking.kr' 카테고리의 다른 글

old-32 롸업(webhacking.kr)  (0) 2023.12.08
old-27 롸업(webhacking.kr)  (0) 2023.12.07
old-25 롸업(webhacking.kr)  (0) 2023.12.07
old-24 롸업(webhacking.kr)  (0) 2023.12.06
old-23 롸업(webhacking.kr)  (0) 2023.12.06