IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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笔记 -> 正文阅读

[PHP知识库]upload笔记

第一关 前端JS绕过
lasIndexOf是返回函数最后一次出现的地方(从右到左); substring是用来截取函数的; indexOf是返回 表示从.出现的地方开始截取并判断是否在允许的字符串内
上传一句话木马,对我进行了弹窗,判断是前端js验证。
绕过方法:
1.按F12打开调控台,删除下面这个验证js代码。
οnsubmit="return checkFile()
2.上传成功,返回图片信息即路径地址
/upload/1.php
第二关 MIME-TYPE验证绕过
($_FILES[‘upload_file’][‘type’] == ‘image/jpeg’)
判断文件类型是否为图片
绕过方法:
通过burp捉包修改Content-Disposition:上传php文件
第三题 黑名单检测(特殊16进制后缀绕过)
绕过方法:
1.用特殊16进制后缀截断尝试,例如0xf7,将插入的字节填为f7
p+
0x00截断的思路即为将+之后的内容忽略掉
%00是被服务器解码为0x00发挥了截断作用
…/upload/202108050019484083.php
第四关 黑名单检测 (.htaccess文件绕过)
添加可以执行php的文件类型:
AddType application/x-httpd-php .php

<FilesMatch .jpg > S e t H a n d l e r a p p l i c a t i o n / x ? h t t p d ? p h p < / F i l e s M a t c h > / / 这 个 会 覆 盖 前 面 的 c o p y 1. j p g / b + 1. p h p / a 2. j p g 我 只 能 用 . t x t 服 务 器 不 支 持 第 五 题 黑 名 单 过 滤 ( 后 缀 名 特 殊 字 符 多 写 ) 绕 过 方 法 : 1. p h p . . ( 两 个 点 中 间 加 个 空 格 ) w i n d o w s 在 创 建 文 件 的 时 候 , 末 尾 的 点 会 被 去 掉 第 六 题 黑 名 单 过 滤 ( 大 小 写 绕 过 ) 对 后 缀 名 进 行 大 小 写 , 例 如 1. p H P w i n d o w s 在 创 建 文 件 的 时 候 , 忽 略 大 小 写 , 实 际 保 存 的 文 件 名 后 缀 即 为 p h p 第 七 题 黑 名 单 过 滤 ( 空 格 绕 过 ) 空 格 可 以 绕 过 w i n d o w s 在 创 建 文 件 的 时 候 , 空 格 会 被 忽 略 第 八 题 黑 名 单 过 滤 ( 点 绕 过 ) 点 可 以 绕 过 w i n d o w s 在 创 建 文 件 的 时 候 , 点 会 被 忽 略 第 九 题 黑 名 单 过 滤 ( 流 文 件 绕 过 ) : : > SetHandler application/x-httpd-php </FilesMatch> //这个会覆盖前面的 copy 1.jpg/b+1.php/a 2.jpg 我只能用.txt 服务器不支持 第五题 黑名单过滤(后缀名特殊字符多写) 绕过方法: 1.php. . (两个点中间加个空格) windows在创建文件的时候,末尾的点会被去掉 第六题 黑名单过滤(大小写绕过) 对后缀名进行大小写,例如1.pHP windows在创建文件的时候,忽略大小写,实际保存的文件名后缀即为php 第七题 黑名单过滤(空格绕过) 空格可以绕过 windows在创建文件的时候,空格会被忽略 第八题 黑名单过滤(点绕过) 点可以绕过 windows在创建文件的时候,点会被忽略 第九题 黑名单过滤(流文件绕过) :: >SetHandlerapplication/x?httpd?php</FilesMatch>//copy1.jpg/b+1.php/a2.jpg.txt1.php..windows1.pHPwindows,phpwindowswindows::DATA可以绕过
windows在创建文件的时候,结尾流文件后缀会被忽略
第十一题 黑名单过滤(后缀名双写绕过)
绕过方法:
直接上传一个php文件,发现可以上传,但是查看返回路径发现,只有文件名,没有文件后缀名。则认
为他是将php替换为空了。
那么我们抓包将后缀名改成双写即可绕过,即11.pphphp
返回成功11.php
第十二题 白名单 get型%00截断
%00截断的概念和原理:
在url中%00表示ASCll码中的0,而0作为特殊字符保留,表示字符结束; 当url中出现%00时就认为读取已结束,而忽略后面上传的文件或者图片,只上传截断前的文件或图片。
要求:php版本小于5.3.4,且php中的magic.quotes.gpc为OFF状态
文件保存的方式是上传路径+随机时间+截取的文件后缀
先上传一个php文件,返回信息发现只允许上传.jpg|.png|.gif类型文件!认定为白名单验证。
通过抓包修改get 参数,然后通过file_ext无效,这样就可以上传php文件因此可以利用%00截断绕过。
上传jpg文档发现可以上传,则我们抓包,发现是GET型将路径信息暴露出来,我们尝试用00截
断,直接在save_path接收的值后面加上,1.php%00 并且将文件名改为1.jpg。成功上传,返回路
径信息
因为网站的原因GET提交参数到服务器系统中,系统在对文件名的读取时,如果遇到0x00,就
会认为读取已结束。
第十三题 白名单 POST型%00截断
上传jpg文档,发现是POST型将路径信息暴露出来,我们尝试用00截断,然后将save_path接收的值改为…/upload/1.php (有个空格),然后调整到hex中,将空格改为00,发包,发现上传成功,返回路径信息
第十四题 文件头检测
unpack() 函数从二进制字符串对数据进行解包返回数组一个字节为一个值)
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值
getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组
copy 8.png/b + 1.php/a 9.png
上传一句话图片木马<?php phpinfo();?>,将文件后缀改为php上传成功,但返回的为jpg格式文件
根据页面提示点开文件包含漏洞页面
根据页面提示通过GET请求的file参数填写我们的图片地址。
第十五题 文件头检测 代码函数用的是getimagesize()类型验证
本关一样使用图片马,和第十四题一样
第十六题 文件头检测代码函数用的是exif_imagetype()类型验证
exif_imagetype() — 判断一个图像的类型
开启文章开头环境说明中的extension=php_exif.dll
参考这个文章:https://www.freesion.com/article/48421366176/
第十七题 二次渲染绕过
先尝试上传一个gif格式的一句话图片木马,上传成功,右击图片查看图像
用文件包含漏洞解析发现是并没有成功。
用010editor把木马插入到图片中。
再对新修改的一句话图片木马上传,上传成功。
我没做出来
第二十题 保存名称可控,00截断
上传一句话木马,并且修改文件名php后缀,发现并不能上传上去
抓包修改上传名为2.php ,有个空格,我们再进入hex将空格的20修改为00进行截断,发现上传成功。
第二十一题 数组拼接后缀名
php修改后缀jpg上传抓包

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:23:01  更:2021-08-12 16:24:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/27 4:44:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码