pwanble.co.kr(12)
-
HackCTF - World Best Encryption Tool
World Best Encryption Tool 문제입니다. 실행해보면 뭔가 암호화해서 출력해주는 프로그램 같습니다. nx와 카나리가 있네요. main함수를 보면 14번줄, 20번줄에서 bof가 발생합니다 17번째에서 src를 암호화 한 부분을 dest로 덮어씌우니 여기서 잘 활용하면 canary_leak이 가능할 거같네요. 그리고 Yes로 다시 메인으로 가서 libc_leak해서 oneshot으로 터트리면 될 것 같습니다. 페이로드는 아래와 같습니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5..
2021.01.11 -
DreamHack - rev-basic-3
보호되어 있는 글입니다.
2020.10.20 -
HACKCTF - Yes or no
18.04기준으로 테스트 되었다는데 나는 16.04를 써서 설마 안되겠어 하는 마음으로 일단 했다 ㅎ 실행시켜보면 위와 같이 숫자 넣으라고하고 아니라고한다. 이부분에 대한 코드를 확인해보면 34번줄에서 어떠한 조건에 충족되면 다시 gets를 한번 받는데 이부분에서취약점에 발생할 확률이 높아 보인다. 해당 부분에 들어가기 위해서 어떤 숫자를 입력해야할지 디버깅을 통해 확인해보겠다. main+249하고 main+266에서 puts, gets를 call하는데 두개를 동시에 call하는 부분이 이 프로그램에선 저부분 밖에 없으니 main+237에 bp를 걸고 값을 확인해보겠다. rax를 보면 0x96000이 들어있고 이를 똑같이 맞춰주면 조건문에 알맞게 처리되서 "that's cool~~"멘트를 확인 할 수 있..
2020.08.27 -
HACKCTF - RTL_Core
yes_or_no 랑 비슷한 문제로 보였습니다. 처음에 삽질해서 시간 오래걸렸네요 ㅠㅠ 초기에 실행하면 위와같이 패스코드 입력하라고하고, 어떤 키랑 비교하는것 같습니다. 이 부분을 확인해보면 9번줄을보면 check_passcode($s) == hashcode 를 비교하는데 hashcode = 0C0D9B0A7 입니다. passcode를 체크하는 구간인데, 약간의 역연산이 필요합니다. a1의 주소를입력받아서 4바이트씩 늘려서 5개를 더하는 함수인데 아래와 같은 코드를 작성해서 이를 구할 수 있습니다. 1 2 3 4 5 6 7 8 9 key = 0x0C0D9B0A7 add = key/5 print("add = " + hex(add)) recoveradd = add*5 print("addmulti = " + ..
2020.07.29 -
HACKCTF -Time
문제 화면은 위와 같다. 링크를 타고 들어가면 위와 같은 코드를 볼 수 있는데 계산해보면 60*60*24*30*2 = 5,184,000초를 기다리면 출력할 수 있다. 그럼 한번 기다려보겠습니다. 2달후까지 기다릴 생각을 하니 좀 아닌거 같다 생각을하다가. 지수형태를 int로 변화하면 소수점 앞자리만 남기떄문에 0.649e7를 입력해서 바로 풀었다. 제출 하면 바로 flag를 얻을 수 있다.
2020.07.15 -
HACKCTF - Home
해당 사이트를 들어가면 머리말 -->header 뜻하는거같고, 인증되지 않은 IP주소라고 하니 localhost로 들어가면 될듯합니다. 헤더에 X-forwarded-For 를 넣어서 로컬호스트로 주면 변조가 가능하니 초기에 패킷을 잡으면 다음과 같이 나오는데 여기에 X-Forwarded-For : 127.0.0.1을 추가하여 Forward를 눌러서 패킷을 전송하면 위와 같이 FLAG를 획득할 수 있습니다.
2020.07.09