본문 바로가기
write-ups/Lord of SQL Injection

LORD OF SQLINJECTION - vampire

by 끊임없는정진 2022. 11. 29.

▶ 코드 확인

Lv. vampire 코드

 

작은 따옴표를 쓰게 되면 상단의 필터링에 걸리게 된다. 따라서 작은 따옴표 없이 풀어야함을 생각해볼 수 있다. 

strtolower을 사용하여, 전부 소문자로 교체해주기에, Lv. troll 과 같은 방법으로는 우회할 수 없다.

하단의 필터링을 자세히보면, admin이라는 단어가 있으면 없애버리고 출력함을 알 수가 있다. exit(); ,  die(); 는 없으니, admin이라는 단어만 빼고 코드실행은 계속됨은 쉽게 알 수 있다. SQL Injection WAF bypass 글에서 (3)에서 정리했다시피, 특정 단어를 빼는 경우는 해당 단어를 중간에 삽입하는 식으로 우회할 수 있다.  

 

▶ 풀이

select id from prob_vampire where id='aadmindmin'
select id from prob_vampire where id='adadminmin'
select id from prob_vampire where id='admadminin'
select id from prob_vampire where id='admiadminn'
select id from prob_vampire where id='admiadminn'

위 예시와 같이 문자열이 들어가게 되면 'admin'을 공란으로 필터링해서 남는 단어가 'admin'이 되어버리기에 클리어함을 확인할 수 있다.

Lv. vampire 클리어

 

 

'write-ups > Lord of SQL Injection' 카테고리의 다른 글

LORD OF SQLINJECTION - golem  (0) 2022.12.05
LORD OF SQLINJECTION - Skeleton  (0) 2022.11.30
LORD OF SQLINJECTION - troll  (0) 2022.11.28
LORD OF SQLINJECTION - ORGE  (0) 2022.11.26
LORD OF SQLINJECTION - darkelf  (0) 2022.11.20

댓글