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系统等

posted @ 2024-05-04 11:53  路Sang  阅读(8)  评论(0编辑  收藏  举报