重装漏洞的种类
常见的重装漏洞的种类
1、自动删除这个安装软件
通过生成一个lock文件来判断程序是否安装过
2、根本无验证
安装完成后不会自动删除文件,也不会生成lock判断是否安装过
3、安装file
直接用GET提交step绕过,直接进入下一步
4、变量覆盖导致重装
可以GET,POST,COOKIE任意提交一个变量名$insLockfile,从而让file_exists为false就不会退出。
5、判断lock后,无exit
判断是否存在lock文件,如果存在lock文件,就会header到index.php,但是header后并没有
exit,所以不会退出。
6、解析漏洞
在安装完成后会将install.php重命名为index.php.bak,但是由于Apache的解析漏洞;如果无法识别到最后一个后缀的话,就会向上解析,那么又变成php了,然后结合安装时的变量覆盖又成重装了。
7、满足一些条件不会退出的
这次复现的两个漏洞,都属于第五类。当页面跳转到主页之后,原来的php进程依然存在,导致可以重装,而当配置信息没有经过过滤而直接被写入了文件当中,就可能导致getshell。寻找此类漏洞应该尝试去跟踪配置信息的最终去处,并检查是否有过滤。通过构造闭合语句利用漏洞。
vauditdemo重装漏洞复现
1、访问http://localhost/ourphp/install/install.php
2、提交数据库信息,用burpsuite抓包。
3、将dbname修改为:
testdb;-- -";phpinfo();//
4、提交
将会跳转到phpinfo()
vauditdemo下载地址
Payload :testdb;-- -";phpinfo();//
Payload分析:
– 注释了mysql语句
";闭合sql语句
//注释
重装漏洞修复建议
1、正确处理lock文件
2、判断安装完成后要退出
3、在安装的每一步都需要验证
4、对所有输入点进行过滤