php7cm4re
문제 설명
php 7.4
PHP란? Personal Home Page
웹 개발을 위한 프로그래밍 언어
문제 분석
링크를 타고 들어가면 아래와 같은 화면을 볼 수 있다.
input값 두 개를 알아내야 하는 것 같다. 다운로드 받은 파일에는 3개의 내부 파일이 있다. index, flag, check
check.php
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>php7cmp4re</title>
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/">php7cmp4re</a>
</div>
<div id="navbar">
<ul class="nav navbar-nav">
<li><a href="/">Index page</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<?php
require_once('flag.php');
error_reporting(0);
// POST request
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$input_1 = $_POST["input1"] ? $_POST["input1"] : "";
$input_2 = $_POST["input2"] ? $_POST["input2"] : "";
sleep(1);
if($input_1 != "" && $input_2 != ""){
if(strlen($input_1) < 4){
if($input_1 < "8" && $input_1 < "7.A" && $input_1 > "7.9"){
if(strlen($input_2) < 3 && strlen($input_2) > 1){
if($input_2 < 74 && $input_2 > "74"){
echo "</br></br></br><pre>FLAG\n";
echo $flag;
echo "</pre>";
} else echo "<br><br><br><h4>Good try.</h4>";
} else echo "<br><br><br><h4>Good try.</h4><br>";
} else echo "<br><br><br><h4>Try again.</h4><br>";
} else echo "<br><br><br><h4>Try again.</h4><br>";
} else{
echo '<br><br><br><h4>Fill the input box.</h4>';
}
} else echo "<br><br><br><h3>WHat??!</h3>";
?>
</div>
</body>
</html>
오답을 제출할 경우 아래와 같은 화면을 확인할 수 있다.
위의 코드에서 아래의 부분이 flag를 획득할 수 있는 중요한 부분인듯 하다.
PHP는 문자열을 아스키코드 기반으로 비교하기 때문에 위와 같은 로직을 볼 수 있는 것이다.
[: ; < = > ? @] 중 하나를 7. 뒤에 입력하면 된다.
문자열을 숫자로 변환할 때, 가능한 가장 큰 십진수로 대체하기 때문에 74 ~ 5552 사이의 아스키코드를 입력하면 된다.
77은 아스키코드로 M이라서 그 사이의 값을 입력해준다.
그러면 아래와 같은 결과를 확인해볼 수 있다.
성공!
<참고>
Flying Chars
문제 설명
날아다니는 글자들을 멈추는 방법을 알아야 한다.
화면을 확인해보니 일단.. 해리포터 열쇠키 마냥 날아다녀서 눈으로는 확인할 수 없다...
문제 분석
문자를 어디서 확인할 수 있는가?
어떻게 멈출 수 있는가?
우선적으로 이 두 문제를 해결해야 한다.
F12를 눌러 개발자 도구를 확인해본 결과.. 아래와 같이 여러 이미지들이 떠다니는 것임을 알 수 있다.
아래와 같은 순서대로 그림을 조합하면 {Too_H4rd_to_sEe_th3_Ch4rs_x.x} 의 결과가 나온다!
문제 해결!
'SWLUG > CTF' 카테고리의 다른 글
[CTF/Dreamhack] pathtraversal (0) | 2024.05.11 |
---|---|
[CTF/Dreamhack] baby-union (0) | 2024.05.06 |
[CTF/Dreamhack] phpreg (0) | 2024.05.06 |
[CTF/Dreamhack] devtools-sources & Carve Party (1) | 2024.04.27 |
[CTF/Dreamhack] cookie & session (2) | 2024.04.27 |