일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- microsoftstore삭제
- writeup
- python3.8.1
- CTF
- 한진택배사칭
- newsecu challenge
- python3설치
- 악성코드분석
- 문자피해
- googledrivedownload
- python환경변수
- Android
- hackerfactory3번
- newsecu
- 스미싱
- 스미싱대처방법
- 스미싱대처법
- 스미싱유형
- hackerfactory
- jadx-gui
- WarGame
- 안드로이드악성코드분석
- SMiShing
- 해커팩토리
- micheck
- CJ대한통운스미싱
- jadx
- 택배사칭
- 해커팩토리3번
- write-up
- Today
- Total
끄적끄적
DarkCTF2020_web_PHP information 본문
첫번째 플래그 값을 띄워주는 부분이다. 총 4개의 플래그를 조합하여 푸는 문제이다.
php의 이해도를 요구하는 문제로 공부가 된 듯 하다.
해당 $_SERVER['QUERY_STRING'] 은 뒤의 파라미터 값을 요구한다.
$_SERVER['DOCUMENT_ROOT'] : 사이트 루트의 물리적 경로. ex) /var/www/html
$_SERVER['HTTP_ACCEPT_ENCODING'] : 인코딩 방식 ex) gzip, deflate
$_SERVER['HTTP_ACCEPT_LANGUAGE'] : 언어 ex) ko
$_SERVER['HTTP_USER_AGENT'] : 사이트 접속한 클라이언트 프로그램 정보 ex) Mozilla 같은 정보
$_SERVER['REMOTE_ADDR'] : 사이트 접속한 클라이언트의 IP ex) 123.156.***.***
$_SERVER['HTTP_REFERER'] : 현재 페이지로 오기전의 페이지 주소값
$_SERVER['SCRIPT_FILENAME'] : 실행되고 있는 파일의 전체경로 ex) /var/www/html/index.html
$_SERVER['SERVER_NAME'] : 사이트 도메인 ex) protect-us.tistory.com (virtual host에 지정한 도메인)
$_SERVER['HTTP_HOST'] : 사이트 도메인 ex) protect-us.tistory.com (접속할 때 사용한 도메인)
$_SERVER['SERVER_PORT'] : 사이트 포트 ex) 80
$_SERVER['SERVER_SOFTWARE'] : 서버의 소프트웨어 환경
ex) Apache/1.3.23 (Unix) PHP/4.1.2 mod_fastcgi/2.2.10 mod_throttle/3.1.2 mod_ssl/2.8.6Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-en) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
$_SERVER['GATEWAY_INTERFACE'] : CGI 정보 ex) CGI/1.1
$_SERVER['SERVER_PROTOCOL'] : 사용된 서버 프로토콜 ex) HTTP/1.1
$_SERVER['REQUEST_URI'] : 현재 페이지의 주소에서 도메인 제외 ex) /index.php?darkctf=2020
$_SERVER['PHP_SELF'] : 현재 페이지의 주소에서 도메인과 넘겨지는 값 제외 ex) /test/index.php
파일명만 가져올때 : basename($_SERVER['PHP_SELF']);
$_SERVER['APPL_PHYSICAL_PATH'] : 현재 페이지의 실제 파일 주소 ex) /var/www/html/
$_SERVER['QUERY_STRING'] : GET 방식의 파일명 뒤에 붙어서 넘어오는 파라미터 값 ex) ?darkctf=2020
즉, php.darkarmy.xyz:7001/?darkctf=2020 이 첫번째 플래그를 준다.
두번째 플래그는 HTTP_USER_AGENT 부분에 base64로 암호화된 것을 디코딩 한 값을 넣어주면 된다.
혹시 모르는 사람이 있을까봐...첨부했다.
세번째 플래그도 첫번쨰 플래그와 똑같은 방법으로 파라미터에 붙여주면 되고
네번째 플래그는 ==와 ===의 차이점을 알아야하며, ==의 취약점을 조금이나마 알고 있어야 가능하다.
이참에 ==와 ===를 짚고 넘어가면 좋겠다.
끝.
php.darkarmy.xyz:7001/?darkctf=2020&ctf2020=WkdGeWEyTjBaaTB5TURJd0xYZGxZZz09&karma[]=karma&2020[]=2020
'Wargame&CTF > CTF' 카테고리의 다른 글
DarkCTF2020_web_Source (0) | 2020.09.26 |
---|---|
DarkCTF2020_Linux_linux starter (0) | 2020.09.26 |
CCE2020_forensic_simple packet (0) | 2020.09.26 |
CCE2020_forensic_simple carv (0) | 2020.09.26 |
CCE2020_forensic_sharkme (0) | 2020.09.26 |