Old-26

2023. 8. 30. 13:32· 보안/Webhacking
반응형

Untitled.png

<?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값이 admin 이면 문제가 풀림 하지만 preg_match 함수로 “admin” 이라는 문자열이 있으면 필터링되어서 no! 라는 문자가 뜸

preg_match 필터링 우회

admin 을 URL Encoding 하여서 시도해봄

admin → %61%64%6D%69%6E

→ ?id=%61%64%6D%69%6E

Untitled.png

URL을 Encoding 하였는데 값을 넣고 요청을 보내면 URL이 admin 으로 바뀌고

Untitled.png

가 뜨는것이 확인됨

php문 내부에 GET[′id′]=urldecode(_GET['id'] = urldecode(G​ET[′id′]=urldecode(_GET['id']); 를 확인하였는데

이 코드때문에 만약 %61%64%6D%69%6E 를 한번 더 URL Encoding 하여서 GET 요청을 보내면 URL이 admin으로 바뀌는것처럼 두번 인코딩 되어져있던게 디코딩되어서 admin을 URL 인코딩 한 결과값이 서버에 전해지지 않을까?

%61%64%6D%69%6E → %2561%2564%256D%2569%256E

정답 : %2561%2564%256D%2569%256E

Untitled.png

반응형
'보안/Webhacking' 카테고리의 다른 글
  • Old-17
  • Old-06
  • Old-39
  • Old-18
Future0_
Future0_
rm -rf /
Future0_
Luna Developer Blog
Future0_
전체
오늘
어제
  • 분류 전체보기 (112)
    • 프로그래밍 (4)
      • 알고리즘 (4)
    • 보안 (14)
      • Dreamhack (4)
      • Hackthebox (1)
      • Webhacking (9)
    • 프로젝트 (4)
    • 공부 (80)
      • Database (2)
      • Python (11)
      • System (4)
      • Java (13)
      • JSP (13)
      • Spring (11)
      • Kotlin (16)
      • 자료구조 (10)
      • 기계학습 (0)
    • Docker (4)
    • Github (2)
    • Tip (1)
    • 잡담 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 프로그래밍
  • spring
  • 키 해시
  • SpringBoot
  • Kotlin
  • native app
  • 자료구조
  • webhacking
  • 보안
  • jsp
  • 상속
  • android studio 삭제
  • 1.9.22
  • 코틀린기본문법
  • cs
  • Android Studio
  • Python
  • dreamhack
  • 컴퓨터
  • Computer science
  • React
  • docker
  • api 통신
  • 자바빈즈
  • 디버깅키해시
  • Java
  • ViewModel
  • shared preference
  • Database
  • 알고리즘

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
Old-26
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.