事件介绍:
上周六下午正在看《复仇者联盟4》刚好看绿巨人摔摩托车,突然接到客户电话说他们论坛好像被黑了,在论坛页面点击点评、回复等一系列按钮时会随机被劫持到非法网站。感觉事态比较严重赶紧洗把脸开始干活。
如上图:点击几处后被随机劫持
劫持分析 :
现状描述:
1、在页面点击按钮后,几乎没有任何等待就跳转到非法网站。
2、tid 参数大于 3 万(int类型)时,才会接触跳转。
3、tid 参数小于 3 万时,尝试修改其他任何参数,均不会跳转。
4、以查看源代码的形式访问网站,直接跳转到目标网站。
推测分析:
1、点击页面后,直接跳转到非法网站(之前遇到需要加载等待几秒钟),实现这类劫持很可能在 nginx 上做劫持。
2、nginx 上获取 tid 参数,在去判断参数的大小,又不劫持网站收录,没有重定向到目标网站,在nginx实现这个功能太鸡肋了。
3、如果在应用程序本身实现这个功能,代码执行的优先肯定会很高,基于这个考虑我优先排查入口文件是否存在恶意代码。
验证思路:
1、查看 index.php 入口文件。
# 查看文件
vim index.php
# 查看结果: 正常
2、通过关键词查找当前项目下所有PHP文件是否存有目标网站域名。
# 搜索命令
# 目标网站: https://www.bodan.tv/
# 仅搜索 php 文件,通过跳转的速度、源代码查看判断不会是在 js 里面做跳转
# 论坛好多年了,资料非常大不指定文件类型,扫描时间会非常久
grep -r 'bodan.tv' ./ --include=*.php
# 搜索结果: 无
3、查询当前项目所有使用 base64 加密函数的代码片段。
# 搜索命令
# 推测黑客可能加密PHP代码,黑客经常这么干
grep -r 'base64' ./ --include=*.php
# 搜索解密结果: 无
4、反问自己如果我是黑客,如果实现这种方法,如何做反溯源?
# 1、加密php代码
# 2、引入非 PHP 文件, 执行 PHP 代码
# 3、引入非当前项目目录、非 PHP 文件执行 PHP 代码
# 4 .......
# 经过多次验证最终发现,在 config/config_global.php 文件中引入了非法文
恶意代码:
PHP 实现逻辑比较简单不做具体分析。
入侵途径:
为了保护客户隐私,以及减少危害进一步扩大不在赘述(也偏离了本次文章的主题)。
溯源总结:
这种引入非项目目录非PHP文件的恶意代码,是很难通过扫描或者安全软件检测到,在这种基础上在做加密,静态扫描几乎无能为力,除非动态检测。一般动态检测只打包项目文件所以这种思路就容易逃脱检测。
文件的恶意代码,是很难通过扫描或者安全软件检测到,在这种基础上在做加密,静态扫描几乎无能为力,除非动态检测。一般动态检测只打包项目文件所以这种思路就容易逃脱检测。
最后
从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。
因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。
干货主要有:
①1000+CTF历届题库(主流和经典的应该都有了)
②CTF技术文档(最全中文版)
③项目源码(四五十个有趣且经典的练手项目及源码)
④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)
⑤ 网络安全学习路线图(告别不入流的学习)
⑥ CTF/渗透测试工具镜像文件大全
⑦ 2023密码学/隐身术/PWN技术手册大全
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
扫码领取
![](https://img-blog.csdnimg.cn/img_convert/5038c791428a513aca3d99aac6d0bed5.jpeg)