(Lord of SQLInjection) zombie_assassin 문제입니다.
문제코드를 살펴보면
이전 문제와 동일하게 쿼리가 성공하기만 하면 된다고 합니다.
이전 코드처럼 or 1=1 #을 이용하면 될것이고
필터링도 같으니 새로운 부분만 살펴보면
addslashes함수와 strrev함수를 사용하고 있습니다.
addslashes함수는 싱글쿼터 더블쿼터 공백 앞에 \ 문자를 추가해 인식하지 못하게 합니다.
\' 같은 형식으로요.
근데 strrev함수는 문자열을 뒤집는 함수 입니다.
즉 addslashes함수가 \' 형태로 문자를 인식못하게 해도 문자열을 뒤집어서 인식이 되는 취약점이라고
볼 수 있습니다.
다만 이전 서큐버스와 동일하게 \를 입력한다면 \\ 가 되어 문자로 인식되니
\ 와 ' 를 제외한 다른 두가지 공백과 더블쿼터를 사용해야 합니다.
그래서 " 쿼터를 입력해 식을 구성해보면
id="&pw=or 1=1#
id="&pw=%231=1%20ro
첫번째 코드와 같이 식이 가능합니다.
다만 pw부분도 strrev함수가 적용되어 있기에 or 1=1# 부분도 뒤집어 입력하는 것이 필요합니다.
해서 %231=1%20ro 로 식을 입력해주면
문제가 해결되었습니다.
'Wargame(Web) > Lord of SQLInjection' 카테고리의 다른 글
(Lord of SQLInjection) xavis 문제 (0) | 2022.09.21 |
---|---|
(Lord of SQLInjection) nightmare 문제 (0) | 2022.09.19 |
(Lord of SQLInjection) succubus 문제 (0) | 2022.08.31 |
(Lord of SQLInjection) assassin 문제 (0) | 2022.08.24 |
(Lord of SQLInjection) giant 문제 (0) | 2022.08.24 |