BUUOJ
Do1phln
医学(病理学)人工智能PhD,曾经是CTFer
展开
-
[BUUOJ]jarvisoj_fm
checksec为常规保护,进入IDA分析main逻辑内部判断本题应该是格式化字符串漏洞,因此进行gdb调试,下断点在漏洞printf。查找具体存储位置,发现是在第11位开始存储,所以据此构造exp。处,输入一串字符串后在gdb内。原创 2022-11-07 20:54:10 · 224 阅读 · 0 评论 -
[BUUOJ]bjdctf_2020_babystack2
checksec是64位小端序,IDA分析看没找到明显的输入溢出逻辑,但是找到了后门函数,再仔细观察发现数值里面有强制转换,有一部分从int转到了unsigned int,因此可以初步判定为整型溢出,如果我输入-1即可突破长度为10的限制,所以以此下手即可成功修改返回地址,getshell。原创 2022-10-25 11:25:56 · 148 阅读 · 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 · 419 阅读 · 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 · 881 阅读 · 0 评论