利用MIME sniffing进行攻击

admin 2024年1月25日13:06:03评论8 views字数 655阅读2分11秒阅读模式

这是一个比较有意思的研究,就是一个网站的数据返回包中,如果没有设置content-type这个数据头的话,而且内容是可操控,那么我们就可以利用MIME让浏览器把文件当作网页来显示。

比如说,一个网站如果可以上传图片,只检查了文件名,我们可以在内容中插入一段html代码,内容可以是一个xss的payload,如果服务器在输出这个图片的时候,没有自动加上content-type,浏览器就会将其当作网页执行,然后出现弹窗。

但是现在问题在于服务器会自己自动加上content-type这个头

那么还有一种方式,apache有一种特性,就是文件名如果是只有.的话,那么就不会返回content-type这个头,那么我们的文件就可以成功当作网页读取了,具体如下。

利用MIME sniffing进行攻击

上传文件,然后直接访问

利用MIME sniffing进行攻击

这种方式,其实在现实环境下,基本上大多数的网站都存在着将文件名修改之后保存的操作,所以限制很大。

那么什么样的centent-type才会被浏览器解析为网站呢,

   application/zip

   application/json

   application/octet-stream

   text/html

   text/json

   text/plain

   huli/blog

   font/woff2

这些返回头都是可以解析为网页的。

想要关闭这种机制,我们只需要在返回包种新增一个数据头:

X-Content-Type-Options: nosniff

这样上面的就都不可以执行了。

原文始发于微信公众号(白安全组):利用MIME sniffing进行攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月25日13:06:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用MIME sniffing进行攻击http://cn-sec.com/archives/2429372.html

发表评论

匿名网友 填写信息