| |
|
|
开发:
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 -> 正文阅读 |
|
|
[PHP知识库]upload-labs |
|
写一个一句话木马:
Pass-01先上传php文件
禁用js验证即可
再次上传文件,上传成功 复制链接,连接蚁剑,添加数据,测试连接
?Pass-02Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。 Content-Type 标头告诉客户端实际返回的内容的内容类型。 语法格式:
MIME的作用 : 使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件。 web服务器使用MIME来说明发送数据的种类, web客户端使用MIME来说明希望接收到的数据种类。 常见的MIME类型 上传PHP文件
分析代码,可以看到,后端PHP代码只对content-type进行了检查
修改上传的PHP的content-type为image/png(欺骗服务器)
? ?Pass-03分析代码,进行黑名单验证,但是黑名单不全,可以使用php3、php5、phtml等等绕过 用黑名单不允许上传 改一下
??修改完配置文件要重启一下phpstudy服务环境 然后把一句话木马文件.php后缀改为.php5 即可上传 复制链接,连接蚁剑,添加数据,测试连接
?Pass-04发现使用上面上传的php5或者其他类型的文件,都以失败告终。
?笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
上传成功,我们再上传一个图片马:
?再用蚁剑进行连接
?Pass-05源码里把所有可以解析的后缀名都给写死了,包括大小写,转换,空格,还有点号,正常的php类文件上传不了了,并且拒绝上传 .htaccess 文件。
php.ini 是 php的配置文件,.user.ini 中的字段也会被 php 视为配置文件来处理,从而导致 php 的文件解析漏洞。 但是想要引发 .user.ini 解析漏洞需要三个前提条件
创建一个.user.ini文件并把它上传
.user.ini文件里的意思是:所有的php文件都自动包含666.jpg文件。.user.ini相当于一个用户自定义的php.ini 接着上传666.jpg文件,文件内容为:
等候5分钟,然后用蚁剑连上去 然后在复制图像地址后,用蚁剑访问将文件名改为1.php
Pass-06这一关同样是后端黑名单,同时过滤掉.htaccess和.ini。但是没有使用strtolower()函数,可以使用大小写绕过黑名单 把.php 格式改为 .Php 上传上去之后,就会自动解析为.php
?然后直接上传,蚁剑连接
Pass-07这一关黑名单,没有使用trim()去除空格,可以使用空格绕过黑名单 抓包,修改上传一句话木马文件名
?放包之后用蚁剑连接
Pass-08这一关黑名单,没有使用deldot()过滤文件名末尾的 抓包,修改上传一句话木马文件名
? ?Pass-09这一关黑名单,没有对::D A T A 进 行 处 理 , 可 以 使 用 : : DATA进行处理,可以使用::DATA进行处理,可以使用::DATA绕过黑名单
? ?Pass-10这一关黑名单,最后上传路径直接使用文件名进行拼接,而且只对文件名进行 补充知识:deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来 上传1.php 然后用bp改后缀1.php. .加点空格点(即文件名为)
?使用蚁剑连接
Pass-11这一关黑名单,使用str_ireplace()函数寻找文件名中存在的黑名单字符串,将它替换成空(即将它删掉),可以使用双写绕过黑名单 补充知识:str_ireplace(find,replace,string,count) 函数替换字符串中的一些字符(不区分大小写) 上传1.php 然后用bp改后缀为.pphphp
?使用蚁剑连接1.php
Pass-12这一关白名单,最终文件的存放位置是以拼接的方式,可以使用%00截断,但需要 原理:php的一些函数的底层是C语言,而move_uploaded_file就是其中之一,遇到0x00会截断,0x表示16进制,URL中%00解码成16进制就是0x00。
上传
? ?放包之后用蚁剑连接 Pass-13这一关白名单,文件上传路径拼接生成,而且使用了post发送的数据进行拼接,我们可以控制post数据进行0x00截断绕过白名单 补充知识:POST不会对里面的数据自动解码,需要在Hex中修改。 上传
? ?在
? ?但是这里要注意一下,蚁剑连接填的URL地址要把php后面部分要删掉
Pass-14这一关会读取判断上传文件的前两个字节,判断上传文件类型,并且后端会根据判断得到的文件类型重命名上传文件
上传图片马 因为上传图片马之后会被重命名图片所以下面的payload的图片名字可以在上传之后复制图片链接就可以了 然后用蚁剑连接
Pass-15通过使用getimagesize()检查是否为图片文件,所以还是可以用 这里直接传图片马
? Pass-16知识补充: exif_imagetype()读取一个图像的第一个字节并检查其后缀名。 可以用图片马绕过
Pass-17这一关对上传图片进行了判断了后缀名、content-type,以及利用imagecreatefromgif判断是否为gif图片,最后再做了一次二次渲染,但是后端二次渲染需要找到渲染后的图片里面没有发生变化的Hex地方,添加一句话,通过文件包含漏洞执行一句话,使用蚁剑进行连接 补充知识: 这里有个小提示,对于做文件上传之二次渲染建议用GIF图片,相对于简单一点 上传正常的GIF图片下载回显的图片,用010Editor编辑器进行对比两个GIF图片内容,找到相同的地方(指的是上传前和上传后,两张图片的部分Hex仍然保持不变的位置)并插入PHP一句话,上传带有PHP一句话木马的GIF图片
? ? ? Pass-18打开第十八关,通过提示发现跟以前的都不一样。
?计分析一下代码 从源码来看,服务器先是将上传的文件保存下来,然后将文件的后缀名同白名单对比,如果是jpg、png、gif中的一种,就将文件进行重命名。如果不符合的话,unlink()函数就会删除该文件。 这么看来如果我们还是上传一个图片马的话,网站依旧存在文件包含漏洞我们还是可以进行利用。但是如果没有文件包含漏洞的话,我们就只能上传一个php木马来解析运行了。 把一句话木马换一下改为:
把这个php文件通过burp一直不停的重放,访问到该文件就会在当前目录下生成一个Tony.php的一句话。在正常的渗透测试中这也是个好办法。因为单纯的去访问带有phpinfo()的文件并没有什么效果。一旦删除了还是无法利用。但是这个办法生成的Tony.php服务器是不会删除的,我们就可以通过蚁剑去链接了。 首先,我们上传PHP文件,用BP拦截 ?进行下一步操作前,这里有个小细节,就是
?然后选择 接着设置无限发送空的
BP点击开始攻击 可以看到上传该文件的数据包不停地在进行重放。
?用蚁剑连一下试试
Pass-19打开源码看,是一个条件竞争的类型 查看源代码,发现对图片的格式并没有很大的检查 所以首先,将装有一句话木马的php文件后缀改为.gif, 尝试用%00截断,方法同pass-12 通过抓包改包
|
|
|
| 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图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/3 2:55:02- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |