728x90

1. 보물

처음엔 페이지 3개중 하나를 디코딩하면 flag가 나오는 그런 형식일줄 알았는데 쿼리에서 page=4도 나와서 무작위대입을 해봤다.

import requests
url = 'http://ctf.j0n9hyun.xyz:2025/?page='
i = 0
while True:
    i = i + 1
    response = requests.get(url+str(i))
    if "Hack" in response.text:
        print(i)
        break
    print(i)

쓰읍.......

 

 

 

2. Guess me

php 쿼리로 받는 변수는 각 guess, filename, secretcode로 총 3가지다. 

secretcode와 guess 변수가 같아야 통과하는데, secretcode변수는 secret.txt의 trim이다. 근데 쿼리로 filename을 조작할 수 있게 만들어 놨으니, 파일 이름을 바꿔주면 secretcode는 NULL이 된다.(실제로 null값을 리턴하는진 모르겠다. 아무튼 없다는 말임)

 

 

 

3. Read File

command에 있는 주소로 이동한다. 파일 이름은 flag.php

문자열을 필터링한다. 필터링을 우회하는 방법은 여러가지가 있는데, 보통 flag을 우회하려면 flflagag 이런식이나, 문자열 선언방식을 바꾸거나, ascii코드로 넣어주는등 아주 다양하다. 허나 소스코드가 없으므로 노가다를 해야한다.

 

 

 

4. Login

<?php
highlight_FILE(__FILE__);
require_once("dbcon.php");

$id = $_GET['id'];
$pw = $_GET['pw'];
$pw = hash('sha256',$pw);

$sql = "select * from jhyeonuser where binary id='$id' and pw='$pw'";
$result = mysqli_fetch_array(mysqli_query($db,$sql));

if($result['id']){
        $_SESSION['id'] = $result['id'];
        mysqli_close($db);
        header("Location:welcome.php");
}
?>

우선 pw는 hash값이라 생각하지 않는다.  sql 쿼리를 보니 전형적인 sql_injection인것 같다. 

sql injection은 los.rubiya.kr/ 이게 짱이다

 

admin'#

 

 

작년 4월쯤에 학교 선배랑 진행한 웹 스터디에서 배웠다. 그땐 그분이 엄청 대단하다는걸 몰랐지...  지금생각하면 어떻게 그런분이랑 같이 스터디를 했는지 믿기지도 않는다/

 

 

 

 

 

5. 마법봉

이 문제는 사진도 조금 그렇고 별로였다. 

<?php
show_source(__FILE__);
$flag = "if_you_solved";
$input = $_GET['flag'];
if(md5("240610708") == sha1($input)){
    echo $flag;
}
else{
    echo "Nah...";
}
?>

hash값의 특정 취약한 값 하나를 주제로 한 문제다.  음.........

원리는 지수승의 밑이 0인데 php에서 ==구문을 처리할때의 특성때문에 다 같은 0으로 나온다고 한다.

이 수를 찾는 과정이 궁금해진다.

 

728x90

'web > HackCTF' 카테고리의 다른 글

Rate50 (3문항)  (0) 2021.03.17
728x90

1. /

robots.txt.라고 봇을 방지하는 약속이라고 하는데 정확하게 어떤 방법으로 구현되어있는지는 모르겠다

하지만 학교사람들이랑 문제를 풀때 꼭 확인을 한다. 그걸 확인해라는 문제인듯

봇은 /robot_flag 에 접근할 수 없다.  드가자 드가자~

2. Hidden

쿼리에 변수가 그대로 노출되어 있어서 조작이 가능하다. 난도가 낮은 문제라 따로 권한 설정을 안해줬다

이렇게 쿼리가 그대로 노출되는 방식을 뭐라고 불렀는데 이름은 딱히 중요치 않은것같다

3. Button

소스코드도 없고 의도가 뭔지 모르겠어서 버프 슈트로 쿼리를 볼려고 했다.

아마 value를 flag로 바꾸면 되지 않을까 싶었다

위의 2개의 문항은 플래그를 가렸는데 생각해보니 다른글도 다 나와있고 풀이가 있는데 답을 가릴 이유는 없다고 생각해서 그냥 올린다 :D

728x90

'web > HackCTF' 카테고리의 다른 글

Rate 100 (5문항)  (0) 2021.03.18

+ Recent posts