본문 바로가기

보안/Wargame

[Load of SQL Injection] 5번 wolfman

728x90

Q5. wolfman

 

문제

 

해결 과정

 

* preg_match( $ pattern , $ subject, $ matches )

  문자열 안에서 특정한 정규식 패턴의 존재 여부를 찾는데 유용한 함수

 

-  $ pattern : 문자열로 검색할 패턴

  • '/a/' : a를 필터링 
  • '/\'/' : 특수문자 ' 필터링
  • '/admin/'i : i를 붙이면 대소문자 구분 없이 필터링

-  $ subject : 입력 문자열

사용자 input이 담긴 php 변수를 넣는다

-  $ matches : 사용 시 패턴에 매치되는 내용을 배열에 담아둠

 사용자가 설정한 값과 input값이 일치하는 경우 문자열 형태로 $match에 기록한다

 

> 따라서 코드를 보면 아래와 같은 문자열을 필터링하고 있다고 알 수 있다

1. prob
2.  _
3. .
4. ()
5. 공백

 

*  공백을 필터링 하고 있기 때문에 아래 공백을 대체할 문자를 사용하겠습니다

 문자 16진수(Hex)
tab %09
line feed %0a
vertical tab %0b
from feed %0c
carriage return %0d

 

 

 

id 를 admin으로 하고 공백 문자를 사용하여 문제를 진행해 보겠습니다

 


 

  • tab ( %09 ) 사용

?pw='%09or%09id='admin'%23

 

 

 

  • line feed ( %0a ) 사용

?pw='%0aor%0aid='admin'%23

 

 

 

  • vertical tab ( %0b )

 

 

  • from feed ( %0c )

 

 

  • carriage return  ( %0d )

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

[Load of SQL Injection] 7번 orge  (0) 2024.01.17
[Load of SQL Injection] 6번 darkelf  (0) 2024.01.17
[Load of SQL Injection] 4번 orc  (0) 2024.01.13
[Load of SQL Injection] 3번 Goblin  (0) 2024.01.13
[Load of SQL Injection] 2번 Cobolt  (0) 2024.01.13