본문 바로가기

분류 전체보기237

[Square CTF 2017] Password checker 1. 개요 웹쉘 문제, 리눅스 명령어 문제 문제링크 도커 컨테이너 실행 docker run --rm -p 8080:8080 squarectf/pwd_checker 2. 분석 1) 코드 접속하면 화면이 나오고, 코드를 보면, 다음과 같이 리눅스 명령어를 url 인코딩해서, 서버로 보내고 있습니다. 웹셀로 시스템콜을 사용할 수 있습니다. let xmlHttp = new XMLHttpRequest(); xmlHttp.open('GET', '/run.php?cmd=cat%20../password.txt', false); xmlHttp.send(null); let actualValue = xmlHttp.responseText; 2) 한줄 문제는, 시스템 콜 결과가 가장 뒤의 한줄만 보인다는 것입니다. http:/.. 2022. 6. 12.
[Square CTF 2021] Huge Primes 1. 개요 자바스크립트 부동 소수점 문제 문제 링크 2. 분석 1) 확인 숫자 2개의 곱이 22952152323332505688670761214671498225451684330137990990356473040741684014997701799009910066964917896400501477 이 되어야 한다고 합니다. 2) 부동 소수점 자바스크립트에서는 모든 숫자가 실수이며, Double-precision floating-point format 을 사용합니다. 이에 따라 표현 가능한 범위는 -(2^53 - 1) ~ 2^53 -1 53 비트를 넘어가면 모두 0으로 표시됩니다. 이 범위를 넘어가는 수는 모두 2의 배수로 표현됩니다. 따라서 홀수도 짝수로 표현됩니다. 3. exploit 문제에서 주어진 숫자 22.. 2022. 6. 12.
[Grey Cat The Flag 2022] Too Fast 1. 개요 웹 사이트 스캔 문제 당시에 못풀었습니다. 2. 분석 문제에 따르면, 어떤 기능이 너무 빨리 출시되었다고 합니다. 귀여운 고양이 많이 보이구 결론 부터 말하면, 다음 주소로 요청하면, flag를 받을 수 있습니다. http://challs.nusgreyhats.org:14004/admin.php 다만, 브라우저, python - requests, js - axios로 요청하면 http status - 302(임시적 이동) 이 나오기 때문에 flag 확인이 안됩니다. 다음 코드 처럼 allow_redirects 옵션을 주면 가능합니다. def request(request_url): r = requests.get(request_url, allow_redirects=False) return r.st.. 2022. 6. 11.
[HSCTF 9] vending-machine 1. 개요 프로그래밍 문제 2. 분석 item을 사면 coin을 잃어버립니다. coin 손실을 최소화하면서 item을 모두 구매해야합니다. Task You want to buy everything in a vending machine using your limited supply of coins, but the vending machine is broken and it steals your money after every purchase >:( Interaction Details: The following commands will be provided: Display: Shows the list of remaining coins, items to buy, and your current balance. .. 2022. 6. 11.