본문 바로가기

Web Hacking/Webhacking.kr

[Webhacking.kr] old-46 write up

 

 

문제이다! 친절히 SQLI 문제라고 알려주고 있다. 코드를 구경해보자.

 

 

먼저 문제가 해결되는 조건부터 살펴본다.

 

db에 쿼리문을 날려 조회된 id값이 admin일 경우 해결된다. 쿼리문은 다음과 같다.

 

select id, cash, from chall46 where lv=$_GET[lv]

 

싱글쿼터도 없기 때문에 싱글쿼터 탈출은 생각안해도 된다. 필터링 역시 str_replace함수로 대체만 해주기 때문에 두 번 써주면 모두 우회가 된다. 

내가 생각하는 페이로드는 다음과 같다.

 

앞 조건 lv=? 거짓을 만든 후 or id='admin'을 해서 참을 만들어준다. 그러나 addslashes로 싱글쿼터를 필터링하고 있기 때문에 싱글쿼터는 못 쓴다. 대신 char함수나 16진수, 2진수, concat 함수 이용 등등 너무 많은 방법이 있지만 이번엔 2진수를 이용해보자.

 

lv=0%09or%09id=0b110000101100100011011010110100101101110

 

'Web Hacking > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-43 write up  (0) 2024.03.17
[Webhacking.kr] old-49 write up  (0) 2024.03.17
[Webhacking.kr] old-8 write up  (0) 2024.03.12
[Webhacking.kr] old-21 write up  (0) 2024.03.01
[Webhacking.kr] old-27 write up  (0) 2024.03.01