본문 바로가기

logcat 문자열 필터링 logcat exploit:E *:E | grep exploit 더보기
2017 DEFCON mute 풀이 참고자료 https://raw.githubusercontent.com/Owlz/CTF/master/2017/DEFCON/mute/win.py 실제 CTF에서 문제를 오래 붙잡고 있었지만 풀지 못해서 라이트업을 보고 다시 적는다. 내가 입력 한 페이로드로 바로 뛰기 때문에 쉘코드를 만들어 주기만 하면된다 하지만, seccomp라는 샌드박스를 통해서 특정 syscall을 제외한 나머지를 필터링 하기 때문에 일반적인 쉘코드를 사용하지 못한다. seccomp에는 blacklist 방식과 whitelist 방식이 있는데, blacklist 방식의 경우에는 64bit 쉘코드가 아닌 32bit 쉘코드를 사용하는 것으로 우회가 가능하다.(64bit와 32bit의 system call 번호가 다르기 때문에 가능) 반면,.. 더보기
codegate 2017 angrybird exploit only 문제는 간단히 string을 21개 입력 받고 if문을 약 400개 정도 통과하면 입력 받은 string이 flag가 되는 형식 이었다. ida로 피해야 되는 부분을 일일이 다 파싱해서 fails 배열로 만들어주고, 시작 부분을 main 시작 위치가 아니라 fgets를 받는 위치로 설정해야 한다. ( 이유는 main 시작 부분에 안티 디버깅과 실행을 제대로 되지 않게 하기 위한 바이너리 패치가 되어 있기 때문, 이거 때문에 실제 대회에서는 풀지 못했다 ㅠㅠ ) ida로 열어서 disassemble을 하기 위해서는 몇가지 바이트 수정이 필요하다. ( xor eax,eax 이 부분만 수정해 주면 될 듯 ) 나머지 부분은 일반적인 angr 사용법이랑 동일하다. =========== EXPLOIT SOURCE .. 더보기