安全街
一步步,我们的信息安全时代

1.一句话说文件上传漏洞

文件上传漏洞,就是攻击者通过网站的文件上传功能绕过文件过滤来上传Webshell的一种攻击。

2.漏洞利用方式

2.1 burpsuite抓包改包

先将shell后缀名改为支持上传的类型,在上传选项中选取后改为原本的后缀名。

  • 对于Content-Type验证,可以在这里修改为对应允许通过的类型。
  • 对于文件头验证, 可以将shell的文件头改为对应的,比如上传一个GIF图片,文件头就要是GIF89a

2.2 黑名单绕过

一些网站是通过黑名单机制禁止上传webshell,比如php的网站禁止上传.php,asp的网站禁止上传.asp
但是难免有漏网之鱼,php网站也可以解析.php3.php4,asp网站同样可以解析.asa.cer
直接上传这样的webshell即可。
另外也可以通过后缀名混合大小写来绕过,比如.pHp

2.3 利用中间件解析漏洞

  • IIS 5.x-6.x 会将.asp目录下的文件都解析为asp
  • IIS 5.x-6.x 不会解析分号后的内容,可以这样ma.jpg;.asp
  • apache从右至左解析文件,若遇到不认识的文件后缀名就会继续向左,如ma.php.haha会被解析为ma.php
  • apache可以通过更改当前目录的.htaccess文件来将.jpg解析为.php
  • Nginx和IIS 6.0都存在%00截断漏洞

3.上传漏洞的防御

  • 使用白名单
  • Content-Type类型检查
  • 文件头检查
  • 上传文件重命名
  • 隐藏文件上传的路径
  • 服务端检查文件内容

这篇文章还没有人发言,快抢第一!

发表评论