熊海CMS漏洞练习平台的一次xss、sql注入、越权黑盒思路分析

简介

熊海CMS是由熊海开发的一款功能丰富的网站综合管理系统,广泛应用于个人博客、个人网站以及企业网站,本文章用于黑盒测试,如果需要**「源码审计」** 后台回复【「CMS」】获取即可,精心准备了40多个cms源码漏洞平台,供宝子们学习,一切资源免费

image-20240714194841203

image-20240714194757367

XSS测试

在测试过程中,我们发现目标站点存在XSS注入漏洞。通过插入特定的XSS测试脚本,我们能够触发跨站脚本攻击,这表明站点在处理和显示用户输入时未进行充分的过滤和编码。

img

SQL注入

sql注入超详细教程:从零开始学SQL注入(sql十大注入类型):技术解析与实战演练

在首页,通过随机点击一篇文章并修改URL参数,我们尝试进行SQL注入攻击。使用以下payload:

http://192.168.3.245:37892/?r=content&cid=16' -- w

服务器响应报错,这表明可能存在SQL注入漏洞。

img

为了进一步验证,我们使用sqlmap工具进行自动化测试,并指定参数cid进行注入尝试:

sqlmap -u 'http://192.168.3.245:37892/?r=content&cid=16' -p 'cid' --random-agent --threads=10 --dbms=mysql --level 3 --dbs

测试结果显示,目标站点存在布尔盲注、报错注入和时间盲注三种SQL注入方法。

img

接下来,我们使用dirb工具扫描目标站点的目录结构,并发现了一个admin管理页面。

img

尝试对该admin页面进行SQL注入攻击,结果服务器响应显示SQL语句错误,进一步确认了SQL注入漏洞的存在。

img

后台越权登录

尽管我们尝试使用sqlmap记录来爆破admin所在的表,并发现密码进行了哈希加密,但未能使用现有的密码字典破解密码。

img

由于无法直接登录后台,我们尝试构造session和本地存储进行越权访问。通过抓包分析,我们猜测向后端传递的用户名字段为user,密码字段为password

img

在设置了本地session和存储后,我们尝试访问后台页面:

http://192.168.3.208:37892/admin/index.php

成功越权访问了网站后台。

img

在后台,我们尝试修改回复内容,并插入XSS攻击脚本:

<script>alert(1)</script>

保存修改后,XSS攻击脚本成功生效,表明站点存在存储型XSS注入漏洞。

img

在尝试删除留言时,我们发现URL参数delete可能存在SQL注入漏洞。通过构造特定的payload,我们确认了该漏洞的存在。

img

此外,我们还发现了一个报错页面,该页面暴露了站点的根目录信息,这可能会被恶意利用。

img

由于已知目标站点为PHP网站,我们尝试使用sqlmap获取目标shell:

sqlmap -u 'http://192.168.3.245:37892/?r=content&cid=16' -p 'cid' --random-agent --threads=10 --dbms=mysql --level 3  --os-shell

然而,上传stager失败,可能是权限不足或目标网站的安全措施阻止了上传。

img

修复建议
  1. 「更新版本」:确保熊海CMS系统更新到最新版本,以修复已知的安全漏洞。

  2. 「SQL注入防护」:对SQL语句进行预编译处理,以防止SQL注入漏洞。同时,限制数据库账号的权限,仅授予执行必要操作的最小权限,以减少SQL注入攻击的影响。

  3. 「XSS防护」:对输出到HTML的数据进行编码处理,以防止XSS攻击。可以使用HTML实体编码或JavaScript编码来转义特殊字符。

  4. 「自定义错误页面」:建议自定义错误页面,以避免编程语言特性导致的网站根目录泄露问题,从而减少不必要的安全风险。

原文:https://mp.weixin.qq.com/s/NkyXg3Dm5ZzFUGpqn0uzBQ

相关推荐
虾球xz23 分钟前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇29 分钟前
HTML常用表格与标签
前端·html
疯狂的沙粒32 分钟前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员1 小时前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐1 小时前
前端图像处理(一)
前端
莫叫石榴姐1 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
程序猿阿伟1 小时前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端
疯狂的沙粒1 小时前
对 TypeScript 中函数如何更好的理解及使用?与 JavaScript 函数有哪些区别?
前端·javascript·typescript
瑞雨溪1 小时前
AJAX的基本使用
前端·javascript·ajax
力透键背1 小时前
display: none和visibility: hidden的区别
开发语言·前端·javascript