time_formatter(uaf)
拿到题目先例行检查
然后进入主函数查看程序流程,

进入函数

这些字符串对我们选择1的输入进行了限制

在输入里面,可以看到strdup这个关键性的函数

调用了malloc这个函数

在选择四里面,可以看到system运行我们选择1输入的内容,

选择三的输入,则没有对我们输入的字符串进行限制

选择5可以看到程序先进行free的操作,然后才会询问,我们可以选择N不退出,且指针没有归零存在uaf漏洞
所以这道题的思路就是:在一输入字符串,选择5后不退出,进入三在相同空间大小下加入/bin/sh,从而让四运行system(/bin/sh)拿到shell
完整exp如下:


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号