네 안녕하세요. Godhaword 입니다.
<?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__);
?>
저는 일단 문제를 풀기 전에 ' or 1=1#을 쳐보고 필터링이 먹히면 어디 부분에서 먹히는건지 거꾸로 올라가보면서 문제를 풉니다.(그래도 초심자분들은 한번 코드 쫙 읽어보시기 바랍니다.)
필터링이 먹히네요
HeHe가 어디서 뜨는지 확인해보면
if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe");
or과 and가 필터링을 먹네요
어..
- 이 문제로 알 수 있는 것
- 전에 쓴 SQL 기본기 관련 글 잘 읽고오자 - Key Point
https://godhaword.tistory.com/472
https://godhaword.tistory.com/473
'web_security > Lord Of SQL' 카테고리의 다른 글
[LOS : Lord Of SQL Injection] 8번 Troll 문제 풀이 (0) | 2022.06.04 |
---|---|
[LOS : Lord Of SQL Injection] 7번 orge 문제 풀이 (0) | 2022.06.04 |
[LOS : Lord Of SQL Injection] 5번 Wolfman 문제 풀이 (0) | 2022.06.04 |
[LOS : Lord Of SQL Injection] 4번 Orc 문제 풀이 (0) | 2022.06.04 |
[LOS : Lord Of SQL Injection] 3번 Goblin 문제 풀이 (0) | 2022.06.04 |