Format String Bug(5)
-
pwnable.kr. - fsb
보호되어 있는 글입니다.
2021.08.29 -
pwnable.xyz - GrownUp
// local variable allocation has failed, the output may be wrong! int __cdecl main(int argc, const char **argv, const char **envp) { char *src; // ST08_8 __int64 buf; // [rsp+10h] [rbp-20h] __int64 v6; // [rsp+18h] [rbp-18h] unsigned __int64 v7; // [rsp+28h] [rbp-8h] v7 = __readfsqword(0x28u); setup(*&argc, argv, envp); buf = 0LL; v6 = 0LL; printf("Are you 18 years or older? [y/N]: "); *(&buf + ..
2021.08.02 -
HackCTF - ChildFSB
중간에 버퍼 꼬여서 5시간 걸린 문제이다. FSB공부하는 중이지만 버퍼안꼬였으면 2시간이면 풀 문제였는데 5시간이 걸렸다니 마음이 아프다. int __cdecl main(int argc, const char **argv, const char **envp) { char buf[24]; // [rsp+0h] [rbp-20h] BYREF unsigned __int64 v5; // [rsp+18h] [rbp-8h] v5 = __readfsqword(0x28u); Init(); puts("hello"); read(0, buf, 25uLL); printf(buf); return 0; } 버퍼가 공간이 부족하기에 main loop를 만든 후에 나눠서 입력하면 된다. 1. main loop 생성하기(__stack_ch..
2021.07.08 -
HACKCTF - You are silver
해당 문제를 실행시켜보면 이름을 입력받고, 출력해주고, 세그멘테이션 오류를 출력합니다. ida로 메인함수부분을 확인해보면 printf에서 입력은 부분들을 그대로 출력해주니 이 부분에서 segmentation오류가 발생합니다. 아마 FBS관련 문제 같았습니다. 하지만.. 전 fsb에 대해서 약점을 가지고있어서... 공부하고 오느라 푸는데 시간이 3일정도 걸렸습니다. ㅎㅎ 문제 보고 fsb 공부하려고 dreamhack가서 강의 처음부터 쭉 듣다가 st4nw한테 문제 받아서 풀려고했는데 그거보다 이게 쉬운문제같아서 바로 풀었습니다. 이제 다시 그문제 풀러 가야겠네요..ㅎㅎ 잡담이 길었고 다시 본론으로 들어가면 fsb문제인데, fsb를 발생시켜보면 6번째에서 주소값을 출력하는 것을 볼 수 있습니다. 그리고 코드..
2020.08.06 -
HACKCTF - Basic_FSB
문제 제목을 보면 FSB인것을 알 수 있으니 먼저 좁혀두고 가면 편할것이다. 실행하면 평범하게 입력값을 출력해준다. IDA로 실행해보면 전형적인 FSB문제 형식의 코드로 보인다 %p를 활용해서 주소를 출력해보면 첫번째 인자는 건너뛰고 2번째부터 시작되는것을 볼 수 있다. 또한 flag함수를 보면 /bin/sh 가 있으니 궁극적으로 이곳으로 리턴을 보내면 해결될 것이라는 것도 확인할 수 있다. 따라서 우리는 vuln함수의 printf(&format); 이 부분에서 printf.got 을 리턴으로 덮어주면 되니까 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from pwn import * r = remote("ctf.j0n9hyun.xyz", 3002) context.log_level =..
2020.07.08