先启动phpStudy2017
接着在浏览器中打开phpMyAdmin界面,登陆后找到变量,搜索general log,就会看到下面这张图的内容。
general log 默认设置是 off 也就是不保存日志,而general log file 则是在保存日志情况下日志的路径,这里的话就利用这个服务器端保存日志来进行一些操作。
之前有一种场景,网站检查到恶意请求就直接显示请求者的本地信息,并给出警告,这里就是将请求的信息给保存在了数据库里,哈哈,只要思路猥琐,......
所以保守的情况下只要获取网站根目录就可以getshell,现在就开始在本地进行下实验。现在是未设置日志记录前本地的WWW目录下的文件列表。
设置为ON,开启日志记录。
现在再次查看文件列表,发现多了一个php文件。
来到执行sql语句的选项,输入payload,记得加上双引号,点击执行。
最终效果
然后在浏览器访问生产的php文件,看看是不是解析成功出现了。
深入&深入
当然如果没有上面如此"便捷"的环境与条件(肯定很难有o_O), 那么在安全测试过程中还是可以试一试的,比如下面这个方法。
找到到能执行sql查询的地方
set global general_log=on; //让general log开启
set global general_log_file='网站绝对路径/后门.php'; //生产后门文件
"<?php phpinfo(); ?>" // **log会保存一切查询命令** ,利用可以猥琐一点