도카이트

[Wargame] Lord of SQL Injection - succubus 본문

Wargame/Lord of SQL Injection

[Wargame] Lord of SQL Injection - succubus

dodoh4t 2022. 6. 10. 22:36
728x90
반응형

문제 화면

[LoS - succubus]

- preg_match 함수로 범벅을 해놓은 코드를 볼 수 있다.

- 일부 특수문자들을 필터링하는 No Hack 부분은 이전 문제들부터 존재했으므로 생략하고,

- id 와 pw 값에 대하여 두 값 모두 싱글 쿼터를 필터링 하고 있다.

 - $result 로 id 값을 불러오되, id 가 참이 되면 문제가 clear 되는 듯 하다.

 

 

싱글 쿼터의 우회 기법에 대해서 이전 문제들을 풀어보면서 찾아보았을 때, 항상 모습을

비췄던 것 중 하나가 백슬래시(\)를 이용한 우회 기법이 있다.

 

succubus 문제가 id, pw 두 개의 파라미터 값을 입력해야함과 동시에 싱글 쿼터를 필터링하므로,

해당 기법을 이용하여 해결하는 문제가 아닌가 싶다..! 그럼 백슬래시를 이용하여 싱글 쿼터를 우회해보자!

 

 

백슬래시(\)를 이용한 싱글 쿼터 우회

[백슬래시를 이용한 싱글 쿼터 우회]

- 위 예제에 사용한 구문은 다음과 같다.

- id=\&pw=or 1=1%23

- pw 보다 앞에 위치한 id 값에 백슬래시(\)를 단일로 입력한 후, pw 값에 or 1=1%23 을 입력한다.

- 싱글 쿼터로 감싸진 id 값 안에서 백슬래시를 입력할 경우, 백슬래시 뒤의 싱글 쿼터가 문자열로 인식되며,

- id=’\’ and pw=’ 굵게 표시한 부분이 id 값에 입력한 문자열로 인식되게 된다.

- 따라서 pw 값을 감싸야할 or 앞의 싱글 쿼터가 사라지게 되며,

- pw 값에 참이 되게 하는 구문을 작성 후 주석 처리를 해주면, 싱글 쿼터를 우회하여 값을 참이 되게 만들 수 있다.

- 백슬래시를 이용한 싱글 쿼터 필터링 우회를 통해 성공적으로 succubus 문제를 Clear 할 수 있다!

728x90
Comments