渗透测试-文件上传漏洞

简介

文件上传漏洞,字如其意,就是 ** 可能出现在一切允许上传文件的功能点** ;

它是指由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

** 靶场推荐**

** 漏洞危害**

允许上传脚本语言文件且解析 ==> getshell

允许上传html ==> xss、csrf、登陆劫持…

允许上传压缩包 ==> 压缩包DOS、解压文件getshell

允许上传pdf ==> pdf xss

允许上传swf ==> swf xss

允许上传excel、docx ==> xxe

https://twitter.com/Eyhuss1/status/1492507581084053508

asp, aspx, php : webshell, rce
svg: stored xss, ssrf, xxe
gif: stored xss, ssrf
csv: csv injection
xml: xxe
avi: lfi,ssrf
html, js: html injection, xss, open redirect
png: pixel flood attack, dos
zip: rce via lfi, dos
pdf: ssrf, blind xxe, Stored XSS

** 挖掘判断**

主要过程还是上传正常的图片抓包,再判断一下后端的过滤规则有哪些,再针对这些规则来分析绕过

黑白名单

内容是否有判断

是否二次渲染

是否有解析漏洞

图自:https://github.com/c0ny1/upload-labs/raw/master/doc/sum_up.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtQVk7Te-1690687210948)(https://image.3001.net/images/20220513/1652424599_627dff97472fd0e3aa95d.png!small?1652424599682)]

** 绕过方法**

图自:https://github.com/c0ny1/upload-labs/blob/master/doc/mind-map.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9fBraiUj-1690687210949)(https://image.3001.net/images/20220513/1652424795_627e005b23a8a96d0aceb.png!small?1652424797969)]

** 可解析后缀**

语言

|

可解析后缀

—|—

asp/aspx

|

asp,aspx,asa,asax,ascx,ashx,asmx,cer,aSp,aSpx,aSa,aSax,aScx,aShx,aSmx,cEr

php

|

php,php5,php4,php3,php2,pHp,pHp5,pHp4,pHp3,pHp2,html,htm,phtml,pht,Html,Htm,pHtml

jsp

|

jsp,jspa,jspx,jsw,jsv,jspf,jtml,jSp,jSpx,jSpa,jSw,jSv,jSpf,jHtml

** Content-Type**

常见类型见下:

文件类型

|

Content-type

—|—

超文本标记语言文本

|

.html,.html text/html

普通文本

|

.txt text/plain

RTF文本

|

.txt text/plain

GIF图形

|

.gif image/gif

JPEG图形

|

.jpeg,.jpg image/jpeg

au声音文件

|

.au audio/basic

MIDI音乐文件

|

.mid,.midi audio/midi,audio/x-midi

RealAudio音乐文件

|

.ra, .ram audio/x-pn-realaudio

MPEG文件

|

.mpg,.mpeg video/mpeg

AVI文件

|

.avi video/x-msvideo

GZIP文件

|

.gz application/x-gzip

TAR文件

|

.tar application/x-tar

** 文件头**

文件幻数是用来唯一标识文件类型的一系列数字(十六进制),也就是我们常说的文件头,当白名单限制了文件幻数时,我们就要给我们的文件制造可以通过检测的文件头即可:

.jpg Value = FF D8 FF E0
.gif Value = 47 49 46 38 ==> GIF89a
.png Value = 89 50 4E 47
.html Value = 68 74 6D 6C 3E 10
.xml Value = 3C 3F 78 6D 6C

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4yN4akbu-1690687210950)(https://image.3001.net/images/20220513/1652424803_627e00636ac7720e35865.png!small?1652424803751)]

** 图片马**

如果后缀可以为jsp、php等,但是内容必须为图片,那么可以用图片马来进行getshell

或者会解析图片为相关的代码

  • Windows

copy 1.jpg/b+1.php/a 2.jpg

  • *nix(我失败了)

cat file1.txt >> file2.jpg
cat file1.txt file2.jpg >> file3.jsp

** 条件竞争**

如果网站的文件上传的过程是:服务器获取文件–>保存上传临时文件–>重命名移动临时文件
这样的步骤时,就可以通过不断地对文件进行上传和访问,从而使服务器还未重命名移动临时文件时,我们就利用时间差打开了文件,成功执行其中的恶意代码。

** 具体方法:** 并发发包,如Burp、fuff等

** 二次渲染**

二次渲染的工具可能存在RCE等漏洞,如ImageMagick

通过十六进制寻找二次渲染后内容未改变的部分,再在其中插入代码

** 双上传**

和标题一个意思,同时构造两个上传,可能服务端只会验证第一个上传,而第二个上传则直接保存

** 修复建议**

后缀白名单,只允许上传jpg、jpeg、png、gif

内容完整性检测

WAF

** 文件上传FUZZ**

,只允许上传jpg、jpeg、png、gif

内容完整性检测

WAF

** 文件上传FUZZ**

网络安全学习路线

这是一份网络安全从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QmHJut0s-1690687210951)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]编辑

阶段一:基础入门

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8AhBxSc1-1690687210951)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

网络安全导论

渗透测试基础

网络基础

操作系统基础

Web安全基础

数据库基础

编程基础

CTF基础

该阶段学完即可年薪15w+

阶段二:技术进阶(到了这一步你才算入门)

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SplXxy3R-1690687210952)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

弱口令与口令爆破

XSS漏洞

CSRF漏洞

SSRF漏洞

XXE漏洞

SQL注入

任意文件操作漏洞

业务逻辑漏洞

该阶段学完年薪25w+

阶段三:高阶提升

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HdxqrlYy-1690687210953)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

反序列化漏洞

RCE

综合靶场实操项目

内网渗透

流量分析

日志分析

恶意代码分析

应急响应

实战训练

该阶段学完即可年薪30w+

阶段四:蓝队课程

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zh2zYqqP-1690687210953)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

蓝队基础

蓝队进阶

该部分主攻蓝队的防御,即更容易被大家理解的网络安全工程师。

攻防兼备,年薪收入可以达到40w+

阶段五:面试指南&阶段六:升级内容

img

需要上述路线图对应的网络安全配套视频、源码以及更多网络安全相关书籍&面试题等内容

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

同学们可以扫描下方二维码获取哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值