LitCTF2023

Web

我Flag呢?

很简单 F12 看下源码就行了,当然还有个小彩蛋别忘了,执行下面这个函数可以拿到第一个彩蛋

QQ图片20230514210952.png

flag:

QQ图片20230514211009.png

导弹迷踪

游戏题: 要么通过六关,要么看源码找flag,我浅完了一会儿,死在了第六关TT。

flag就在game.js这里,找了挺久

QQ图片20230514211240.png

Follow me and hack me

http 的 post 和 get 方法,也很简单

QQ图片20230514211441.png

QQ图片20230514211436.png

备份文件就是 www.zip

解压之后有一个index.php.bak 里面有第三个彩蛋

QQ图片20230514211444.png

PHP是世界上最好的语言

flag在根目录下,我们只需要写一个php脚本读取一下flag就可以了

QQ图片20230514211928.png

也可以直接用 system('cat /flag');

Vim yyds

Vim 源码泄露

在目录下生成一个index.php.swp可以直接读取并下载到本地,然后打开

QQ图片20230514212233.png

需要去post password 和 cmd,password的值进行base解码之后是 Give_Me_Your_Flag

QQ图片20230514212332.png

拿到了

作业管理系统

先F12瞅瞅,拿到用户名和密码 admin admin

登录进去之后,有一个github的网址,这是第二个彩蛋,然后我们可以上传任意文件

QQ图片20230514212618.png

我们上传一个php一句话木马,这里甚至对文件后缀都没有进行过滤

QQ图片20230514212625.png

然后打开蚁剑进行连接,连接上之后直接到根目录去找flag

QQ图片20230514212628.png

QQ图片20230514212907.png

什么?SQL!注一下

先随便填填1,2这些,发现彩蛋

QQ图片20230514213054.png

出题人没有ban sqlmap,所以为了方便一点就sqlmap一把梭

python sqlmap.py -u "http://node1.anna.nssctf.cn:28296/?id=2" --dbs 爆表

QQ图片20230514213234.png

python sqlmap.py -u http://node1.anna.nssctf.cn:28296/?id=2“ -D ‘ctftraining’ —tables 爆表

QQ图片20230514213325.png

python sqlmap.py -u http://node1.anna.nssctf.cn:28296/?id=2“ -D ‘ctftraining’ -T ‘flag’ —columns 爆列

QQ图片20230514213723.png

python sqlmap.py -u http://node1.anna.nssctf.cn:28296/?id=2“ -D ‘ctftraining’ -T ‘flag’ -C ‘flag’ —dump 爆字段

QQ图片20230514213859.png

Http pro max plus

http 请求头的知识,第一层 请从本地进行访问不能用 XFF 还有一个Client-IP,还有最后的一个代理服务器 是Via 请求头 别的都是经常遇到的

这里就直接把最后的payload呈现出来了

QQ图片20230514214156.png

然后进入这个路由之后,emmm,没有flag

QQ图片20230514214212.png

然后F12看下源码,找到下一层

QQ图片20230514214324.png

找到flag

QQ图片20230514214355.png

Ping

浅ping一下127.0.0.1,可以ping通,但是后面不能加任何东西只能是ip

QQ图片20230514214546.png

F12看看线索,发现是前端进行输入的IP的校验,那就可以通过打断点进行修改和注入,也可以浏览器禁用js,我这里就打断点了

QQ图片20230514214558.png

当跳到这里的时候,去控制台修改ip的值 ip=”127.0.0.1” ,就可以成功绕过

127.0.0.1;ls /

QQ图片20230514214713.png

127.0.0.1;cat /flag

QQ图片20230514214753.png

彩蛋

将前面找到的彩蛋按顺序拼接起来就可以了

1zjs

一开始找不到思路,随便玩了会儿这个魔方,比赛结束了才淦出来的

源码里有一段注释,指向了一个路径

QQ图片20230514221509.png

然后访问这个路径,一坨[] 然后水群知道这是JSfuck是拿来混淆代码的,我一开始以为要把它进行解码,解码会js,然后并不需要,把他放到控制台去跑一下就可以了

QQ图片20230514221705.png

就当无事发生

给了我们一个探姬师傅博客的链接(毕竟这题是探姬师傅出的),先狠狠灌注一波(x

有一篇文章 =>《什么是flag呢》,那就猜测flag在这个文档下

那这个博客是借助github进行搭建的,那就需要了解一下什么是 .github.io

1
GitHub.io 就是GitPage,可以展示你的项目及项目网站的托管工具,可以理解为免费的阿里云等服务器,可以展示网站(比如你想搭建一个自己的博客,项目文档等)

这是我自己查的,没有探姬师傅描述的详细(x

那么该GitPage肯定是依赖于github仓库的,那么对于公开的仓库每一次git提交都会有记录,题目描述中也说重新再pull一次,因为页面部署需要一定的时间,在页面部署完成前再次提交会覆盖上一次提交的内容(自己的理解,勿喷)。但是提交操作已经生效,所以代码的修改会被Git Commit记录。那么我们只需要去找到探姬师傅的ProbiusOfficial.github.io这个仓库,然后找到git commit

QQ图片20230521163937.png

可以看到这里有一个上传失败的,然后再进这里看。

QQ图片20230521164225.png

找到flag了

flag点击就送

emmm,这题我是想用bp抓包改包发包的方式来进行session伪造,但是似乎不太行,等我复现了再补上。还是自己菜了,看看官方wp吧。

官方 WP

https://dqgom7v7dl.feishu.cn/docx/VyLmdhKDOou5E8xruA7c8bSInKf

探姬师傅的 Web 部分讲解 https://www.bilibili.com/video/BV1sm4y187EK/?spm_id_from=333.999.0.0&vd_source=6a92aae104751f5bc065a281b15c4fcb