如何寻找网站文件上传漏洞?

admin 2022年1月12日18:29:22评论111 views字数 896阅读2分59秒阅读模式

首先找到文件上传的窗口,然后判断是服务器端还是客户端的验证客户端较容易判断出来,最后检验是哪种服务器端的过滤方式。判断是客户端和服务端检验,再检验是白名单还是黑名单,根据具体情况来决定采用什么绕过方式。


文件上传漏洞:服务器端和客户端

服务器端:

.htaccess攻击:

这个攻击主要是上传一个.htaccess文件,让我们上传到服务器端的文件能运行起来

看一段代码来理解下:


<FilesMatch "Monster">SetHandler application/x-httpd一php</FilesMatch>

这段代码的意思就是,我上传的文件,只要是Monster.xxx就以php格式运行,例如当我上传一个Monster.txt,当我访问这个文件的时候,这个文件就会以php形式运行起来。

这个漏洞主要应用在:上传漏洞getshell,维持访问后门。


%00截断上传

当服务器端过滤文件的时候,是通过判断文件后缀来审查文件。

我们可以在传输这个文件改变文件的后缀名,例如:

www.xxx.com/qq.jpg(正常文件上传)

www.xxx.com/qq.php%00.jpg(上传一个php文件,但我们上传到服务器端要以php运行呀,所以要截断.jpg)

注意:%00这个在url上要编码成url形式,否则url编码之后上传上去就不是%00了,所以会产生错误。


Mine修改上传

当服务器端过滤文件的时候,是通过判断文件类型来审查文件。

那我们就要改数据包中的Content-Type

jpg的类型是:image/jpeg

如何寻找网站文件上传漏洞?

如何寻找网站文件上传漏洞?

伪造路径攻击

结合解析漏洞利用


编辑器任意文件上传

通常进到后台,大多数有个编辑器,这时候应该先确定是什么编辑器,再去网上进行搜索该编辑器对应版本的漏洞。


客户端:

JS绕过上传

JS验证时通过Java script来判断文件,过滤这个好解决,就是直接删除过滤的代码,因为这是客户端代码,这些代码是直接显示出来的,所以我可以知道他们的代码。

或者通过捉包修改我们的数据包进行任意文件上传,可以看反应速度来确定下是不是js本地验证,客户端反应快。

如何寻找网站文件上传漏洞?


本文始发于微信公众号(渗透云笔记):如何寻找网站文件上传漏洞?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月12日18:29:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何寻找网站文件上传漏洞?http://cn-sec.com/archives/493938.html

发表评论

匿名网友 填写信息