前言
如今的互联网,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 创作,除注明转载/出处外,均为本站原创,转载前请注明出处!