CTF || [“百度杯”CTF比赛 九月场 Web]Code

题目内容:考脑洞,你能过么?
打开是一张图片,url为game.ichunqiu.com/index.php?jpg=hei.jpg
分值:50分 类型:Web

查看网页源代码
file:hei.jpg,图片使用base64编码。
base64,后面的内容用base64解码,得到乱码(因为是图片文件)。

注意game.ichunqiu.com/index.php?jpg=hei.jpg
修改参数,尝试 ?jpg=index.php
查看网页源代码

file:index.php

base64,后面的内容用base64解码,得到php文件

file:'.$file.'';
$file = preg_replace("/[^a-zA-Z0-9.]+/","", $file);//搜索$file,只能是字母和数字,否则被替换为空。^是除了……以外的字符。
$file = str_replace("config","_", $file);//搜索$file,将config替换为空
$txt = base64_encode(file_get_contents($file));//对文件内容用base64编码

echo "";

/*
 * Can you find the flag file?
 *
 */

?>

注意* Created by PhpStorm.(这居然是重点!)
百度PhpStorm,发现官网 https://www.jetbrains.com/phpstorm/,从官网下载安装包安装PhpStorm,安装完成后,新建new project,可以看到new project存储的位置新建了一个文件夹.idea,.idea中有文件夹inspectionProfiles(空),文件misc.xml,modules.xml,untitled.iml,workspace.xml。

/.idea/.idea/untitled.iml无法访问

/.idea/misc.xml得到













/.idea/modules.xml,得到








/.idea/workspace.xml,得到

This XML file does not appear to have any style information associated with it. The document tree is shown below.
















//注意fl3g_ichuqiu.php









//注意config.php









//注意index.php

















true






















































































1447597471149


















































































其中提到的PHP文件index.php,fl3g_ichuqiu.php,config.php,x.php。x.php在value值中。config.php中的config会被替换为_。重点关注fl3g_ichuqiu.php。

?jpg=fl3g_ichuqiu.php,查看源代码得到
file:fl3g_ichuqiu.php
没有返回数据,可能被过滤

?jpg=fl3gconfigichuqiu.php,查看源代码得到

file:fl3gconfigichuqiu.php

用base64解密

//获得Cookie中的user(),对user()解密得到username,如果username=system
就打印flag

目的:让username=system

/fl3g_ichuqiu.php,在web开发者工具中的存储看到cookie的user是ZzRIahdLWhxO(每次不一样)。
用burpsuite代理得到user的值ZzRIahdLWhxO,带入下面的POC
PureT写的POC


运行这个php文件(可以用phpstudy),得到

ZzRIahu3SB9fRw== ZzRIahu3SB9fRg== ZzRIahu3SB9fRQ== ZzRIahu3SB9fRA== ZzRIahu3SB9fQw== ZzRIahu3SB9fQg== ZzRIahu3SB9fQQ== ZzRIahu3SB9fQA== ZzRIahu3SB9fTw== ZzRIahu3SB9fTg== ZzRIahu3SB9fFg== ZzRIahu3SB9fFQ== ZzRIahu3SB9fFA== ZzRIahu3SB9fEw== ZzRIahu3SB9fEg== ZzRIahu3SB9fEQ==  

载入burpsuite爆破,§ZzRIahdLWhxO§为变量,payload为上面16个值,start attack,查看结果,有一个length不一样,它的response中的raw中有flag。

参考
https://blog.csdn.net/qq_19876131/article/details/52432140
https://www.jianshu.com/p/3d7fb34c28a6
https://www.cnblogs.com/Ragd0ll/p/8818111.html
https://blog.csdn.net/m0_37921080/article/details/79799142
str_replace()、preg_replace()、strtr()三者的区别和用法

你可能感兴趣的:(CTF || [“百度杯”CTF比赛 九月场 Web]Code)