【网络安全篇】php伪协议-漏洞及其原理

这篇具有很好参考价值的文章主要介绍了【网络安全篇】php伪协议-漏洞及其原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🏆今日学习目标:
🍀学习php伪协议
✅创作者:贤鱼
⏰预计时间:35分钟
🎉个人主页:贤鱼的个人主页
🔥专栏系列:网络安全
🍁贤鱼的个人社区,欢迎你的加入 贤鱼摆烂团
🍁如果有需要可以查看下面文章
25分钟了解php?php基础

伪协议实验原理,网络安全,php,web安全,安全

🍀支持为协议的函数

🍁文件包含函数

include();
include_once();
require();
require_once();

举个例子

include(文件名) ;
作用是如果文件名下的文件中有php代码,就会执行php代码,其他的部分直接输出

🍁 文件操作类函数

fopen();
file();
readfile();
file_get_contents();
......

举个例子

file_get_contents(文件名);
作用是直接读出文件名下文件的内容

🍀伪协议

🍁 file://

作用是访问本地文件系统

不受allow_url_fopen和allow_url_include影响
用法:

/path/to/file.ext
relative/path/to/file.ext
fileInCwd.ext
C:/path/to/winfile.ext
C:\path\to\winfile.ext
\\smbserver\share\path\to\winfile.ext
file:///path/to/file.ext

🍁 http://https://

作用是访问http(s)网址

文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和allow_url_fopen。
用法:

http://example.com/file.php?var1=val1&var2=val2
http://user:password@example.com

可以自己搭建一个网站然后利用漏洞

🍁ftp://

作用:访问ftp(s)URLs

文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和
allow_url_fopen。

用法:

ftp://user:password@example.com/pub/file.txt
ftps://example.com/pub/file.txt

🍁 php://

作用是访问各个输出输出流

🍁php://input

可以访问亲求的原始数据只读流
可以理解为这一串话整个是一个特殊的文件名,和include搭配的话,因为include可以读取文件名下的内容并且有php代码就执行,可是这个特殊的文件名是找不到的,所以我们就可以自己写文件内容

文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和
allow_url_fopen。

🔥例题讲解:

伪协议实验原理,网络安全,php,web安全,安全
做题首先要读懂代码

很明显,这个代码的意思就是说过滤flag,如果没有flag就可以包含文件

具体怎么做呢?
伪协议实验原理,网络安全,php,web安全,安全

伪协议实验原理,网络安全,php,web安全,安全

上文所说,我们利用php://input可以自己写文件并且执行,那么我们可以传参php://input然后在下面写php代码
伪协议实验原理,网络安全,php,web安全,安全

🍁php://filter

php://filter 是一种元封装器,设计用于数据流打开时的筛选过滤应用

本地文件无论allow_url_fopen,allow_url_include是否开启都可以使用,allow_url_fopen开启时文件操作函数里resource可以是远程的,allow_url_include也开启包含resource才可以是远程的。

用法:

php://filter/read=convert.base64-encode/resource=c:/windows/win.ini

讲解一下每个部分的作用

read是要执行的操作
convert.base64-encode的意思是读出的内容经过一次base64编码
resource后面跟的是读取内容的路径

参数(作为路径的一部分)

名称 描述
resource=<要过滤的数据流> 这个参数是必须的。它指定了你要筛选过滤的数据流。
read=<读链的筛选列表> 该参数可选。可以设定一个或多个过滤器名称,以管道符(
write=<写链的筛选列表> 该参数可选。可以设定一个或多个过滤器名称,以管道符(
<;两个链的筛选列表> 任何没有以 read= 或 write= 作前缀的筛选器列表会视情况应用于读或写链。

字符串过滤器

名称 描述
string.rot13 进行rot13转换
string.toupper 将字符全部大写
string.tolower 将字符全部小写
string.strip_tags 去除空字符、HTML 和 PHP 标记后的结果

编码过滤器

onvert.iconv.utf-8.utf-7 将utf-8编码转换为utf-7编码,这样再继续使用base64编码写文件时候,不会因为特殊符号无法新建文件(windows)
convert.base64-encode/convert.base64-decode base64编码解码
onvert.quoted-printable-encode/convert.quoted-printable-decode quoted-printable 编码解码

🍁 data://

数据流封装器,直接就是数据。

文件操作函数需开启allow_url_fopen,文件包含需同时开启allow_url_include和
allow_url_fopen。

用法

data://text/plain,<?php phpinfo()?>
data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=

第一个就直接执行后面的php代码,第二个的意思是将后面的一串经过base64解码后执行(用来绕过过滤)

🔥例题讲解

伪协议实验原理,网络安全,php,web安全,安全
伪协议实验原理,网络安全,php,web安全,安全
这里编码完最后其实有一个+,但是如果+不处理就无法执行,所以我们提前url编码一次,+的url编码是%2b
伪协议实验原理,网络安全,php,web安全,安全

🍁 compress.zlib:// compress.bzip2:// zip://

用法:

compress.zlib://file.gz
compress.bzip2://file.bz2
zip://archive.zip#dir/file.txt

🏆结束语

如果感兴趣,可以订阅一下专栏!!持续更新网络安全方面的内容!!

伪协议实验原理,网络安全,php,web安全,安全文章来源地址https://www.toymoban.com/news/detail-777758.html

到了这里,关于【网络安全篇】php伪协议-漏洞及其原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全】「漏洞原理」(二)SQL 注入漏洞之理论讲解

    严正声明:本博文所讨论的技术仅用于研究学习,旨在增强读者的信息安全意识,提高信息安全防护技能,严禁用于非法活动。任何个人、团体、组织不得用于非法目的,违法犯罪必将受到法律的严厉制裁。 【点击此处即可获取282G网络安全零基础入门学习资源】 信息搜集在

    2024年02月06日
    浏览(49)
  • [CTF/网络安全] 攻防世界 fileinclude 解题详析(php伪协议)

    由于index.php在/var/www/html目录下,而flag.php与index.php同为php文件,故猜想flag.php也在该目录下。 查看页面源代码获取更多信息: 源代码中看到 @include($lan.\\\".php\\\"); ,即此处存在文件包含。 又因为 $lan = $_COOKIE[\\\'language\\\']; 因此解题思路为:利用php伪协议,构造language参数,来读取该目

    2024年02月07日
    浏览(47)
  • [CTF/网络安全] 攻防世界 Web_php_include 解题详析(php伪协议、data伪协议、file伪协议)

    这段代码首先通过 show_source(__FILE__) 显示当前文件的源代码,然后通过 $_GET[\\\'hello\\\'] 显示 URL 参数中名为 hello 的值。 接下来,代码使用 $_GET[\\\'page\\\'] 获取 URL 参数中名为 “page” 的值,并进行字符串替换,将 php:// 替换为空字符串 这是为了防止通过 URL 参数加载本地文件或其他可

    2024年02月08日
    浏览(48)
  • 【网络安全】https与证书原理 | SSL Pinning及其绕过

    参考: https://segmentfault.com/a/1190000009002353?sort=newest https://zhuanlan.zhihu.com/p/353571366 https://juejin.cn/post/6863295544828444686 HTTPS=HTTP+TLS,其它的协议也类似,如FTPS=FTP+TLS 1) ClientHello Client 首先发送本地的 TLS 版本、支持的加密算法套件,并且生成一个随机数 R1 。 2)Server Hello Server 端确

    2024年02月05日
    浏览(50)
  • 网络安全-kkFileViews任意文件读取漏洞原理解析

    在学习的过程中,了解到kkFileView存在任意文件读取、SSRF、文件上传漏洞。 为了更深刻的理解其原理,我从git拉取了项目,由于该漏洞在最新版本已经修复,所以这只是历史版本中存在的。 写这篇文章来提醒自己代码中容易出问题的地方。 来到kkFileView官网,发现支持Gitee,

    2024年04月11日
    浏览(38)
  • 【HUST】网络攻防实践|6_物联网设备固件安全实验|实验一 裸机缓冲区溢出漏洞利用

    写在最前: 大家分析的时候看一下自己学号是多少,然后分析对应的文件哈,我想都没想就打开01分析了,全部都做完了发现我不是这个文件,当事人现在就是很后悔,非常后悔呜呜呜呜呜。 打开 IDA Pro 7.6 ,打开 task1_0x.elf 文件, 选对应的选项。 然后点开 main 函数, f5 反汇

    2024年02月09日
    浏览(53)
  • Web网络安全-----Log4j高危漏洞原理及修复

    Web网络安全-----红蓝攻防之信息收集 Log4j 即 log for java(java的日志) ,是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;

    2024年02月10日
    浏览(53)
  • [网络安全] Windows Server 设置文件屏蔽防止黑客利用漏洞上传特定类型的非法文件(.asp .aspx .jsp .php)

    [网络安全] Windows Server 设置文件屏蔽防止黑客利用文件上传漏洞上传特定类型的非法文件(.asp .aspx .jsp .php) 我在负责网站运维期间,遇到过一次黑客利用公司网站内使用的开源文件上传工具漏洞上传非法文件(可执行脚本) 我是通过设置文件屏蔽来防止此类事件的再次发生。

    2024年02月12日
    浏览(59)
  • [CTF/网络安全] 攻防世界 file_include 解题详析(php伪协议+convert转换过滤器)

    题目描述:怎么读取文件呢? 思路: 由代码审计可知,可通过filename参数构造POC,来读取check.php POC的构造涉及PHP伪协议,参考链接: 文件包含 | PHP伪协议实战 POC: 回显如下: 猜测被过滤,怎么办呢? 该题涉及到 convert转换过滤器 常见的convert转换过滤器有这两种:

    2024年02月07日
    浏览(71)
  • 【网络安全---XSS漏洞(1)】XSS漏洞原理,产生原因,以及XSS漏洞的分类。附带案例和payload让你快速学习XSS漏洞

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 以pikachu靶场为例子进行讲解,pikachu靶场的搭建请参考以下博客; 【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)_网络安

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包