网站被黑的一次经历

看了《和黑客斗争的 6 天!》(https://blog.csdn.net/ityouknow/article/details/104666810?ops_request_misc=&request_id=&biz_id=102&utm_source=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0),觉得很有意思。把自己的经历记下来,既是一次经历的总结,也可以做为以后工作的经验。恰好前段也经历了这么一件事,便记了下来。

一、同事反馈百度搜索单位官网异常事件

周五刚下班回到家,同事电话说在百度搜索单位官网,搜索页面上出现一些与单位无关的内容,但打开单位网站是正常的。我第一印象就是网站被黑了。于是立刻远程关闭网站,接下来开始查看网站被黑后留下的痕迹。
接下来说一下我们网站的情况。我们的网站是三年前上线,有同事负责日常维护。我去年工作调整到信息部门工作,因此我对网站很少关注。我们的web服务器采用的是windows2012R2的IIS8.5,网站是用PageAdmin 3开发的,数据库采用的是access,数据库名称仍为系统原来的V3.mdb,后台路径也是原来的e/master。打开数据库发现网站新添加一个管理员帐号,原来的admin帐号密码被篡改,webset数据表wzdescription字段被篡改为一个赌博网站相关信息。
于是把数据库被篡改的信息恢复,删除可疑帐号。又在网站中查找留下的痕迹。查了一圈没有发现什么异常的文件(以前在管理其他网站时,遇到过被黑后在网站中留下一些文件名很怪异的后门或者木马),正在准备结束查看的时候,看到Global.asax文件,虽然前面打开过,没发现什么异常,但总感觉哪里不对劲。于是又打开文件,只有一行代码:<%@ Application Language=“C#” %>。关闭文件后,又瞪着屏幕发呆。突然发现了问题:只有一句代码,文件何来的5KB?于是再次打开,果然窗口右边有滚动条。下拉滚动条,终于发现隐藏在后面的代码。把代码删除后,又把数据库名称和后缀都进行了修改。然后实在累了就去休息了,看明天会有什么情况发生。(因为只找到Global.asax这一个地方肯定不完全,至于其他的明天看情况再说吧)。

二、再次被黑

第二天一早打开网站,又被黑了。看来不好好清理一下网站留下的后门,加固一下网站安全是不行了。于是下载了D盾web应用防火墙、OWASP ZAP对网站进行扫描,以对网站进行体检。
D盾扫描结果
D盾扫描结果

从D盾扫描结果来盾,一共有五个后门,前两项多功能木马和后门两年前就已经被植入网站,最近又在三张图片中植入eval后门。

在这里插入图片描述
ZAP扫描结果
在这里插入图片描述
被植入脚本的图片

从ZAP扫描结果看网站有一个Medium级的风险,四个Low级的风险。Medium风险是X-Frame-Options Header Not Set,四个Low级的风险是:X-Content-Type-Options Header Missing,Web Browser XSS Protection Not Enabled,Private IP Disclosure,Password Autocomplete in Browser。
根据这个结果,黑客很可能是利用网站配置的漏洞进行了XSS攻击。
既然网站被黑,查看主机用户列表,guest帐号已被启用、提权。

三、网站修复

根据网站扫描结果,及时处理了攻击者留下的后门,禁用guest帐号。然后根据ZAP报告,对IIS配置又进行加固。主要有以下几个方面:
1、网站目录安全。删除多余的组和用户,只留下SYSTEM Administrators,然后又添加了添加了IIS 应用程序池标识。
2、针对ZAP扫描结果,对IIS配置Header响应标头有针对性的进行配置。
在这里插入图片描述
然后又在https://securityheaders.com/网站上检测一遍,OK,A级!

四、后续问题

本以为修复完毕,上线就OK了,不过接下来的问题却没有料到。
1、接下来的几天一直关注着网站,从日志和拦截记录看,黑客还是不断地在进行攻击,只不过都被拦截,没有成功。
2、网站能运行,但后台却只能用内网地址登录,利用域名却不能登录。
3、在利用内网地址登录上传内容时,同事反映不能提交。
后来,看同事提交内容,发现同事是直接从word文档中复制,粘贴到文本框中,最后由于内容中有content标记而被拦截。因为在设置HTTP响应标头时,设置了CSP。
而关于后台用内网地址可以登录,用域名不能登录,肯定也是和CSP设置有关。而在这里面其他页面能正常显示,只有后台不能登录,在CSP中只有script-src这一项了,把script-src改为 ‘self’ ‘unsafe-inline’;问题解决。看来是后台登录页面用到脚本被拒了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值