본문 바로가기
WarGames/SQL Injection

Lord of SQL Injection : Zombie_assassin[17]

by madevth 2021. 12. 16.
반응형

[Level 17. Zombie_assassin] Sol → ?id="&pw=%231=1 ro

이번 단계도 16단계와 마찬가지로 id에 대한 결과만 있으면 clear 할 수 있는 문제이다. 하지만 addslashes와 strrev라는 문자열 reverse 함수가 사용되었다. id에 hello, pw에 bye를 넣어보면 어떤 역할인지 바로 알 수 있다.

역슬래시(\)를 아스키 코드로 바꿔서 %5C를 넣어보았다.

id=%5C&pw=%231=1 ro

\로 인식됐지만 addslashes 때문에 뒤에 \가 하나 더 붙었다.

 

' 역시 addslashes 때문에 \'가 되었다가 strrev로 인해 '\로 바뀌어서 들어간 것을 볼 수 있다.

id='&pw=32%1=1 ro

위의 두 경우에서 힌트를 얻을 수 있는데,

  • single quote (')
  • double quote (")
  • backslash (\)
  • NUL (the NUL byte)

위의 네 가지 문자는 \를 직접 쓰지 않아도 addslashes와 strrev에 의해 (문자)\로 입력되므로, (문자)부분이 따옴표를 열고 닫는데 방해가 되지 않게 한다면 16단계와 같은 트릭으로 문제를 해결할 수 있다. 그래서 "를 넣을 수 있다.

 

 

반응형

댓글