作用:
用于访问本地文件系统
语法:
file:// [文件的绝对路径和文件名]
举例:
http://127.0.0.1/cmd.php?file=file://D:/soft/phpStudy/WWW/phpcode.txt
file:// 用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响
作用:
是php中独有的一种协议,它是一种过滤器,可以作为一个中间流来过滤其他的数据流。通常使用该协议来读取或者写入部分数据,且在读取和写入之前对数据进行一些过滤,例如base64编码处理,rot13处理等。读取源代码并进行base64编码输出,不然会直接当做php代码执行就看不到源代码内容了。
语法:
php://filter/过滤器|过滤器/resource=待过滤的数据流
①读取文件内容:php://filter/read=convert.base64-encode/resource=文件名
②写入文件内容: php://filter/write=convert.base64-decode/resource=文件名
举例:
http://127.0.0.1/cmd.php?file=php://filter/read=convert.base64-encode/resource=./cmd.php
作用:
可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。
语法:
php://input `[POST DATA]`你想写入的字符串
一般遇见 file_get_contents() 考虑使用php://input
作用:
属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名。
语法:
zip:// [压缩文件绝对路径]#[压缩文件内的子文件名]
举例:
zip://archive.zip#dir/file.txt
先将要执行的PHP代码写好文件名为phpcode.txt,将phpcode.txt进行zip压缩,压缩文件名为file.zip,如果可以上传zip文件便直接上传,若不能便将file.zip重命名为file.jpg后在上传,其他几种压缩格式也可以这样操作。
由于#在get请求中会将后面的参数忽略所以使用get请求时候应进行url编码为%23,且此处经过测试相对路径是不可行,所以只能用绝对路径。
作用:
属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名。
语法:
compress.bzip2://file.bz2
举例:
http://127.0.0.1/cmd.php?file=compress.bzip2://D:/soft/phpStudy/WWW/file.jpg
http://127.0.0.1/cmd.php?file=compress.bzip2://./file.jpg
作用:
属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名。
语法:
compress.zlib://file.gz
举例:
http://127.0.0.1/cmd.php?file=compress.bzip2://D:/soft/phpStudy/WWW/file.jpg
http://127.0.0.1/cmd.php?file=compress.bzip2://./file.jpg
作用:数据流封装器。
语法:
http://127.0.0.1/cmd.php?file=data://text/plain,
http://127.0.0.1/cmd.php?file=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
http://127.0.0.1/cmd.php?file=data:text/plain,
http://127.0.0.1/cmd.php?file=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
举例:
总结:
:::
介绍:
dict 协议是一个在线网络字典协议,这个协议是用来架设一个字典服务的。不过貌似用的比较少,所以网上基本没啥资料(包括谷歌上)。可以看到用这个协议架设的服务可以用 telnet 来登陆,说明这个协议应该是基于 tcp 协议开发的。像 mysql 的服务,因为也是基于 tcp 协议开发,所以用 dict 协议的方式打开也能强行读取一些 mysql 服务的返回内容
注意:该协议往往与ssrf漏洞像结合,用来探测内网端口
dict协议功能:
1、探测内网主机
2、探测端口的开放情况和指纹信息
3、执行命令
先输入下面的payload,然后抓包进行端口探测
/?url=dict://127.0.0.1:8000
介绍:
说明:
gopher
协议是一种信息查找系统,他将Internet
上的文件组织成某种索引,方便用户从Internet
的一处带到另一处。在WWW
出现之前,Gopher
是Internet
上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70
端口。但在WWW
出现后,Gopher
失去了昔日的辉煌。现在它基本过时,人们很少再使用它。ssrf
中打redis shell
、读mysql
数据gopher协议格式:
gopher://IP:port/_{TCP/IP数据流}
如果你知道某个地方存在SSRF漏洞,使用Gopherus将帮助你生成Gopher有效负载,以利用SSRF(服务器端请求伪造)和获得RCE(远程代码执行)。它还将帮助您在受害者服务器上获取反向shell。
使用方法:
Gopherus: 该工具生成gopher链接,用于开发SSRF和在不同服务器上获得RCE - 我爱学习网 (5axxw.com)
工具地址:
https://github.com/tarunkant/Gopherus