day31 上传漏洞
前置
基础内容在 ctfshow 中演示
中间件
cms 中的文件上传
开始
文件上传一般配合抓包
前台验证, 在前台改就可上传成功
php 后缀的文件有 php 后门,可连接后门
MIME 验证
就是在抓包中数据包中的字段 content-type 中有内容验证
image/png 是图片,如果检测到 Php 内容,content-type 就会变成 Php 的内容
将图片的内容换成
在 java 或是 asp 的网站,就不要传 php 后门
大小写尝试能上传成功,但是浏览器访问提示下载,就是网站的解析配置问题
php 中 .user.ini 是一个什么样的文件呢
在.uer.ini 中包含 1.php, 在 1.php 中写入后门代码,访问 index.php 即可实现命令执行
文件上传过滤了<?php 就想到使用短标签<= 'php代码'>
后缀是解析用的,.user.ini 中包含的.png 的内容是 php 后门,就能实现命令执行
过滤了括号
使用反引号实现访问??
如果直接过滤<>尖括号呢,就寄了吧
文件头过滤
正常的文件都有文件头
比如 GIF89a
日志记录
网站在日志中会记录 user-agent 就是记录访问者的 user-agent,在抓到的数据包中修改 user-agent 为 php 木马,尝试连接