| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 【小迪安全】upload-labs 1-21(除了19)(白盒) -> 正文阅读 |
|
[PHP知识库]【小迪安全】upload-labs 1-21(除了19)(白盒) |
【小迪安全】upload-labs 1-21(除了19)(白盒)目录
Pass-01(前端白名单)
题解
注意:你上传到服务器上时必须能以php代码的形式打开,要不然传上去没用 Pass-02(MIME类型)
白名单,此代码检测上传文件的 MIME类型 题解
我把之前上传的给删了 Pass-03(黑名单,其他可以解析成php的后缀)
这题过滤的都可以成为绕过的思路 题解
配置文件的地址:Apache 的配置文件 httpd.conf 文件里的如下图所示的一行
Pass-04(黑名单,.htaccess解析)
但是它没有禁 .htaccess 后缀。 .htaccess解析:只有apache能用,生成伪静态页面,可以通过它来实现解析自定义。
题解
虽然写的是 jpg 后缀,但还是 php 解析 Pass-05(黑名单,一次过滤,.user.ini)
分析:文件名为: 题解
我本来以为Pass-10与Pass-05是一样的,但我认真比对他们的源代码后,发现Pass-05的黑名单中没有Pass-10中的 “.ini” ,然后我就上网去查,查到了.user.ini文件构成的PHP后门 - phith0n (wooyun.js.org)有个 ".user.ini" 相关网址:https://blog.csdn.net/kingdring/article/details/115922458 需要低版本的php Pass-06(黑名单,大小写)
题解
Pass-07(黑名单,空格绕过)
如果直接在文件名后面加个空格,操作系统会自动把空格去掉,所以只能抓包改后缀。而且传上去的文件会自动把空格删掉。 后面加个空格为什么能绕过黑名单? 题解
Pass-08(黑名单,点绕过)
题解
Pass-09(黑名单,::$DATA)黑名单,没有去除
题解
Pass-10(黑名单,一次过滤)这题可以用Pass-05的一次过滤的思想,详细题解看 Pass-05 如果是黑盒且是一次过滤,那只能一个一个试,把可能的排列顺序都试一遍 Pass-11(黑名单,双写后缀名)黑名单,其中有一个删除黑名单中出现的名字的后缀,可是只删除了一次,所以我们可以双写后缀名来绕过。 题解
Pass-12(白名单,%00截断 GET)
%00截断,对方服务器PHP版本要小于5.3.29 题解
变成了
? 起作用的只有%00前面的
Pass-13(白名单,%00截断 POST)
POST请求上的%00需要url解码,因为GET请求是写在网站地址上的会自动解码,但POST不是需要手动解码。 题解
Pass-14
? 图片码最后存在恶意代码 题解
如果直接加 Pass-15(与文件包含漏洞结合,getimagesize)
这题判断是否为图片,用的是getimagesize函数。使用图片码
题解
Pass-16(与文件包含漏洞结合,exif_imagetype)白名单,与文件上传漏洞结合,用exif_imagetype()函数判断文件类型
打开php_exif模块 或者在 php.ini中把 题解
Pass-17(二次渲染)
上传的图片存在恶意代码 经过渲染后没有了恶意代码 Pass-18(条件竞争)
条件竞争:当一个文件被使用时,不能进行其他操作(重命名、删除等) 本题在第一次上传服务器没有改名字,如果改了名字就不好办了 题解
Pass-19(还没写)之后再研究 Pass-20(黑名单,文件夹命名)黑名单,自定义名字 取一个 题解
Pass-21(白名单,文件夹命名)
所以要命名为 我们需要自己把名字划分为数组,具体分析如图: 题解
此题我多次放包得到的结果为“文件上传失败”,其实显示这个说明已经成功绕过,我本来以为是还有什么问题(比如文件地址不可以那样写),但是最后一次又成功上传了,这我就不知道是什么问题了,可能环境不太稳定吧。 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:23:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |