CTF5 WITHCON 2022 Buffalo [Steal] Write Up 문제 Docker 1. 해당 문제의 경우 회원 가입을 하거나 토큰을 송금할 때 PoW(작업 증명)을 해야하는데, 아래의 Python Code를 이용하여 작업을 증명을 진행했습니다. ※ PoW 한 번당 대략 5초 정도 걸림 import hashlib import itertools import string words="abcdefghijklmnopqrstuvwxyz12345678890" pow_list = itertools.product(words, repeat=5) for i in pow_list: value = hashlib.sha1(''.join(i).encode()).hexdigest() if(value[0:5]=="ad1a4"): print("Correct",''.join(i)) break else.. 2022. 10. 15. [CCE 2022] blue archive Write Up 문제 Docker blue archive - web.zip Dropbox를 통해 공유함 www.dropbox.com 해당 문제의 경우 시간 안에는 풀지는 못했지만, 이후 Docker File을 이용하여 Flag를 획득한 문제 입니다. 돌이켜보면, 충분히 풀 수 있었던 문제인데 조급하게 다가갔던 것 같습니다. ㅠㅠ 1. 해당 문제는 URI를 입력하면 headless Browser로 접속을 시도한 뒤, Rendering된 화면을 캡쳐 후 보여주는 서비스가 구현되어 있습니다. 2. 이때 사용자가 입력한 URI는 반드시 http 또는 https로 시작해야 합니다. router.post('/archiveSave', async (req, res) => { const { url } = req.body; if (typ.. 2022. 9. 25. [CCE 2022] BabyWeb Write Up 문제 Docker 1. 입력 창에 url을 입력하여 전송할 경우 url.parse 함수를 통해 hostname을 추출한 뒤, hostname이 flag.service일 경우 Not allow를 리턴하고 아닐 경우에 valid_ip 함수를 통해 해당 도메인이 내부 IP인지 확인하고 있는 것을 확인하였습니다. def valid_ip(ip): try: ip = socket.gethostbyname(ip) is_internal = ipaddress.ip_address(ip).is_global if(is_internal): return False else: return True except: pass try: url = request.form['url'] result = urllib.parse.urlparse(u.. 2022. 9. 24. [CCE 2022] reborn of php Write Up 문제 Docker 1. 회원가입 시 id에 입력한 값을 파일 명으로 password에 입력한 값을 데이터로 저장할 수 있습니다. function save_user_id($id, $pw){ chdir('../'); file_put_contents("dbs/{$id}", serialize($pw)); } 2. 이를 통하여 dbs 폴더 내 아래와 같은 파일을 생성하였습니다. 파일명 : ll.php 파일 데이터 : s:5:""; 3. 또한, index.php 파일에서 a, b Parameter를 이용하여 특정 페이지를 include 하는 코드가 존재하고 있습니다. class Controller { private $board = ''; private $action = ''; function __construct(.. 2022. 9. 24. [공지] CTF&War Game 비밀번호 포스팅 비밀번호는 해당 문제의 Flag 값 입니다. 다른 풀이가 궁금하신 분들은 문제를 푸시고 확인하시기 바랍니다. 비밀번호 길이 제한이 있어 32자까지만 입력하면 됩니다. 그동안 풀었던 문제들을 옮기는 건 양이 많아 보류하고 앞으로 새로 푼 문제들만 포스팅하도록 하겠습니다. 2021. 8. 26. 이전 1 다음