freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

应急响应 | 扑朔迷离的黑链
2024-04-08 09:53:05

事件背景

某客户被通报存在黑链页面显示招租广告,而且只有通过百度跳转才会显示下图页面:

排查过程

1、前期常规排查,第一反应就是去服务器本地寻找黑链页面"/news/article/detail/nwnsaii9.html",但是主机web目录翻遍了硬是没有找到黑链页面nwnsaii9.html,甚至连相关目录都没有找到。

2、于是重新梳理思路从跳转入手,测试直接访问"/news/article/detail/nwnsaii9.html",发现自动跳转访问“www.8y818.com”,于是点击查看源代码发现实际是nginx 404页面中存在恶意跳转的js代码。

3、主动访问异常Js页面,发现又是一个跳转访问,跳转其中一个逻辑是判断来源页面若是包含“baidu.com”就会跳转指定页面(黑链),若不是就回显404.html。这就正好能解释为啥只有从百度跳转才会看到黑链页面了。瞬间信心大增,说明已经逼近真相了!

4、访问域名"https://www.788189.com/index/Code.html?channelCode=seo88"测试果然就是被通报的黑链页面,整体跳转逻辑也已经非常清晰了。

5、重新梳理跳转逻辑如下,仔细分析发现nginx404报错页面,说不定最初寻找的黑链页面nwnsaii9.html确实是不存在,只是利用nginx 404报错页面实现跳转而已。

6、随便访问不存在页面/news/article/detail/111测试,果然也会跳转访问恶意js页面,其状态码为503。

7、既然知道跳转逻辑,那么只要找到nginx“404 not found”页面,修改一下回显内容即可解决问题,立即排查nginx 配置文件。但是其配置页面并没有配置404、503等状态码的页面,难道是硬编码了?

8、思路一下牵引至程序本身,服务器本地nginx程序版本查看是1.24.0,并且和官网文件对比nginx程序完全一致,并未被篡改的情况,也没有发现异常dll劫持的情况,一下晴天霹雳,感觉又进入死胡同。

9、一说到版本似乎有点不对,我之前看到nginx报错版本为1.24.1,但是服务器本地版本为1.24.0啊,难道不是本地的回显?

10、赶紧排查nginx代理配置,发现/video、/app以及/news等多个接口均跳转至“http://115.92.119.111:8193”,主动访问“http://115.92.119.111:8193”发现nginx报错版本为1.24.1瞬间大喜,这不就是黑链的跳转页面嘛。

11、这下一切清晰明了,删除所有跳转配置,网站访问就恢复正常了,这里不得不夸赞一下小黑子,这个黑链思路挺清奇,想必是一个思维灵活的小黑子。

总结

1、回过头来想其实本次黑链原理实现比较简单,只是小黑子设置的障眼法太多,容易使人迷失排查方向,梳理清楚跳转逻辑问题也就迎刃而解了;

2、事后复盘,发现nginx代理跳转单纯从浏览器侧调试是无法看到访问外部地址的,但是可以抓包实现。

# 应急响应 # 黑链
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录