思维导图
堆叠注入查询
堆叠注入就是一堆sql语句一起执行,在mysql命令行中,每一条语句结尾加;表示语句结束。
eg:select * from users where id=1;select * from emails;
堆叠注入用处:
注入时需要管理员账号密码,密码加密,无法解密;
堆叠追进行插入数据,用户密码自定义可以正常登陆
WAF
安全狗演示
- 资源防护(一般默认设置)
- 安全狗的拦截
更改提交方式为post,发现没有出现拦截,但是内容显示不正常--因为代码只支持get提交。
- 有些特殊符号不影响查询,但可以绕过waf检测
联合查询拦截--(union select)
%23--#
%0a--换行
%20--空格
/*!*/ 用来分割语句
安全狗检测时采用整体检测:union select整体会被检测,只其一不会被检测到
可以使用:union/*!*/select 绕过检测
http参数污染
出现多个参数时,不同服务器对参数的处理不同,从而使得原参数失效
可以绕过安全狗
安全狗匹配的时候匹配的是 1/**-1 union select 1,2,3#*/或1/**&id=-1%20union%20select%201,2,3%23 */其中符号中 起到注释作用,正常情况下没有执行,安全狗直接不管,但是参数污染导致接受的真实数据是 -1 union select 1,2,3#*/ 能正常执行sql
当前执行语句:select * from users where id=-1 union select 1,2,3#*/参数污染