본문 바로가기

rop2

[Pwnable] 기초 포너블 공격기법 총정리 (Heap 익스는 따로 포스팅 하겠습니다. ( UAF, DFB, house of 시리즈 등등)) 시스템해킹 (포너블) 을 하기 위한 기본적인 공격 방법들에 대해 설명하고 실제로 어떻게 사용해 문제를 푸는지, 그리고 중간중간 팁들도 대충 자세하게 알려드리겠습니다. 이 글은 C 언어 와 python 을 알고있고, 기초적인 리버싱 을 알고있어 어셈을 볼 수 있으며 리눅스를 사용할 수 있다는 전제 하에 진행됩니다. 내용 공격기법별로 자세한 설명 BufferOverFlow ReturnOriantedProgramming ReturnToLibrary ReturnToCsu STACK-PIVOTING Integer Issues FormatStringBug OutOfBound 간단한 메모리구조 및 함수 프롤로그, 에필로그.. 2020. 11. 12.
[HackCTF] (Pwnable) Yes or no 풀이 문제파일을 다운로드하면, 실행파일과 libc-2.27.so 파일을 준다. 문제서버에서 사용하는 라이브러리다. 메인함수는, 입력한숫자를 문자열화해서, (어떠한값) 이랑 비교해서 맞을때 gets 함수로 입력을 받아 overflow 가 일어나게된다. fgets 로 문자열을 입력받을때는 overflow 가 발생하지않으므로, (어떠한값) 을 입력해서 gets 함수로 overflow 해야겠다. main+237 에 BP 를 걸고 실행하면, (어떠한값) 을 구할수있다. 0x960000 10진수로 9830400 이니 입력하면, overflow 를 할수있게된다. NX 가 활성화되어있으므로, 스택에 쉘코드를 올려 실행할 수 없다. 그렇다면, 함수주소를 leak 해서 system함수를 실행해보자. 1. puts 의 plt 주.. 2020. 4. 27.