2020/01/01
[pwnable.xyz] xor write up
[pwnable.xyz] xor write up
2020.01.01pwnable.xyz 7번째 문제 xor 이다. 실행하면 아래와 같다. Analyze 이번 문제도 main 함수와 win 함수 말고 특별한 것은 보이지 않는다. gdb 로 main 함수를 분석 해보자. 아래 사진은 main 함수의 일부분이다. 이를 pseudo 코드로 나타내면 아래와 같다. 이번에도 8번째 줄에 Arbitrary overwrite 공격이 가능하다. 하지만 main 함수에서 역할은 XOR 연산하는 과정 말고는 없다. main 함수에 breakpoint를 걸어 vmmap 명령어를 사용하면 아래처럼 0x0000555555554000 ~ 0x0000555555555000 까지 rwxp 권한이 있는 것을 볼 수 있다. 즉, main 함수에서 특정 주소에 있는 명령어를 변조하여 공격자가 원하는 함수..
[pwnable.xyz] misalignment write up
[pwnable.xyz] misalignment write up
2020.01.01pwnable.xyz 4번째 문제 misalignment 이다. 실행 해보면 아래와 같다. Analyze 이 문제에 사용자 정의 함수는 아래와 같다. 위 바이너리 파일을 peda-gdb 로 열어 main 함수의 어셈블리어를 보자. 아래 사진은 main 함수의 일부분 이다. 위 어셈블리어 코드를 pseudo 코드로 나타내면 아래와 같다. 6번째 줄에서 Arbitrary overwrite 가 가능한 취약점이 존재하는 것을 볼 수 있다. 사용자가 입력한 3개의 인자를 잘 조작하면 Arbitrary overwrite가 가능하다. 아래 어셈블리어는 main 함수의 일부분 이다. rax에 &((rbp-0xa0) + 0xf ) 주소를 넣고 rdx에 rax 주소의 값을 넣는다. rdx 와 0xb000000b5 비교하여..