26번 문제 페이지에 들어가면 아래와 같은 화면이 나온다.
view-source를 눌러 소스코드를 확인해 보았다.
1. id값이 admin이면 문제가 풀림
2. preg_match 함수로 admin이 필터링 됨
3. id값을 url decode함
<?php
if(preg_match("/admin/",$_GET['id'])) { echo"no!"; exit(); }
$_GET['id'] = urldecode($_GET['id']);
if($_GET['id'] == "admin"){
solve(26);
}
?>
풀이
- id(admin) 값을 encode해서 입력해보자
아래 표를 참고하면 admin 값을 url 인코딩 했을 때의 값은
%61%64%6D%69%6E
url 뒤에 id=%61%64%6D%69%6E 를 넣었는데 자동으로 디코딩 되어 들어감
따라서 %61%64%6D%69%6E의 값을 한 번 더 인코딩 해서 넣어주면 문제가 풀릴 것이다.
https://www.convertstring.com/ko/EncodeDecode/UrlEncode#google_vignette
URL 인코딩 - 온라인 URL 인코더
www.convertstring.com
%2561%2564%256D%2569%256E
인코더 사이트를 이용해 다시 인코딩한 값을 id값에 넣어보자.
'Wargame > Web' 카테고리의 다른 글
[Webhacking.kr] g00gle1 (0) | 2024.11.08 |
---|---|
[Wargame.kr] strcmp (0) | 2024.05.11 |
[Webhacking.kr] RPG 1 (0) | 2024.03.23 |
[Webhacking.kr] 웹 해킹 old-45번 문제 풀이 (0) | 2024.01.09 |
[Webhacking.kr] 웹 해킹 old-47번 문제 풀이 (0) | 2023.11.18 |