web_security/Lord Of SQL

[LOS : Lord Of SQL Injection] 11번 Golem 문제 풀이

HawordFREAKEK 2022. 6. 4. 16:12

네 안녕하세요. Godhaword 입니다.

바로 문제보시죠

<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 
  if(preg_match('/or|and|substr\(|=/i', $_GET[pw])) exit("HeHe"); 
  $query = "select id from prob_golem 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>"; 
   
  $_GET[pw] = addslashes($_GET[pw]); 
  $query = "select pw from prob_golem where id='admin' and pw='{$_GET[pw]}'"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("golem"); 
  highlight_file(__FILE__); 
?>

오랜만에 보는 Blind SQL Injection 인데.. 뭔가 맛이 없어보입니다.

다시 4번 orc 문제 풀었을 때 썼던 코드를 불러와봅시다.

 

돌려놓고 에스파 직캠보고 왔습니다.

= : like
substr : mid 로 바꾸어놓고 왔습니다.

문제가 쉽기도 한데 쉬운 이유가 이전에 짧게짧게 풀렸던 기본기문제 덕분입니다.

Blind SQL Injection은 코딩 실력과 필터링 실력이 같이 올라간다기보단 필터링 공부하면 필터링 실력만 쭉 늘고 코딩만 하면 코딩 실력이 쭉느는 그런 느낌이기 때문에
"아.. 나는 코딩에 재능이 없나..?"
하면 필터링 관련 문제만 푸시고
"필터링 재미 1도 없네"
싶으시면 코딩만 주구 장창 해보시길 바랍니다.

https://godhaword.tistory.com/472
https://godhaword.tistory.com/473

 

[WebHacking] SQLI(SQL Injection) 필터링 우회 및 기법 총 정리

네 안녕하세요. Godhaword 입니다. 저번에 SQLI 관련 글을 쓰면서 큰 기초 뼈대 위주로 설명을 드렸습니다. https://godhaword.tistory.com/472 [WebHacking] SQLI(SQL Injection) 이란?(New) 네 안녕하세요. Godh..

godhaword.tistory.com

 

[WebHacking] SQLI(SQL Injection) 이란?(New)

네 안녕하세요. Godhaword 입니다. 원래 1주일에 하나 정도 쓸까 생각했는데 XSS 이야기 하면서 SQL Injection 이야기를 너무 비중있게 다뤘더라구요. 예전에 글을 썼던 2019년의 제가 생각하던 웹 해킹(We

godhaword.tistory.com

 

필터링 및 우회 방법은 위의 글 읽어보시길 바랍니다.

 

  • 이 문제로 알 수 있는 점
    - 문제가 쉬워진게 아니라 문제를 푸는 사람의 실력이 올라간 것 입니다.
  • Key Point

    =   :  like
substr  :  mid