old-46 풀이
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문..
2024.02.09