前言
如今的互联网,WAF泛滥的年代,实在让我等脚本小子苦恼ing,尤其是阿里云服务器的自带防护,那不是一般的叫人牙疼,十个站8个站都是阿里云....
最近遇到几个站都是阿里云的服务器,比如:泛微e-cology7.1 SOAP注入引发的血案 这篇文章中,没有拦截我的WVS对wsdl的扫描探测。
在各种测试后突然发现了这个绕过阿里云防火墙的方法,不一定每一个都成功,但是能秒杀绝大部分的阿里云站,或许有许多大佬已经知道了这个方法,比较狠容易就能被发现的,只是大家都没说出来罢了,本着勤写文章赚TCV的原则,请各位大佬原谅我咯。
相信还有很多人不知道这个方法,不然就不会有好几个人在之前我发的帖子中问为什么WVS没被拦截了,相信发出来估计要不了多久又被修复了,以后搞阿里云的站就更难了,哎,舍得舍得,有舍才会有得。
准备测试工作
1.创建一个存在注入的PHP脚本:
<? $id = $_GET['i'];//接受参数名x的值并赋值给变量id $connection = mysql_connect("127.0.0.1","root","root");//连接数据库 mysql_select_db("test",$connection);//选择数据库 $myquery = "select * from biao where id=$id";//定义sql语句 $result = mysql_query($myquery);//执行sql语句 while($row = mysql_fetch_array($result)){ //遍历结果显示 echo "用户ID:".$row['id']."<br >"; echo "文章内容:".$row['text']."<br >"; echo "文章标题:".$row['title']."<br >"; echo "<hr>"; } mysql_close($connection);//关闭数据库连接 echo "当前执行语句:".$myquery."<hr>"; //php语言结尾 ?>
2.建立相关数据
CREATE TABLE IF NOT EXISTS `biao` ( `id` int(10) NOT NULL, `title` varchar(1000) NOT NULL, `text` varchar(1000) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=GBK; INSERT INTO `biao` (`id`, `title`, `text`) VALUES (1,'渗透注入','本地搭建注入环境')
绕过方法概况
其实吧,很简单的,没有什么惊天动地的绕过姿势,也没什么长篇大论的原理。
绕过,其实只需要将http改为https
,阿里云防火墙默认都是拦截的80端的请求,而对于443端口,很多时候都是忽略的,不信?那我们来测试下。
测试
1.绕过阿里云防火墙对发包扫描的防护:
扫描http端的时候,直接被拉了IP,而在被拉了IP的情况下,我们改成https的时候,如上图,一路畅通无阻。
2.绕过阿里云防火墙SQL注入拦截
没有加任何绕过WAF的tamper,http端直接502,也就是被拉了IP。
改为https,IP不变,不在有任何拦截,在没有加任何tamper绕过脚本的情况下,轻松注入获取数据
结尾
看完后是不是总有一种想打人的冲动呢?抱着万分期待的点进来,然而却看到如此奇葩普通的绕过姿势-。-
好嘛,你们真的不应该打我的,因为我说的很有道理的不是吗?确确实实明明白白的绕过了阿里云防火墙SQL注入呢。
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
大佬你的后台字典能够分享一下吗?
如果网站本身就是用的https是不是就不行了……不支持http
话说网站不支持https的怎么办呢。。。
@DanielLiu可以用阿里云的IP扫,阿里云扫阿里云不受拦截。