Assassin
-
Level16 (assassin -> zombie_assassin)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:39
15번 문제와 다른 부분은 strcpy가 strncpy로 바꼈다는 것과, RET 까지만 입력을 받는다 것 뿐입니다. 이번문제는 FEBP라는 키워드를 이용해야 하는 것 같습니다. FEBP는 Fake EBP의 약자로, EBP를 조작하여 leave-ret Gadget을 이용해서 IP(Instruction)를 조작하는 공격 기법입니다. RET에 Stack주소와 Libc 주소를 쓰지 못할때 사용합니다. 사용할 페이로드는 아래와 같습니다. [ &system ] + [Dummy 4 byte] + [ &"/bin/sh" ] + [Dummy 28 byte] + [ &buf-4 (Fake EBP in SFP) ] + [ &leave (RET) ] 필요한 주소를 모아보면 아래와 같습니다. system과 "/bin/sh"의 ..
-
Level15 (giant -> assassin)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:38
이번에는 no stack, no RTL 이라고 되어 있습니다. 스택과 RTL 기법에 이용되는 libc를 사용할 수 없고, buffer+sfp hunter로 44까지 0으로 초기화 됩니다. stack과 libc 가 안된다면 함수 내부의 명령어 주소를 RET에 넣어서 문제 풀이를 하면 될 것 같습니다. RET에 다시 RET를 넣게 되면 system 주소를 이어서 넣을 수 있기 때문에 가능할 것 같습니다. 사용하게될 exploit 페이로드는 아래와 같습니다. [Dummy 44 byte] + [ret (실행파일 RET 위치)] + [system (추가한 RET의 RET위치)] + [Dummy 4 byte] + [/bin/sh] 똑같은 libc를 사용하고 있기 때문에 system 주소와 /bin/sh 주소가 매번..
-
[Lord of SQL_injection] #15 assassin$ 웹 해킹 $/los.rubiya.kr 2019. 4. 5. 19:18
벌써.. 3번째줄 마지막 문제 입니다!! 조금만더 화이팅 하시면 All Clear를 할수 있습니다. 문제를 보면 다음과 같습니다. like로 되어있는 것을 보니 %나 _를 이용하면 우회를 할수 있습니다. 또한 싱글쿼터인 ' 가 필터링 되기 때문에 id에 값을 넣을수가 없습니다. 그렇다는 것은 pw 필드만을 보고 비교해야 합니다. 아래에서 2번째 문장을 보면 id의 값이 admin이 되어야하는것으로 보아 입력한 pw의 값이 admin의 pw면 clear! 되는것 같습니다. ?pw=1% 2% 3% 이와같이 입력을 해보면.. Hello guest가 뜬것으로보아 admin과 guest에 같은 pw가 있나 봅니다. ?pw=902%