[Writeup]/[Lord of SQLInjection] nightmare
2025. 3. 5. 20:53ㆍHacking/WebHacking Wargame Writeup
if(preg_match('/prob|_|\\.|\\(\\)|#|-/i', $_GET[pw])) exit("No Hack ~_~");
if(strlen($_GET[pw])>6) exit("No Hack ~_~);
→ pw에서 (prob, _, ., (), #, -)를 필터링한다.
→ pw의 입력값의 길이가 6이 넘지 않아야한다.
→ 6자 이내로 id가 admin과 다르다고 설정한 후 우회한다.
풀이
→ pw의 입력값을 괄호로 막아주기 위해 ‘)’를 사용
→ MySQL은 쿼리를 읽을 때 NULL을 만나면 멈추는데, 이 점을 이용해서 ;%00을 사용해준다.
⇒ pw값이 참이 되도록 만드는 것에 중점을 둔다.
[도메인 값]?pw=')';%00
-> 클리어 창이 뜬다.
'Hacking > WebHacking Wargame Writeup' 카테고리의 다른 글
[WriteUp]/[Lord Of SQLInjection] dragon (0) | 2025.03.07 |
---|---|
[WriteUp]/[Lord of SQLInjection] xavis (0) | 2025.03.07 |
[Writeup]/[Lord Of SQLInjection] zombie_assassin (0) | 2025.03.05 |
[Writeup]/[Lord Of SQLInjection] succubus (0) | 2025.03.05 |
[Writeup]/[Lord Of SQLInjection] assassin (0) | 2025.03.05 |