web实战篇-第8篇:管理员账号被篡改
你是某一个网站的管理员,有一天,你的管理员账号admin却登录不了,进入数据库查看,原来管理员账号用户名不存在了,却多了另外一个管理员用户名。不对,不是新增了管理员,而是你的管理员用户名被篡改了。
现象描述
前后端分离,后台只允许内网访问,管理员账号admin却依然被多次被篡改。
问题处理
1、网站webshell
在针对网站根目录进行webshell扫描,发现存在脚本木马,创建时间为2018-06-1304:30:30
2、定位IP
通过木马创建时间,查看网站访问日志,定位到IP为:180.76.189.3
3、关联分析
全局搜索与该IP有关的操作日志:
在脚本木马生成前,有两条比较可疑的访问日志吸引了我们的注意:
对这段POC进行解码,我们发现通过这个poc可以往数据库中插入数据,进一步访问/plus/ad_js.php?aid=19即可在plus目录生成read.php脚本文件。
解码后:
综上,可以推测/plus/download.php中可能存在SQL注入漏洞,接下来,收集网上已公开的有以下3种EXP进行漏洞复现。
漏洞复现
利用方式一:修改后台管理员
1、新建管理员账号test/test123789,可以成功登录网站后台
2、构造如下注入SQL语句:
修改后台管理员为:用户名spider,密码admin。
3、对应的EXP:
执行EXP后,相应后台数据库表变为如下:
(4)因此相应后台登录用户变为spider密码admin
利用方式二:通过/plus/mytag_js.php文件生成一句话木马php
(1)如:构造如下注入SQL语句:
(2)对应的EXP:
(3)执行EXP后,将向数据库表dede_mytag中插入一条记录,
(4)执行如下语句,在/plus目录下生成90sec.php一句话木马
利用方式三:使/plus/ad_js.php文件变为一句话木马php
(1)如:构造如下注入SQL语句:
(2)对应的EXP:
(3)执行EXP后,将向数据库表dede_myad中插入一条记录。
(4)进一步访问/plus/ad_js.php?aid=19即可在plus目录生成read.php脚本文件。
如何清除?
1、删除网站目录中的webshell
2、清除dede_myad、dede_mytag数据库表中插入的SQL语句,防止再次被调用生成webshell。
如何防御?
网站采用开源CMS搭建,建议及时对官方发布的系统补丁以及内核版本进行升级。