PatriotCTF 2024

m0d0ri205·2024년 9월 23일
0

CTF

목록 보기
1/7
post-thumbnail

들어가며

PatriotCTF 2024의 write-up이다.

Web

1. giraffe notes

description : I bet you can't access my notes on giraffes!

해당 문제에 들어가면 위와 같이 사이트에 접속 할 수 있다.

Hah! Bet you cant access my notes on giraffes! They're super secure!

문제에서는 "하하! 기린에 관한 제 노트에 접근할 수 없을 거예요! 정말 안전해요!"라고 말하고 있다.

<?php
$allowed_ip = ['localhost', '127.0.0.1'];

if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && in_array($_SERVER['HTTP_X_FORWARDED_FOR'], $allowed_ip)) {
    $allowed = true;
} else {
    $allowed = false;
}
?>

하지만 코드를 보면 전혀 안전하지 않다.
먼저 isset() 함수는 $_SERVER['HTTP_X_FORWARDED_FOR'] 값이 설정 되었는지 확인합니다. 설정되지 않은 경우(프록시를 거치지 않고 직접 연결된 경우) false를 반환한다. 그리고 allowed_ip 로 허용된 값들만 허용한다.
두 조건 모두 참이여야 참으로 반환한다.

curl -H "X-Forwarded-For: 127.0.0.1" http://chal.competitivecyber.club:8081/

그래서 curl을 이용해서 위와 같이 HTTP_X_FORWARDED_FOR를 적고, 127.0.0.1로 설정해서 해당 서버에 요청을 보내주면 flag를 획득할 수 있는 문제였다.

2. Impersonate

crypto

1. idk cipher

ref.

https://fir3cr4kers.xyz/blog/2024/patriotctf-2k24#impersonate---web

profile
말하는 감자중.....

0개의 댓글