김승현

[Lord Of SQLInjection] darkelf 6번 문제 write up 본문

Web/Lord Of Sql

[Lord Of SQLInjection] darkelf 6번 문제 write up

kshind 2023. 3. 12. 17:40

문제는 이렇게 생겼다. 코드를 자세히 보도록 하자.

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");

첫 번째 줄은 ./config.php 파일을 포함한다는 내용이다.

두 번째 줄은 login을 했는지 체크하는 내용이다.

세 번째 줄은 db를 연결한다.

if문은 필터링 내용이다.

필터링 내용

no hack
    1. prob
    2. _
    3. .
    4. (
    5. )
hehe
   1. or
   2. and

or과 and는 필터링을 하고 있지만 ||이나 &&을 이용해서도 or이나 and를 사용할 수 있기 때문에 한 번 사용해보자.

'||id='admin'%23

pw에 위의 내용을 입력해보자.

진짜 간단하게 풀렸다.