我的网站最近访问比较人多, 先感谢大家的支持.
我的网站是 http://tangu.nextbang.com, 被很多人盯上了, 这两天发现这个网站 http://www.izizhucan.com/tangulunjin.html 恶意iframe, 现在不知道怎么破了, 我运维经验不多, 求大家帮助.
1, 昨天在js 里面加上了 if (window !== top) { 判断. OK了.
2, 今天发现他又加强了, 整个下载了我的前端代码, 把上面的判断去掉了. 我去...
麻烦大家帮帮忙, 这种情况怎么破?? 其他的重js webapp 是怎么应付这种问题的?
![]() | 1 kn007 2015-07-04 11:02:35 +08:00 js判断域名。 deny 对方ip |
![]() | 2 plqws 2015-07-04 11:02:54 +08:00 数据来源是哪里?后端难道不是你自己的吗? |
![]() | 3 kn007 2015-07-04 11:03:59 +08:00 如果是直接下载的。那你就要把程序搞复杂点,比如数据请求需要走你服务器,服务器上加判断,非白名单不返回 |
![]() | 4 TakanashiAzusa 2015-07-04 11:04:05 +08:00 via Android 同楼上。js判断域名。记得代码混淆 |
![]() | 5 TakanashiAzusa 2015-07-04 11:06:17 +08:00 via Android @kn007 有自己后台的话,一个跨域就可以搞死对面了吧。。 |
![]() | 6 kn007 2015-07-04 11:11:22 +08:00 @TakanashiAzusa 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,这招太狠。。。 |
![]() | 7 hr6r OP @kn007 nginx 的$host 都不行? 我有点弄不明白... 要在我的服务器端代码判断才行? @TakanashiAzusa 跨域是指add_header X-Frame-Options SAMEORIGIN; 设置吗? 设置的但是无效, 非常奇怪, 不明白... |
![]() | 8 loading 2015-07-04 11:19:19 +08:00 via Android html 不都是你的吗? 写段js,不是自己域名就弹窗,放广告,想做什么坏事都行。 记得,自己在后台写开关,想起来就启动几分钟… |
![]() | 9 RIcter 2015-07-04 11:20:36 +08:00 via iPhone ![]() <script>document.write('Hacked by hr6r');</script> |
![]() | 10 hr6r OP 就是要改我后台的js 咯.... 就是不想再加重后台的负担了.. |
![]() | 11 virusdefender 2015-07-04 11:25:44 +08:00 X-Frame-Options |
![]() | 12 TakanashiAzusa 2015-07-04 11:27:15 +08:00 via Android @hr6r nginx设置允许跨域的域名就好了,这样其他的就请求不到数据了。设置了无效的话有可能是你语法问题。。 |
![]() | 13 mortal 2015-07-04 11:27:31 +08:00 LZ 的这个网站已经在微博上被人转发许多次了 : ) 说明大家喜欢,人一多自然就有攻击,LZ 加油哇。 |
![]() | 15 hahasong 2015-07-04 11:31:36 +08:00 ![]() 服务端响应头 ,这一项 Access-Control-Allow-Origin:* 去掉,或者写死你的域名 'nextbang.com'。 js 端强制声明一下 document.domain = 'nextbang.com' 并做代码压缩。 不过iframe嵌套这样做然并卵。还是检测下如果父窗口存在,就不停alert吧 |
![]() | 16 TakanashiAzusa 2015-07-04 11:34:17 +08:00 via Android ![]() @kn007 js还是可以被绕过去的。。毕竟是前端的东西,任人打扮。。 我这里指的是nginx配置里的Access-Control-Allow-Origin ,因为数据是通过ajax提交的,浏览器默认会检查服务器的crossdomain.xml,不在里面的话数据会发送失败的 |
![]() | 17 MrEggNoodle 2015-07-04 11:35:09 +08:00 后台加上请求域名判断? |
![]() | 18 typcn 2015-07-04 11:36:05 +08:00 if(window.location.origin != "http://tangu.nextbang.com"){ window.location = "http://tangu.nextbang.com" } 混淆一下 eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('h 3=["\\6\\g\\8\\7\\8\\4","\\i\\6\\d\\9\\5\\8\\6\\4","\\j\\5\\5\\e\\f\\a\\a\\5\\9\\4\\7\\m\\c\\4\\k\\o\\5\\n\\9\\4\\7\\c\\d\\6\\p"];l(b[3[1]][3[0]]!=3[2]){b[3[1]]=3[2]};',26,26,'|||_0x49e0|x6E|x74|x6F|x67|x69|x61|x2F|window|x2E|x63|x70|x3A|x72|var|x6C|x68|x65|if|x75|x62|x78|x6D'.split('|'),0,{})) 楼主你可以放到 jquery.js socket-io.js 之类的文件里面 |
![]() | 19 typcn 2015-07-04 11:37:08 +08:00 Socket.io 里面的 Access-Control-Allow-Origin:* 改成 Access-Control-Allow-Origin:http://tangu.nextbang.com |
![]() | 20 kn007 2015-07-04 11:37:51 +08:00 @TakanashiAzusa 嗯。我晓得。其实楼主比较需要的是把详细方案告诉他,他直接做就行了。23333 |
![]() | 21 imlonghao 2015-07-04 11:46:30 +08:00 |
![]() | 22 hr6r OP 搞定了, 请大家围观 -> http://www.izizhucan.com/tangulunjin.html 他把我的html和 js 都下载本地run 了, 真奇葩. 看看他还能搞出啥来. 把技术用在这.. 真是.... 唉... |
![]() | 23 MountainRain 2015-07-04 11:51:20 +08:00 用JS判断 如果是自己的网页过来的应该咋地就是咋地 如果是别人iFrame的,alert提示,再跳转到你自己的页面啥。。或者显示点什么啥子的 |
![]() | 24 ccbikai PRO |
![]() | 26 imlonghao 2015-07-04 11:57:01 +08:00 他现在已经弹不了了~ |
![]() | 27 lk09364 2015-07-04 11:57:05 +08:00 @TakanashiAzusa 请教一下,crossdomain.xml 不是 Flash 的吗? |
![]() | 28 TakanashiAzusa 2015-07-04 12:04:20 +08:00 via Android ![]() @lk09364 那可能是我记错了。我只记得静态资源也会触发这个。待会儿我开电脑了的时候再研究下 |
![]() | 29 Comdex 2015-07-04 12:24:19 +08:00 楼主你的网站的弹幕的评论只是在发表后出现一瞬间的么?不保存在数据库? |
30 CRVV 2015-07-04 12:39:04 +08:00 上证指数3686.92元? |
![]() | 31 mrjoel 2015-07-04 12:48:16 +08:00 增加一个方法。。。直接禁了他服务器ip 看他有多少ip可换 |
![]() | 32 mrjoel 2015-07-04 12:48:39 +08:00 额。。。iframe 。。。说错了 |
![]() | 34 Air_Mu 2015-07-04 15:38:24 +08:00 建议人肉 全网扩散公布这婊子的信息 |
![]() | 35 pythoner 2015-07-04 16:37:15 +08:00 刚刚还在网易上看到楼主的新闻,加油 |
![]() | 36 Acirno 2015-07-04 17:16:41 +08:00 额 载入不了 咋回事 |
37 ddou 2015-07-04 17:34:23 +08:00 @virusdefender X-Frame-Options的确是解决iframe的正确方法。但直接下载整个前端的话,就只能另想奇招了。 |
![]() | 38 SuujonH 2015-07-04 19:06:17 +08:00 403 |
![]() | 39 TakanashiAzusa 2015-07-04 19:08:55 +08:00 @lk09364 刚刚试了下,ajax请求跨域的话,确实不需要crossdomain.xml,不过我发现不管是不是跨域,服务器都会返回一个200,我猜可能跨域的话服务器端的解析程序就直接断开连接了,然后浏览器提示跨域(不懂nginx,这个单纯猜测) |
![]() | 40 lk09364 2015-07-04 19:16:09 +08:00 @TakanashiAzusa 我估计是伺服器收到 AJAX 请求后回复时加上 Access-Control-Allow-Origin Header,交给浏览器判断当前页面是不是在 Access-Control-Allow-Origin 里。 |
![]() | 41 Qapla 2015-07-04 19:24:38 +08:00 403 |
![]() | 42 TakanashiAzusa 2015-07-04 19:42:45 +08:00 ![]() @lk09364 我又试了下,你说的是对的。默认不返回 Access-Control-Allow-Origin Header的话就是不允许跨域,但是可以跨域的域名服务器文件头会返回一个 Access-Control-Allow-Origin Header,然后浏览器做判断。 |
![]() | 43 wheatcuican 2015-07-04 21:42:48 +08:00 一直载入中。。。 |
![]() | 44 sciooga 2015-07-04 22:41:08 +08:00 ![]() 那个网站挂出了楼主的链接,然后因为 referer 的问题...直接点击跳转就403了,楼主是不是考虑吸收掉他偷来的用户... |
![]() | 46 chairuosen 2015-07-04 23:07:29 +08:00 我从V2点过去都是403的,应该数据接口加referer判断 首页html不加 |
![]() | 48 des 2015-07-04 23:39:18 +08:00 估计对方下一步就是进行代理了…… |
![]() | 49 Perry 2015-07-05 00:01:31 +08:00 via iPhone 有个问题 到底是 danmu 还是 tanmu。。 |
![]() | 51 momou 2015-07-05 01:43:49 +08:00 via Android 楼主上知乎日报了… |
52 limtao 2015-07-05 01:44:30 +08:00 刚来这没几天 居然发现你了!而且首页发现你的po居然还被顶上了...哈哈哈哈 等过段时间大家不忙的时候出来聊聊。 上个月在IBM刚刚做完一个银行的渗透性项目,你提到的iframe攻击在术语上叫做clickjacking, 解决方案google一下特别多。我当时用的 X-Frame-Options设置成deny或者same-origin。 你这个案例我发现个人开发者的时代要来临了。加油! 我这有不少ios的项目可能要转包,到时候聊聊。哈哈哈哈哈哈哈 |
![]() | 53 yylzcom 2015-07-05 08:16:35 +08:00 “网站持续被空军攻击, 请大家收藏备用网址: http://tangu2.nextbang.com” 不要脸的还真多,楼主,人家说你是做空力量,把你网址说成备用网址 你直接在页面上发一声明打他脸吧,我都看不下去了 另外又深刻地认识到“空军论”“阴谋论”受众的智商 |
![]() | 54 nikubenki 2015-07-05 11:02:05 +08:00 via iPhone 玩儿蛋,目测以后弹幕网站会有越来越多人管这叫“檀木”了。 |
55 imlz 2015-07-05 15:27:42 +08:00 |
56 imlz 2015-07-05 15:30:19 +08:00 静态文件完全可以本地,我就借用一下你的站点,主要是数据飘的保护。测试请阅读完alert框后点“取消” |
![]() | 60 jugelizi 2015-07-06 13:11:18 +08:00 post才限制下来源吧 |
![]() | 61 laiyingdong 2015-07-06 13:23:32 +08:00 我看了一下 这个网站的本站什么自助餐 其实完全是一个靠采集 垃圾广告 加盟广告 的垃圾网站 估计主要是靠站群广告盈利 你这个页面我也不知道怎么说了 |