![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
CTF
重新开坑,梳理好目录开始刷题,之前的看起来太乱了
Do1phln
医学(病理学)人工智能PhD,曾经是CTFer
展开
-
常见文件头,文件尾标识符总结
图片类文件类型后缀文件头文件尾标志JPEG.jpg/.jpegFFD8FFFFD9JFIFPNG.png89504E47AE426082PNG IEND IHDRGIF.gif47494638003BGIT9aTIFF.tif/.tiff49492A004D4D2A00- II MM音频类文件类型后缀文件头文件尾标志WAVE.wav52494646-RIFF压缩文件类文件类原创 2024-01-16 12:46:27 · 690 阅读 · 0 评论 -
[BUUOJ]bjdctf_2020_babystack2
checksec是64位小端序,IDA分析看没找到明显的输入溢出逻辑,但是找到了后门函数,再仔细观察发现数值里面有强制转换,有一部分从int转到了unsigned int,因此可以初步判定为整型溢出,如果我输入-1即可突破长度为10的限制,所以以此下手即可成功修改返回地址,getshell。原创 2022-10-25 11:25:56 · 135 阅读 · 0 评论 -
[BUUOJ]bjdctf_2020_babyrop
先checksec,64位小端序,MX保护开,其它全关,接着进入IDA分析main函数内很简单,进一步分析后找到关键函数vuln本题没有找到backdoor,所以应该是做基地址泄露然后getshell,整个程序内只有puts函数可以输出内容,因此对puts函数进行修改,先溢出后转到此处,考虑到系统会对堆栈进行平衡,所以我们要修改puts的参数需要先进行一次pop保证堆栈平衡,因此使用ROPgadget先找到符合我们条件的ROPputs_got是puts函数的got表项地址,里面装的是puts的真实地址。使用原创 2022-10-24 21:02:05 · 407 阅读 · 0 评论 -
[BUUOJ]铁人三项(第五赛区)_2018_rop
checksec看到保护全关,进IDA分析就是很简单的一串逻辑,在第二个函数处看到了明显的溢出,但是题目里面没有直接提供shell相关操作,所以判断本题为ret2libc,题目中给到了write函数,所以考虑使用write函数来泄露关于write参数我找到了如下解释概言之,就是0 stands for stdin and 1 stands for stdout,不一定正确,但是有助于记忆原创 2022-10-24 21:01:19 · 851 阅读 · 0 评论 -
buuoj-Pwn-刷题记录
warmup_csaw_2016题目直接给出了函数位置,所以很明显就是要利用gets,gets参数的长度为0x40,所以我们再加上返回地址的8个字节,溢出的总长度为0x48,运行时候可以看出sub_40060D的地址就是它的名字,因此我们可以构建payloadpayload = b'a'*0x48+p64(0x40060D)即可得到flagciscn_2019_n_1打开题目可知大致意思是main函数里面调用了一过func函数,其中要输入v1,但是要判断v2,所以就很明显是需要输入长字符串覆盖到原创 2021-10-30 16:34:05 · 309 阅读 · 0 评论 -
buuoj-RE-刮开有奖-WinMain
WinMain函数参数介绍int WINAPI WinMain(HINSTANCE hInstance, // handle to current instanceHINSTANCE hPrevInstance, // handle to previous instanceLPSTR lpCmdLine, // command lineint nCmdShow // show state);WinMain函数接收4个参数,这些参数都是在系统调用WinMa原创 2021-11-05 14:34:34 · 135 阅读 · 0 评论