목록전체 글 (243)
CIDY
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lvwCt/btr1yATGJcQ/D2b27SBoeKoxgeml0aOBu1/img.png)
첫 오렌지농장 문제였다. 😢🍊🍊 개인적으로 pie를 싫어한다. 없어서 굿. 2.23이네.. 메뉴 문제다.. 9개의 페이지를 작성할 수 있는 것 같다. 순서대로 차곡차곡 쌓아주는 듯. 대충 메모리를 보아하니 602040부터 4바이트는 counter인것같음. 602060 ~ 6020a0까지는 author 0x40바이트고, 6020a0 ~ 6020e0은 malloc주소 저장인데 8칸이다.. 아니 i가 0 1 2 3 4 5 6 7 8 이면 9개인데?? hmm 그리고 6020e0부터는 사이즈 저장해둠. 사이즈 첫 칸은 침범 가능할지도.. %s로 보여준다. read할때 저장해둔 사이즈를 기준으로 한다. 사이즈 저장 첫 칸은 매우 큰 값으로 조작할 수 있으므로 idx 0에 대해 오버플로우 발생 가능. 그리고 사이즈 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dg5F3g/btrXm6wTdqD/EeYFTUKX8H9qwyv0xHD5e0/img.png)
점수보다는 솔브 수를 기준으로 문제 선택을 해나가는 중이다. 이거 풀고 3 X 17 풀어야 한다. 풀로 걸려있다. 힙 싫은데 힙일 확률이 상승함. glibc는 2.23이다. 에휴 init함수에서 mmap함. 메뉴다. add함수이다. 0부터 99까지는 괜찮은데 넘어서면 full이라고 함. 보아하니 bss에 ptr을 저장하는 모양인데, 앞에서부터 비어있는 순으로 내어주는듯. 아 자세히 보니 bss에는 mmap주소만 저장하고 mmap한곳에 싹다 저장하는거구나 암튼 별일없으면 size of heart받고, (read_input은 int인데 input은 long임ㄷㄷ) 그게 0x100넘으면 안됨. 만약 read_input에 음수를 줘도 input이 unsigned라서 저 검사에 걸릴듯. 202018부터 48(0x..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/UXKpO/btr0HRhAcdk/Lmwu9TjXaQvMOfnIS8D4Y0/img.png)
플래그 긴거 제출하면 준다. 예전에 얻은거라 맞아야 하는지 아닌지는 모름. 그냥 자연스럽게 여러개 풀다보면 어느새 획득되어 있다. 라업 하나 쓰면 준다. 정확한 플래그를 5번 연속 제출하면 준다. 포너블은 특성상 플래그를 게싱할 일은 없으므로 제출창에 이상한 걸 입력하지만 않으면 어느새 획득돼 있다. 잘못된 플래그를 30회 제출하면 준다. 얻고싶으면 그냥 아무거나 계속 제출하면 된다. 플래그 입력창에 fuck입력하면 준다.. https://pwnable.tw/admin/ ->이거 입력하면 준다. 웹해킹 권장하는 포넙 사이트,, 라업 10개 쓰면 준다. 닉네임뒤에 '(작은 따옴표)하나 붙이면 준다.
어쩌다가 POX본선까지 가서 어쩌다가 1등까지 해버렸다. 1등할 줄 알았으면 팀 이름 좀 멋있게 지을걸 팀에서 포너블 담당이라 포너블 문제만 봤는데, 예선때는 괜찮은 문제가 별로 없었는데 본선에서는 그래도 나름 배워갈 게 조금 있었다. 그래서 잊기전에 정리해둘 겸 글을 써본다.. 모든 포너블 문제를 정리한 것은 아니고, 좋은 문제만 선별한 것도 아니고, 그냥 개인적으로 배울 부분이 있었던 것만 정리한 것이다. exploitMe // Compile: gcc -o excuseme excuseme.c -lseccomp #include #include #include #include #include #include #include #include void init() { setvbuf(stdin, 0, 2, 0..