网站漏洞扫描 某CMS代码的越权与install.php重置渗透测试漏洞

简介: 客户网站前端时间被攻击,网站被劫持到了du博网站上去,通过朋友介绍找到我们做网站的安全防护,我们随即对客户网站进行了全面的渗透测试,包括了网站的漏洞检测与代码安全测试,针对于发现的漏洞进行了修复,包括网站安全部署等等方面,下面我们将这一次的安全应急处理过程分享给有需要的客户。

客户网站前端时间被攻击,网站被劫持到了du博网站上去,通过朋友介绍找到我们做网站的安全防护,我们随即对客户网站进行了全面的渗透测试,包括了网站的漏洞检测与代码安全测试,针对于发现的漏洞进行了修复,包括网站安全部署等等方面,下面我们将这一次的安全应急处理过程分享给有需要的客户。

13

首先客户网站采用的架构是PHP语言开发,mysql数据库,使用的是linux centos系统作为网站的运行环境,代码使用的是开源的某CMS系统,我们首先打包压缩了一份网站源代码到我们本地的电脑,人工对其代码进行全面的渗透测试与检测,首先我们会从网站的安装文件入手,我们查看到使用的是install.php作为网站安装的文件,一般这里会存在网站漏洞,例如:没有对其做安全验证,导致可以任意的安装网站,覆盖配置文件,甚至可能会出现表单里不做安全过滤,导致写入webshell一句话木马代码到config.php文件里。

2

经过我们安全技术的人工代码安全审计,发现客户网站存在任意重装网站漏洞,漏洞文件:install.php,查看到使用的变量值为DEL_INSTALLER=1的时候才会删除安装文件,我们看到默认值=0.也就是说不会删除安装文件,我们可以访问该代码,直接执行重装操作。
1

继续检查代码是否还存在其他的漏洞,在检查到配置文件config.php代码中,有调用到cookies方面的赋值,继续追踪分析发现存在越权漏洞,管理员登录网站后,会保存cookies,但是这个cookies的构建很简单,是使用了emhash的方式,对传入的key值进行了MD5加密操作,最终cookies的构成是由账号名以及HASH值拼接构成的,那我们就可以伪造cookies,直接越权操作其他管理员账号,甚至可以以普通用户的权限,去操作网站管理员的权限。

我们工程师对后台代码进行安全审计的时候发现,存在上传漏洞,可以上传php文件,后台有个设置上传后缀名的功能,但是默认网站对添加PHP的后缀名做了过滤,会将PHP稀释掉,以及不允许,那么我们在实际的渗透测试中如何绕过呢?看到后台有数据库备份恢复的功能,那么我就可以将数据库里的后缀名改为php,再直接恢复到网站中去,直接上传PHP脚本后门也叫webshell到网站里去。

3

至此客户网站的所有渗透测试以及漏洞检测已完毕,共发现3处漏洞,1个是install.php安装重置漏洞,1个是越权漏洞,1个是文件上传漏洞,针对以上3个漏洞,我们对其做了漏洞修复,对install的变量值进行了判断,当网站安装后,自动删除install.php文件,对越权做了用户的所属权限判断,如果不是当前用户的cookies直接返回错误状态,对后台的数据库备份功能做限制,只能备份,不能恢复,恢复操作使用phpmyadmin来进行网站的数据恢复,如果您对网站的安全不是太懂的话,建议找专业的网站安全公司来处理解决,做好网站安全,才能保障用户的每一次访问。

相关文章
|
17天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
26 0
|
1月前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
28 1
|
2月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
1月前
|
敏捷开发 运维 安全
链家网站系统测试设计与实现_kaic
链家网站系统测试设计与实现_kaic
|
2月前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
418 1
|
4天前
|
存储 SQL 缓存
记录如何用php做一个网站访问计数器的方法
创建简单网站访问计数器,可通过存储访问次数的文件或数据库。首先,创建`counter.txt`存储计数,然后在`counter.php`中编写PHP代码以读取、增加并显示计数,使用`flock`锁定文件避免并发问题。网页通过包含`counter.php`展示计数。对于高流量网站,推荐使用数据库确保原子性和并发处理能力,或利用缓存提升性能。注意,实际生产环境可能需更复杂技术防止作弊。
|
17天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
12 0
|
17天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出"验证成功",否则输出"验证失败"。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
18天前
|
Web App开发 搜索推荐 测试技术
网站速度测试
【4月更文挑战第8天】网站速度测试
12 2
|
1月前
|
PHP 开发者 UED
PHP 中的异常处理:提高代码健壮性的关键
【2月更文挑战第28天】在 PHP 开发中,异常处理是确保应用程序稳定性和可靠性的重要环节。本文将深入探讨 PHP 异常的概念、类型及其处理机制,并通过实例演示如何有效地捕获和处理异常,以增强代码的健壮性和用户体验。