CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

shooter.cn

2017年5月24日 1012点热度 0人点赞 0条评论

shooter.cn

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

射手网复活攻略:用百度快照和phantomjs让射手网起死回生

b41k3r2014-12-01+15共332703人围观 ,发现 40 个不明物体其他头条

牢骚

射手网关门了,声讨的话网上已经铺天盖地,我不想多啰嗦,我只说一句:

某些部门的老爷有折腾字幕组的闲工夫,不如去整治一下铺天盖地的电视购物骗子广告,我会给你们烧香感谢的。

正题

射手网关站之后,网上流传一个射手下载器,简单研究了一下,发现这东西调用的是射手播放器的api,一部电影只能获取一个字幕,无法选择,而且很多字幕都不匹配。

那么问题来了,既然射手播放器仍然可以获取字幕,那么证明字幕文件仍然存在于射手的服务器上。因为它们是同一个来源,我们能不能用其他方法也从服务器上得到字幕呢?也就是说,射手网只是关闭了前台页面,我们只要获取字幕的文件名索引,仍然可以下载到字幕文件,于是我想到了百度快照。

只需在百度里输入site:shooter.cn 电影名称,就会出现很多结果,这些结果现在直接打开,会跳转到射手首页,可是我们可以点击快照:

有的快照是结果页的,有的快照打开会出现字幕列表,如果出现列表,打开其中的任意一项仍然会跳转到首页,怎么办呢?好办,我们先去看列表里任意一项的链接,链接的最后是一个xml文件,我们用这个xml文件名做关键字继续搜索,就能得到它的结果页快照:

好了,第一步已经完成了,百度快照几乎保存了所有射手字幕的索引,只要用一定的技巧,都可以搜出来,那么接下来,我们就要获取字幕。

通过分析快照结果页中的射手源码,我发现了一个猫腻,即,射手的每一个字幕文件都有一个唯一的id,而这个id以下载次数的形式显示在每个字幕的页面中,也就是说,页面中显示的下载次数,并不是真正的次数,而是字幕的id号:

有了这个id,一切好办,射手现在还能访问的页面,除了那个告别首页,还有一个字幕上传页面 http://shooter.cn/sub/upload.html,网站都关了还留着上传页面干嘛?一定有问题,那么打开这个页面,查看一下里面所有的js代码:

终于,在loadmain.js里面我发现了这样的代码:

function shtgdownfile(g, j, f, d) {
    var a = makeXmlReq();
    try {
        g.target = ""
    } catch (c) {
        alert(c)
    }
    a.open("GET", "/files/file3.php?hash=" + shtg_filehash + "&fileid=" + j, false);
    a.send("");
    if (a.status == 200 || a.status == 304) {
        var b = a.responseText;
        if (b && b.indexOf("ERR:") < 0) {
            showcounter("downcounter", j, "file", "total", 1);
            b = (shtg_calcfilehash(b));
            var h = "http://file1.shooter.cn" + b;
            if (!d) {
                g.href = h;
                g.target = "_blank"
            }
            if (f) {
                location.href = h
            }
            return true
        }
    }
    alert("文件获取失败:" + a.status + " _ " + b)
}

一切一目了然,我们只需照做即可

首先,在浏览器里面输入: 

http://www.shooter.cn/files/file3.php?hash=duei7chy7gj59fjew73hdwh213f&fileid=所要下载的字幕文件的id

(其中,duei7chy7gj59fjew73hdwh213f就是上面代码中的shtg_filehash,它是个常量,值同样来自于loadmain.js),会返回如下的结果。注意这里的编码要用utf8,否则显示乱码:

这是一段经过变换的post参数,要变换回去,我们按照上面代码中所写,利用射手自身的一个函数

shtg_calcfilehash,先用浏览器访问http://shooter.cn/sub/upload.html,然后让浏览器执行:javascript:var address=shtg_calcfilehash('刚才得到的字符串');alert(address);

非常好,直接弹出了正确的post参数,在这段参数的前面加上http://file1.shooter.cn,直接访问,bingo!!!,字幕终于成功下载了!

神器:自动化下载脚本

上面的下载过程实在太繁琐,如果有很多字幕要下载,每个都这样来一遍,不得累死啊,所以,一个下载脚本是必须的。

在这里我要介绍一个强大的爬虫引擎:phantomjs,它可以用javascript做开发,只有一个可执行文件却非常强大,实际上它是一个没有界面的webkit引擎浏览器,而且是跨平台的,它的好处一个是脚本语言直接使用js,这样页面中很多js函数它可以直接使用和修改,另一个是它可以方便的抓取到用ajax异步生成的页面。

好了,介绍结束,脚本代码如下:

/*
    Name: phantomjs射手字幕下载脚本
    File: shooter.js
    Author: b41k3r
*/
var system = require('system')
var fileid = system.args[1]; 
var page = require('webpage').create();
var execFile = require("child_process").execFile
var fs = require("fs");
var filename = "address.txt";
if (!fs.exists(filename)) {
  var file = fs.open(filename, 'a');
}else{
  fs.remove(filename);
  var file = fs.open(filename, 'a');
}
var url = "http://www.shooter.cn/files/file3.php?hash=duei7chy7gj59fjew73hdwh213f&fileid="+fileid;
page.open(url, function (status) {
if (status !== 'success') {
 console.log('Unable to post!');
} else {
         if (page.injectJs('filehash.js')) {
             var address = 'http://file1.shooter.cn' + page.evaluate(function(post_parameter) {return shtg_calcfilehash(post_parameter);},page.plainText);
             console.log(address);
             file.write(address);
             file.close();
             execFile("wget", ["-O", fileid + ".rar","-i", "address.txt"], null, function (err, stdout, stderr) {
             console.log("execFileSTDOUT:", JSON.stringify(stdout))
             console.log("execFileSTDERR:", JSON.stringify(stderr))
             })
        }
}
setTimeout(function () { phantom.exit(0) }, 2000) 
});

phantomjs没有下载功能,这里的下载直接调用了wget,另外注意上面的page.injectJs('filehash.js'),这个包含进来的filehash.js文件的内容实际上就是射手的变换函数shtg_calcfilehash,我把它放在了本地执行,phantomjs的好处在这里完全体现。

在命令行执行: phantomjs shooter.js 字幕文件的id :

脚本成功的下载了字幕。
一切大功告成,射手网复活了。

phantomjs以及脚本源码和wget打包下载

http://pan.baidu.com/s/1o6JVdW2

[本文由作者b41k3r撰写并投稿FreeBuf,版权属于b41k3r,转载须注明来自FreeBuf.COM]

b41k3r3 篇文章等级: 2级
|
|
  • 上一篇:走近科学:那些年,媒体笔下被夸大的黑客
  • 下一篇:揭秘:充电宝是如何盗取你的个人隐私的?

这些评论亮了

  • z7y回复
    某些部门的老爷有折腾字幕组的闲工夫,不如去整治一下铺天盖地的电视购物骗子广告,我会给你们烧香感谢的。
    )139(亮了
  • zzz@zzz.com回复
    然后射手就被彻底封了
    )29(亮了
  • isno回复
    嗯哼,有点意思
    其实还有一些小思路,比如http://www.archive.org/、cache hacking、甚至迅雷离线都是可以的!
    )12(亮了
  • echodebug(1级)回复
    某些部门的老爷有折腾字幕组的闲工夫,不如去整治一下铺天盖地的电视购物骗子广告,我会给你们烧香感谢的。
    )9(亮了
发表评论

已有 40 条评论

  • isno 2014-12-01回复1楼

    嗯哼,有点意思
    其实还有一些小思路,比如http://www.archive.org/、cache hacking、甚至迅雷离线都是可以的!

    亮了(12)
  • shirley - gbtags.com 2014-12-01回复2楼

    不错,很有启发的说

    亮了(0)
  • z7y 2014-12-01回复3楼

    某些部门的老爷有折腾字幕组的闲工夫,不如去整治一下铺天盖地的电视购物骗子广告,我会给你们烧香感谢的。

    亮了(139)
  • echodebug (1级) 2014-12-01回复4楼

    某些部门的老爷有折腾字幕组的闲工夫,不如去整治一下铺天盖地的电视购物骗子广告,我会给你们烧香感谢的。

    亮了(9)
  • admin123@ (1级) 2014-12-01回复5楼

    某些部门的老爷有折腾字幕组的闲工夫,不如去整治一下铺天盖地的电视购物骗子广告,我会给你们烧香感谢的。

    亮了(4)
  • zzz@zzz.com 2014-12-01回复6楼

    然后射手就被彻底封了

    亮了(29)
  • kuanger (1级) 2014-12-01回复7楼

    楼主开门,查水表!

    亮了(1)
  • 狄仁杰 2014-12-01回复8楼

    颜射KFMM

    亮了(0)
  • 元芳 2014-12-01回复9楼

    wget那个可以在windows命令行中使用吗?我下载下来是一个.exe文件

    亮了(0)
  • blackeagle (3级)向FreeBuf致敬 2014-12-01回复10楼

    我大HUC的b41k3r惊现freebuf

    亮了(5)
  • EVGA233 2014-12-01回复11楼

    b41k3r就是屌, 还好意思自称菜鸟!!!

    亮了(1)
    • yyyy3333 2014-12-01回复

      @ EVGA233 七婶不要闹。

      亮了(1)
  • kxy09 (1级) 2014-12-01回复12楼

    返回parse error怎么破,求教?

    亮了(1)
    • b41k3r (2级) 2014-12-02回复

      @ kxy09  脚本我是经过了多次测试的,表示从未出现这个错误,请截图发上来一观。

      亮了(0)
      • lengai 2014-12-02回复

        @ b41k3r  目测他和我一样都是直接运行那个文件,不是在cmd控台下。

        亮了(0)
  • 自由像风 (1级) 2014-12-01回复13楼

    商城新品有时候会出现文不对图的情况

    亮了(0)
  • kennyhip (1级) 2014-12-01回复14楼

    这方法好像失效啦,下载最后返回的是403

    亮了(0)
    • b41k3r (2级) 2014-12-02回复

      @ kennyhip  最好充分测试之后再来回复,不要轻易下结论,方法并没有失效,出现403有以下两个原因:
      1 第一次出现403,再重新下载一次或者两次就正常了,原因可能是射手生成post参数的bug.
      2 由于某些原因,在快照抓取之后字幕文件的id改变了,这就没有办法了,再换一条字幕下载吧,反正搜出来的不止一条。

      亮了(0)
  • 新百伦C团队厂家直销 2014-12-01回复15楼

    你好

    亮了(0)
  • ZMOM1031 2014-12-01回复16楼

    还在招人你说他会真的关了吗?

    亮了(0)
  • WARNING007 2014-12-01回复17楼

    66666

    亮了(0)
  • LC11111111222 2014-12-01回复18楼

    大家都知道!大家都不说!你说出来是想让他彻底被封了么!

    亮了(1)
  • kxy09 2014-12-01回复19楼

    返回parse error怎么破?

    亮了(0)
  • EtherDream 2014-12-01回复20楼

    这下彻底完了

    //:复活原理:既然射手播放器仍然可以获取字幕,那么证明字幕文件仍然存在于射手的服务器上。也就是说,射手网只是关闭了前台页面。于是我想到了利用百度快照![噢耶]

    亮了(0)
  • 一位不愿透露姓氏的李女士 2014-12-01回复21楼

    完了吧,蔫巴出溜用得了非说出来,让我等不会用的也沾了光以后,就该彻底关了…orz

    亮了(0)
  • 千秋丶千年 (4级) 2014-12-02回复22楼

    我最伤心的是人人影视被关,某些部门打着维权的旗子,做着丧尽天良的事情。

    亮了(2)
  • wfz2014 (1级) 2014-12-02回复23楼

    研究了一下非常好用;
    再提供一个思路找ID: 射手网的 API
    http://docs.shooter.cn/api

    亮了(2)
  • wmxk007 (2级) 2014-12-02回复24楼

    所以百度快照立了功?

    亮了(0)
  • 为朕更衣 2014-12-02回复25楼

    不懂代码不会用~

    亮了(0)
  • x0james (2级)We are Anonymous. 2014-12-02回复26楼

    百度顺便也封了吧。

    亮了(2)
  • yijie (1级) 2014-12-03回复27楼

    @ b41k3r,在cmd中按照您给出的方法输入,出现了错误:can’t open ‘shooter.js’, 然后直接双击shooter.js,出错,错误:Microsoft JScript出错,错误代码:800A138F。这个错误网上查不出来东西,解决不了。非常希望能得到您的帮助。谢谢您提供的资源。

    亮了(0)
  • yijie (1级) 2014-12-03回复28楼

    还有再补充一个问题,浏览器输入 : http://www.shooter.cn/files/file3.php?hash=duei7chy7gj59fjew73hdwh213f&fileid=所要下载的字幕文件的id 得到变换后的post参数,然后再出现的页面上刷新,会出现不同的字符串。貌似是几个字符串循环出现,不知道这是为什么。求助。

    亮了(1)
  • Zemo 2014-12-05回复29楼

    网盘里的phantomjs是exe的执行文件.没有OS X的执行文件吗?

    亮了(0)
  • Uriel (1级) 2014-12-06回复30楼

    麻烦问一下,shtg_filehash的值在哪里找?我找到的loadmain.js文件的开头只显示“ var shtg_filehash="duei7c"; ”………..求助

    亮了(0)
  • 贼子 (1级) 2014-12-08回复31楼

    @ b41k3r 表示看不懂怎么办! 求笨蛋版教程

    亮了(0)
  • xx000 2014-12-09回复32楼

    伪射手网已经出来了,积雪用

    亮了(0)
  • 某人无名份 2014-12-11回复33楼

    土豪

    亮了(0)
  • subry (1级) 2014-12-19回复34楼

    不知道之前是不是正常能用。。现在我下的字幕已经货不对板了 :arrow:

    亮了(0)
  • admin 2014-12-29回复35楼

    我准备更新百度快照 :mrgreen:

    亮了(0)
  • banish (6级)天地不仁 万物刍狗 2015-01-02回复36楼

    :cool:

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

b41k3r

这家伙太懒,还未填写个人描述!

3 篇文章16 条评论

相关阅读

  • 低成本安全硬件(二):RFID on PN532
  • 看我如何躺在床上黑掉自家智能电视
  • 知道创宇Web安全论坛[第一期]
  • 【内含福利大礼包】Hacking Team被黑后续:攻击者浮出水面
  • BCTF Write-up:他乡遇故知

特别推荐

关注我们 分享每日精选文章

不容错过

  • 【FreeBuf视频】《安全创业公司巡礼》美国初创公司Shape Security:使用代码变形技术的僵尸防火墙FB视频2015-02-13
  • 安洵信息招聘安全人才安洵信息2016-09-05
  • 数据清洗、智能网联汽车与企业安全建设:FreeTalk北京站看点回顾(附PPT下载)Elaine2017-05-09
  • 黑客是如何“一键”盗取汽车的?(附演示视频)饭团君2016-05-09

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月24日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me