old-46 풀이

2024. 2. 9. 17:39webhacking.kr

728x90

메인 페이지
view-source

SQL Injection 문제입니다

코드를 쭉 보니 lv에 id를 "admin"으로 만들어줄 수 있는 적절한 SQL 쿼리를 넣어주면 될 것 같습니다

그러나, lv에 preg_match()로 필터링이 적용되고 있고, str_replace()로 특수문자도 몇 가지 막혀있습니다

 

$result mysqli_fetch_array(mysqli_query($db,"select id,cash from chall46 where lv=$_GET[lv]"));

이 쿼리에서 id를 "admin"으로 만들기 위해서는 id='admin'을 or 연산으로 묶어줘야 합니다

하지만 '는 addslashes() 함수로 필터링되므로, char() 함수로 admin을 표현하여 넣어주겠습니다

hex() 함수를 사용하지 않는 이유는 if문 내 조건에서 preg_match()로 0x를 필터링하고 있기 때문입니다

 

아스키코드표

위 표를 보고 admin을 char로 표현하면 97,100,109,105,110이 됩니다

그러므로 최종 URL은 아래와 같은 형태가 됩니다

 

URL
문제 풀이 성공

728x90

'webhacking.kr' 카테고리의 다른 글

old-49 풀이  (0) 2024.02.10
old-21 풀이  (0) 2024.02.09
old-43 풀이  (0) 2024.02.07
old-61 풀이  (0) 2024.02.06
old-36 풀이  (0) 2024.02.06