<?php
if($_GET['view_source']){ highlight_file(__FILE__); exit; }
?><html>
<head>
<title>Challenge 44</title>
</head>
<body>
<?php
if($_POST['id']){
$id = $_POST['id'];
$id = substr($id,0,5);
system("echo 'hello! {$id}'"); // You just need to execute ls
}
?>
<center>
<form method=post action=index.php name=htmlfrm>
name : <input name=id type=text maxlength=5><input type=submit value='submit'>
</form>
<a href=./?view_source=1>view-source</a>
</center>
</body>
</html>
id 폼 입력값을 그대로 넣는다.
5글자만 가능하다.
ls 를 실행시키면 된다.
';ls' 를 썼다.

풀었다!
인줄 알았으나 저건 flag가 아니라 flag 파일이다. 즉, 저 파일을 읽어야 flag를 알 수 있는 것.
근데 명령어 부분 보면 ';' 이 세 바이트는 무조건 써야하는데, 어떻게 해야 할까 고민했다.
그러다가 문득 그냥 파일 접근해볼까 해서 /flag파일이름 으로 접근해봤다.

풀었다!
'Web > webhacking.kr' 카테고리의 다른 글
| Webhacking.kr old-42 (0) | 2025.05.28 |
|---|---|
| Webhacking.kr g00gle1 (0) | 2025.05.27 |
| Webhacking.kr old-03 (0) | 2025.05.09 |
| Webhacking.kr old-56 (0) | 2025.05.08 |
| Webhacking.kr old-07 (0) | 2025.05.08 |