'시스템 > 시스템 해킹' 카테고리의 다른 글
pwndbg. (0) | 2017.01.19 |
---|---|
메모리 보호기법 RELRO (0) | 2017.01.10 |
arm 문법 블로그, 자료, arm ROP (0) | 2016.12.10 |
(문서)SROP-null0 (0) | 2016.12.09 |
arm 환경 셋팅 (0) | 2016.12.09 |
pwndbg. (0) | 2017.01.19 |
---|---|
메모리 보호기법 RELRO (0) | 2017.01.10 |
arm 문법 블로그, 자료, arm ROP (0) | 2016.12.10 |
(문서)SROP-null0 (0) | 2016.12.09 |
arm 환경 셋팅 (0) | 2016.12.09 |
register 정리 블로그
http://egloos.zum.com/recipes/v/4986854
기본 문법
http://blog.naver.com/PostView.nhn?blogId=gangst11&logNo=145839687
arm ROP
http://zomo.herokuapp.com/blog/2015/09/17/rop-and-arm/
메모리 보호기법 RELRO (0) | 2017.01.10 |
---|---|
ascii shellcode 사이트 (0) | 2016.12.23 |
(문서)SROP-null0 (0) | 2016.12.09 |
arm 환경 셋팅 (0) | 2016.12.09 |
integer overflow (0) | 2016.12.09 |
ascii shellcode 사이트 (0) | 2016.12.23 |
---|---|
arm 문법 블로그, 자료, arm ROP (0) | 2016.12.10 |
arm 환경 셋팅 (0) | 2016.12.09 |
integer overflow (0) | 2016.12.09 |
use after free (0) | 2016.11.25 |
포너블 문제를 풀다보면 arm 환경의 문제가 나오기도 한다.
arm문제를 풀기위해 또는 연습할떄 arm 환경을 셋팅을 해놓으면 테스트에 좋다.
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=37386
https://github.com/dhruvvyas90/qemu-rpi-kernel
ftp://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/2013-02-09-wheezy-raspbian/
처음에 좀 헤매서 물어보니 이 세 문서를 참고하면 된다고 조언을 받았는데
첫번째 공식 문서만 봐도 된다.
위는 라즈베리파이를 셋팅하는 방법이고
나는 armhf를 셋팅했다. 바이너리를 ldd명령어로 돌려보면 어떤 라이브러리를 사용하는지 나오는데 처음에 armel을 썼다가
라이브러리가 없어서 armhf로 셋팅했다 둘의 차이점은 실수연산을 하는 방법의 차이라고 한다.
https://forums.kali.org/showthread.php?18875-difference-between-armhf-and-armel
방법은
apt-get install qemu-system qemu
설치를 하고
부트로더 역할인 initrd와
커널을 받아줘야한다
wget https://people.debian.org/~aurel32/qemu/armhf/vmlinuz-3.2.0-4-vexpress
이제 다음 명령어를 쳐준다
마지막에 tcp:2222:6492는
호스트의 2222포트를 qemu의 6292포트로 연결시킨다는 뜻이다
그러니까 qemu에서 6292포트를 열고
호스트에서 2222로 접속하면 qemu 6292로 접속이 된다는 것
qemu-system-arm -M vexpress-a9 -kernel vmlinuz-3.2.0-4-vexpress -initrd initrd.img-3.2.0-4-vexpress -drive if=sd,file=debian_wheezy_armhf_standard.qcow2 -append "root=/dev/mmcblk0p2" -redir tcp:2222::6492
arm 문법 블로그, 자료, arm ROP (0) | 2016.12.10 |
---|---|
(문서)SROP-null0 (0) | 2016.12.09 |
integer overflow (0) | 2016.12.09 |
use after free (0) | 2016.11.25 |
gdb peda 설치방법 (0) | 2016.11.21 |
http://err0rless313.tistory.com/entry/%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4%EB%A1%9C-%EB%B3%B4%EB%8A%94-Integer-Overflow-%EA%B8%B0%EB%B2%95
(문서)SROP-null0 (0) | 2016.12.09 |
---|---|
arm 환경 셋팅 (0) | 2016.12.09 |
use after free (0) | 2016.11.25 |
gdb peda 설치방법 (0) | 2016.11.21 |
tip 정리 (0) | 2016.11.18 |
최근에 uaf문제를 몇개 풀어봤는데 짧지만 uaf 문제를 풀면서 배운것을 적어보려한다
먼저 uaf란
메모리를 heap영역에 동적할당 하고 free할때 발생하는 취약점이다
크게 두가지로 나누어 보겠다.
1. eip 조작
할당한 변수를 call하는 부분이 있는 경우
예를 들어 구조체를 동적할당한다고 생각해보자
구조체에는 변수가 들어갈 수도 있지만 함수도 들어갈 수 있다.
프로그램에서 그 함수를 call하는 경우가 있는데
그부분을 취약점을 찾아서 control하는 것이다.
우리가 할당한 변수에 call
2. leak
uaf로 free된 부분에는 우리가 leak해서 도움이 될만한 주소들이 쌓이는 경우가 있다.
그 부분을 유의하면서 찾아도 좋다
arm 환경 셋팅 (0) | 2016.12.09 |
---|---|
integer overflow (0) | 2016.12.09 |
gdb peda 설치방법 (0) | 2016.11.21 |
tip 정리 (0) | 2016.11.18 |
bind shellcode 소스코드 (0) | 2016.10.16 |
https://hexa-unist.github.io/2015/02/25/PEDA-Introduction-Installation/
integer overflow (0) | 2016.12.09 |
---|---|
use after free (0) | 2016.11.25 |
tip 정리 (0) | 2016.11.18 |
bind shellcode 소스코드 (0) | 2016.10.16 |
버퍼오버플로우 문서 (0) | 2016.10.13 |
write 함수의 size에 -1이 들어가면?
시작주소로부터 계속 출력함 -> 릭할때 써먹자!
sigalrm때문에 디버깅이 불편할떈?
hxd로 인자를 패치해주자
bof찾을때
문자열로 터지는 부분도 있지만
숫자입력에 음수를 넣엇을때 터지는 부분도 있다.
유의하고 넣어보자
use after free (0) | 2016.11.25 |
---|---|
gdb peda 설치방법 (0) | 2016.11.21 |
bind shellcode 소스코드 (0) | 2016.10.16 |
버퍼오버플로우 문서 (0) | 2016.10.13 |
환경변수에 쉘코드 넣기(에그쉘 정리) (0) | 2016.10.12 |
https://www.exploit-db.com/exploits/25497/
IPADDR이랑
PORT정의해서 쓰면됨
gdb peda 설치방법 (0) | 2016.11.21 |
---|---|
tip 정리 (0) | 2016.11.18 |
버퍼오버플로우 문서 (0) | 2016.10.13 |
환경변수에 쉘코드 넣기(에그쉘 정리) (0) | 2016.10.12 |
ROP exploit (0) | 2016.09.29 |
stack smashing for fun and profit
버퍼오버플로우의 조상격 문서
tip 정리 (0) | 2016.11.18 |
---|---|
bind shellcode 소스코드 (0) | 2016.10.16 |
환경변수에 쉘코드 넣기(에그쉘 정리) (0) | 2016.10.12 |
ROP exploit (0) | 2016.09.29 |
기본 쉘코드 (0) | 2016.07.14 |