반응형

소스보기

<?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으로 바로 접근하면 no라는 메세지가 나오고 id값은 urldecode한 값이 admin이 나오도록 하면된다.

간단하게 admin을 encoding해서 id값에 넣어주자

url표 참조

https://overcode.tistory.com/entry/HTML-Encoding-ReferenceURL-%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9D%84-%EC%95%84%EC%8A%A4%ED%82%A4-%EB%AC%B8%EC%9E%90%EB%A1%9C-%EB%B3%80%ED%99%98



%61%64%6D%69%6E 이다

복사해서 넣어주면 ?id=%61%64%6D%69%6E로 접속하지만 ?id=admin으로 바껴서 전송되는 모습을 볼수있다.

웹 서버와 브라우저 사이에서 데이터 교환 시 브라우저는 폼에서 입력받은 데이터를 자동으로 인코딩한 값을 PHP서버로 보내고 PHP는 받은 인코딩된 값을 자동으로 디코딩한다고 한다.

그렇다면 위 값을 한번더 인코딩 하면 아마 접속할수 있을거 같다.

https://www.url-encode-decode.com/로 들어가서 간편하게 변환해보자

%2561%2564%256D%2569%256E위 값을 넣고 돌리면 해당값을 얻을수 있다.

이제 이값으로 ?id=%2561%2564%256D%2569%256E로 접속하면 성공!



반응형

'보안 > webhacking' 카테고리의 다른 글

webhacking.kr old-28  (0) 2019.12.01
webhacking.kr old-27  (0) 2019.11.28
webhacking.kr old-25  (0) 2019.11.28
webhacking.kr old-24  (0) 2019.11.27
webhacking.kr old-23  (0) 2019.11.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기