Wargame/webhacking.kr
old - 18
bento
2023. 11. 21. 22:59
webhacking.kr
old-18
https://webhacking.kr/challenge/web-32/
Challenge 18
webhacking.kr
if(preg_match("/ |\\/|\\(|\\)|\\||&|select|from|0x/i",$_GET['no'])) exit("no hack");
공백, /, (, ), |, select, from, 0x, 을 필터링 하는 것을 확인 가능
mysqli_query($db,"select id from chall18 where id='guest' and no=$_GET[no]")); // admin's no = 2
우리는 admin으로 id를 바꿔야 하는데 구문에선 guest로 정해져 있으므로 이걸 우회시켜야 한다
admin은 2라고 알려준다
select id from chall18 where id='guest' and no=**2 or no=2**
guest 부분은 거짓으로, or 뒷 부분은 우리가 원하는 2을 넣어줘서 무조건 참으로 admin 이게 만든다
2 or no=2 을 칸에 넣어주게 되면 앞에서 봤던 필터링에 걸리게 된다
GET방식을 사용하고 있으니 우리가 직접 바로 url에 넣어보기로 한다
url에 넣어주기 위해 공백을 %09로 바꿔준다(tab)
?no=2%09or%09no=2
728x90