write-up
-
two targets Write-upSystem/Pwnable.xyz 2020. 1. 20. 01:19
이번 문제는 풀이법이 2개가 있다. 하나는 암호화 루틴을 분석하는 것, 다른 하나는 GOT Overwrite로 원샷함수를 실행하는 것이다. 이번 풀이법에서는 두 가지 모두 다뤄보도록 하겠다. Binary 가장 기본적인 보호기법으로 설정되어 있다. Partial RELRO이기 때문에 .got섹션에 쓰기권한이 부여되어 있다. Solve_1 ( 역연산 ) 바이너리를 실행하면 총 4개의 메뉴는 제공한다. 그 중 'Get shell'이라는 4번 메뉴가 가장 눈에 띈다. IDA로 확인해보면 위와 같이 구성되어 있다. 우선 auth( )라는 함수가 실행되고, auth( )의 반환값이 1(true)이면 win( )함수가 실행되면서 Flag를 얻을 수 있다. auth( )는 우리가 입력한 값에 대해서 특정 연산을 진행하..
-
xor Write-UpSystem/Pwnable.xyz 2019. 12. 22. 02:32
pwnable.xyz의 xor 문제를 풀어봤다. 배점이 50점이라 난이도가 높지는 않고, 단순 Overflow Exploit이 아니라서 괜찮은 문제같다. Binary 먼저 64Bit 바이너리이고, Shared Object로 PIE가 걸려있음을 알 수있다. 보호기법은 Stack Canary를 제외하고 모두 적용되어 있다. Full RELRO이기 때문에 GOT Overwrite가 불가능하고, NX Bit가 적용되어 있기 때문에 실행권한이 없는 상태이다. 그리고 win( )로 Flag를 출력해주는 Oneshot함수가 존재한다. 또한, 바이너리 코드영역에 rwx권한이 부여되어 있다. 바이너리 특이사항은 이정도로 잡으면 될 것 같고, Exploit Point는 win( )와 코드영역 rwx권한으로 잡으면 된다. ..