欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注
今天做了一道很恶心的题目,话不多说,先上结果图:
我们先来分析代码:
当没有用GET方法传入flag时,会显示Click here的链接。
点击链接会用GET方法传入一串字符串$exam,后面是当前时间的一串sha1哈希值。
判断传入的flag长度与$exam是否相同,不同则显示 长度不允许
第二个判断过滤了一大堆
第三个判断传入flag的值等于flag值的哈希值,正确就输出flag。用的是严格的三个等号的比较,我们flag都不知道,哈希值更不可能知道了,==
但容易发现此处存在任意代码执行漏洞:::
接下来划重点:!!!!
一、代码执行(注入)漏洞eval
这个函数可以eval(),把里面传入的字符串参数变为函数执行:比如现在我用vscode测试: