일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- restapi
- 소프트웨어 개발보안 경진대회
- 정보보호병 후기
- 인턴 지원
- Django
- 동읍면 DB
- 네이버 인턴
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- 인턴 후기
- riceteacatpanda
- PyAmdecoder
- reversing.kr
- 행정지역 DB
- SessionAttribute
- 소개딩
- Layered Architecture
- jsp
- EER
- webhacking 처음
- 3단계 지역 DB
- react
- DBMS
- frontend
- spring
- Database
- 메모리 포랜식
- 방명록 만들기
- Forensic 절차
- JSTL
- mysql
- Today
- Total
웹찢남
Alien-writeup 본문
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/admin|and|or|if|coalesce|case|_|\.|prob|time/i', $_GET['no'])) exit("No Hack ~_~");
$query = "select id from prob_alien where no={$_GET[no]}";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$query2 = "select id from prob_alien where no='{$_GET[no]}'";
echo "<hr>query2 : <strong>{$query2}</strong><hr><br>";
if($_GET['no']){
$r = mysqli_fetch_array(mysqli_query($db,$query));
if($r['id'] !== "admin") exit("sandbox1");
$r = mysqli_fetch_array(mysqli_query($db,$query));
if($r['id'] === "admin") exit("sandbox2");
$r = mysqli_fetch_array(mysqli_query($db,$query2));
if($r['id'] === "admin") exit("sandbox");
$r = mysqli_fetch_array(mysqli_query($db,$query2));
if($r['id'] === "admin") solve("alien");
}
highlight_file(__FILE__);
?>
위의 그림과 같이 id가 admin이여도 id가 admin이어도 3,4번째 조건때문에 solve를 할 수 없는 문제였다...
결국 저 문제 말대로라면 같은 query를 사용하여 admin,not admin,not admin,admin의
순서대로 값이 나와야 한다... 조건문을 사용하려해도 내가 아는 조건문은 다 차단해놨다 ㅎ...
결국 구글링 후 sleep,now()를 통해 문제를 풀기로 했다.
둘을 사용하면 다음과 같은 쿼리를 보낼 수 있다.
CLEAR!!!
'WEB_HACKING > los.rubiya.kr' 카테고리의 다른 글
Death-writeup (0) | 2020.01.30 |
---|---|
cthulhu-writeup (0) | 2020.01.30 |
Zombie-writeup (0) | 2020.01.30 |
ouroboros-writeup (0) | 2020.01.29 |
phantom-writeup (0) | 2020.01.29 |