본문 바로가기

HackCTF67

[HackCTF] (Pwnable) 내 버퍼가 흘러넘친다! 풀이 main 함수다! Name 과 Input 을 입력받는데, Name -> read함수로 0x32 만큼, Input -> gets함수로 입력을 받는다. 그렇다면 gets 함수에서 입력을 받을때 BOF(Buffer Over Flow) 가 발생할 수 있다. gets 로 입력을 받을때, return주소까지 값을 채워넣어 return 주소에 shell code 를 작성해 넣자. checksec 로 확인해보면 아무런 메모리보호기법이 적용되어있지 않다. 그렇다면 이제 payload 를 작성해보자. 쉘코드 주소 정하기 return 주소 구하기 쉘코드 짜기 exploit 코드 짜기 (python) [ 1 ] 쉘코드의 주소는 전역변수인 name 으로 정했다! [ 2 ] [ ebp ] [ ret address ] main 함.. 2020. 3. 11.
[HackCTF] (Misc) 달라란침공 풀이 접속하면 덧셈뺄셈으로 침공을 할수가있다. 하지만 이걸 몇번이나 하는지는 모르겠다. 나눗셈도 있는걸 보니 곰셈도 있을것 같다. 1스테이지는 덧셈뺄셈, 2스테이지는 나눗셈곱셈, 3스테이지는 사칙연산인 것 같다. 시간제약은 없으나, 직접하면 날이 새기때문에 pwntools를 이용해 소스를 짜주자 [python] from pwn import * p=remote("ctf.j0n9hyun.xyz",9003) def four(a,b,c): if c=='+': return a+b if c=='-': return a-b if c=='*': return a*b if c=='/': return a/b def stage(a,n): print p.recvuntil("input )") p.sendline(str(a)) for i.. 2020. 3. 11.
[HackCTF] (Web) Time 풀이 접속하면 나타나는 코드다. Time값을 가져와 숫자인지 검사 후, 5184000~7776000 사이에있는지 검사한다. 그리고 time값 만큼 sleep 한 뒤 flag를 출력해준다. 5184000초면 약 2달이란 시간인데, 그만큼 기다릴 수 없으니 다른 방법을 찾자. 2020/03/09 - [Wargame Write-Up/HackCTF] - [HackCTF] (Web) 마법봉 풀이 [HackCTF] (Web) 마법봉 풀이 문제접속하면, 삐애로가 마법봉을 꺼내려하는사진이있고, 소스코드보기가 있다. 소스코드를 보면 md5("240610708") 값과 sha1("input") 값이 같을때 flag를 출력해준다. 0e4620~~(숫자) 형식을 취하고있다. (참.. snwo.tistory.com 저번에 나온 ph.. 2020. 3. 10.
[HackCTF] (Web) 마법봉 풀이 문제접속하면, 삐애로가 마법봉을 꺼내려하는사진이있고, 소스코드보기가 있다. 소스코드를 보면 md5("240610708") 값과 sha1("input") 값이 같을때 flag를 출력해준다. 0e4620~~(숫자) 형식을 취하고있다. (참고로 Xe(+)Y는 X * 10^Y이다.) (ex : 3e2 혹은 3e+2 = 3 * 10^2 = 300 ) (주로 계산기에서 너무큰 결과가 나오면 이런식으로 표시된다.) 이런설명을 한 이유는 0e~~ 는 결국 0 이라는걸 알수있다. php에서는 Auto type casting (type juggling)을 지원한다. 그리고, string < float < int 순으로 자료형을 선호한다. 0e4620~ == 0e~~ 를 비교할때, 둘 다 문자열이지만, float형식으로 바.. 2020. 3. 9.