客户网站前端时间被攻击,网站被劫持到了赌bo网站上去,经过朋友介绍找到咱们SINESAFE作网站的安全防御,咱们随即对客户网站进行了全面的渗透测试,包括了网站的漏洞检测与代码安全测试,针对于发现的漏洞进行了修复,包括网站安所有署等等方面,下面咱们将这一次的安全应急处理过程分享给有须要的客户。php
首先客户网站采用的架构是PHP语言开发,mysql数据库,使用的是linux centos系统做为网站的运行环境,代码使用的是开源的某CMS系统,咱们首先打包压缩了一份网站源代码到咱们本地的电脑,人工对其代码进行全面的渗透测试与检测,首先咱们会从网站的安装文件入手,咱们查看到使用的是install.php做为网站安装的文件,通常这里会存在网站漏洞,例如:没有对其作安全验证,致使能够任意的安装网站,覆盖配置文件,甚至可能会出现表单里不作安全过滤,致使写入webshell一句话木马代码到config.php文件里。前端
通过咱们SINE安全技术的人工代码安全审计,发现客户网站存在任意重装网站漏洞,漏洞文件:install.php,查看到使用的变量值为DEL_INSTALLER=1的时候才会删除安装文件,咱们看到默认值=0.也就是说不会删除安装文件,咱们能够访问该代码,直接执行重装操做。mysql
继续检查代码是否还存在其余的漏洞,在检查到配置文件config.php代码中,有调用到cookies方面的赋值,继续追踪分析发现存在越权漏洞,管理员登陆网站后,会保存cookies,可是这个cookies的构建很简单,是使用了emhash的方式,对传入的key值进行了MD5加密操做,最终cookies的构成是由帐号名以及HASH值拼接构成的,那咱们就能够伪造cookies,直接越权操做其余管理员帐号,甚至能够以普通用户的权限,去操做网站管理员的权限。linux
咱们SINE安全工程师对后台代码进行安全审计的时候发现,存在上传漏洞,能够上传php文件,后台有个设置上传后缀名的功能,可是默认网站对添加PHP的后缀名作了过滤,会将PHP稀释掉,以及不容许,那么咱们在实际的渗透测试中如何绕过呢?看到后台有数据库备份恢复的功能,那么我就能够将数据库里的后缀名改成php,再直接恢复到网站中去,直接上传PHP脚本后门也叫webshell到网站里去。web
至此客户网站的全部渗透测试以及漏洞检测已完毕,共发现3处漏洞,1个是install.php安装重置漏洞,1个是越权漏洞,1个是文件上传漏洞,针对以上3个漏洞,咱们SINE安全对其作了漏洞修复,对install的变量值进行了判断,当网站安装后,自动删除install.php文件,对越权作了用户的所属权限判断,若是不是当前用户的cookies直接返回错误状态,对后台的数据库备份功能作限制,只能备份,不能恢复,恢复操做使用phpmyadmin来进行网站的数据恢复,若是您对网站的安全不是太懂的话,建议找专业的网站安全公司来处理解决,作好网站安全,才能保障用户的每一次访问。sql