前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何寻找网站文件上传漏洞?

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

作者头像
用户1631416
发布2019-11-18 22:52:21
2.2K0
发布2019-11-18 22:52:21
举报
文章被收录于专栏:玄魂工作室玄魂工作室

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

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

服务器端:

.htaccess攻击:

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

看一段代码来理解下:

代码语言:javascript
复制
<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本地验证,客户端反应快。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档