首先查看修复:
可以看到新增代码preg_match("/^[\w-]+\.php$/i", $parse['path'])) 来验证path是否为php文件,这个应该是修复路径遍历导致的文件读取漏洞。还有require './'.$_ENV['curapp'].'.php';这里应该是另外一个漏洞,因为$parse['path']和$_ENV['curapp']没有关联。
然后我们动态调试index.php:
这里我们可以看到在前台url这个参数好像无法控制,$_ENV这个变量好像是需要后台登陆才能修改的。
可以看到访问主页index.php会重定向到forum.php,前台无法控制参数$parse['path'],后台是有主页修改功能的,到管理员后台看看。
确实可以修改主页,在链接那里我们输入../../../123.txt,然后在对应的目录新建一个123.txt。在访问主页看是否会出现文件读取。
提交之后访问主页。
可以看到出现文件读取,还有另外一个bug可能大概差不多。可以发现这个bug没啥用,需要后台管理员账号密码登陆才能触发这个bug。