5.4文件上传(解析漏洞)
思路:
拿到站,先看中间件(确定是否存在解析漏洞),配合文件上传(字典扫描、网站会员中心),之后进行绕过和验证,黑白名单内容,之后进行CMS判断,最后进行编辑器漏洞判断,最新CVE
一、图片马
正常图片中包含后门代码;
copy 2.png /b + shell.php /a webshell.jpg 相当于手工在图片末尾添加后门代码生成新文件;
-b是指以二进制的方式合并复制文件,用于图像影音类文件
-a是指以ascii方式合并复制文件,用于文本类文件
二、文件包含(uploadlabs-14-17关)
是一个功能,开发语言内置文件包含函数,可以在一个代码文件中直接包含引入另一个文件,而中间包含后门代码得以执行;成功之后即可调用后门代码;
PHP中,提供
include( )
当使用该函数包含文件时,只有代码执行到 include()函数时才将文件包含
进来,发生错误时之给出一个警告,继续向下执行。
include_once( )
功能与 Include()相同,区别在于当重复调用同一文件时,程序只调用一次
require( )
require()与 include()的区别在于 require()执行如果发生错误,函数会输出
错误信息,并终止脚本的运行。
require_once( )
功能与 require()相同,区别在于当重复调用同一文件时,程序只调用一次。
如:http://www.uploadlabs.cn:83/include.php?file=upload/6820240429113549.jpg
三、检测内容及其他
1、二次渲染(配合文件包含/条件竞争)
文件上传后,网站会对其做二次处理(格式尺寸),服务器把其文件内容替换更新,处理完成后根据原有图片生成新图片放入网站;
把一句话木马插入图片在二次渲染后保留的那部分数据,确保不会被删除;
2、条件竞争(uploadlabs-17,过滤在文件上传之后)
系统在运行时,无法中断正在运行的文件或应用,当一个程序的运行的结果依赖于线程的顺序,处理不当就会发生条件竞争。(系统的运行结果依赖于不受控制的事件的先后顺序);
实例就是文件上传php后门成功的一瞬间,访问后门文件,无法执行后续的删除后门代码;
利用burp的测试器,不断发包
不断请求后门文件直到连接成功;
四、其他漏洞(中间件CVE,可百度漏洞变化信息)
tomcat/CVE-2017-12615(docker搭建环境)
docker compose build /docker compose up -d
配合上传漏洞解析出后门代码;
1、IIS5.x,6.x
/xx.asp/xx.jpg
xx.asp.jpg
test.asa test.cer test.cdx
IIS7.5: a.aspx a; a.aspx.jpg.jpg
2、Apach低版本2.x;
x.php.xxx.yyy 上传未知名不识别文件,向前解析直到识别;
配置文件 解析漏洞;
HTTPD换行漏洞(2.4.0-2.4.29)
上传1.php文件 将后缀修改位 1.php\x0A(hex中对应位置添加0a)
3、nginx(1.x版本)
上传图片文件之后,访问图片马地址后加/x.php 执行后门代码
4、CVE
IIS、Apach、Nginx、Tomcat、JBoss、weblogic、GlassFish、WebSphere(直接可百度搜索)
二、编译器漏洞
思路:网站搭建时利用的编译器,对应版本寻找网上已经公开的漏洞;
如:Uedit、Fckeditor、EWEBeditor
1.EXP使用思路
- 将对应exp代码复制到对应文件,如php文件
- 在对应php文件更目录下,创建cmd.bat当前会话cmd界面
- 执行该php文件
2.判断编译器
- 利用搜索引擎语法,
inurl:fckeditor
inurl:EWEBeditor
inurl:Uedit
inurl:ckeditor
inurl:kindeditor
三、CMS文件上传
通达OA系统等
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战