专栏名称: 系统安全运维
未知攻 焉知防 攻防兼备
今天看啥  ›  专栏  ›  系统安全运维

实战分享 | Post文件上传WAF Bypass总结

系统安全运维  · 公众号  ·  · 2024-08-05 09:48

文章预览

本文介绍的思路主要围绕针对于 POST 参数的  multipart/form-data  进行讨论。 multipart/form-data  是为了解决上传文件场景下文件内容较大且内置字符不可控的问题。在最初的 http 协议中,并没有上传文件方面的功能。RFC1867 为 HTTP 协议添加了这个能力。常见的浏览器都已经支持。按照此规范将用户指定的文件发送到服务器,可以按照此规范解析出用户发送来的文件。 HTTP 传输的内容通过 boundary 进行了分割,以  --boundary  开始,并以  --boundary--  结尾。 multipart/form-data 格式也是可以传递 POST 参数的。对于 Nginx + PHP 的架构,Nginx 实际上是不负责解析 multipart/form-data 的 body 部分的,而是交由 PHP 来解析,因此 WAF 所获取的内容就很有可能与后端的 PHP 发生不一致。 通过一个简单的脚本来验证上面的说法。 echo file_get_contents ("php://input"); echo '$_POST Content\n'; echo ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览