Burp Suite-网易云音乐下载插件

图片

Burp Suite是一款信息安全从业人员必备的集 成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了 Proxy,Spider,Scanner,Intruder,Repeater,Sequencer,Decoder,Comparer等工具模块。通 过拦截HTTP/HTTPS的web数据包,充当浏览器和相关应用程序的中间人,进行拦截、修改、重放数据包进行测试,是web安全人员的一把必备的瑞士军刀。

官方提供免费版和专业版,以下是两个版本的功能对比:

图片

功能

  • 拦截代理(Proxy),你可以检查和更改浏览器与目标应用程序间的流量;
  • 可感知应用程序的网络爬虫(Spider),它能完整的枚举应用程序的内容和功能;
  • 高级扫描器,执行后它能自动地发现web应用程序的安全漏洞;
  • 入侵测试工具(Intruder),用于执行强大的定制攻击去发现及利用不同寻常的漏洞;
  • 重放工具(Repeater),一个靠手动操作来触发单独的HTTP 请求,并分析应用程序响应的工具;
  • 会话工具(Sequencer),用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具;
  • 解码器,进行手动执行或对应用程序数据者智能解码编码的工具;
  • 扩展性强,可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能。

最近想给老人下点音乐放到TF卡上听,发现各个音乐平台都不支持下载,所以只能想办法,发现在网易云音乐中只要可以试听就可以获取到真实的mp3地址,然后wget下来就行了,开干:

环境

1
2
3
4
操作系统:windows7
网易云音乐手机客户端
win-wget
Burp Suite

抓包

将手机的代理到电脑Burp Suite指定的端口,我用的x.x.x.x:9999

图片

打开手机客户端的网易云音乐,先找到设置,清除缓存,因为如果有缓存就会读取本地缓存文件,导致获取不到真实的地址,清除缓存后,播放你想要下载的歌曲,筛选,只留下mp3格式即可:

图片

可以看到已经有歌曲的连接出现了,我们复制url,然后用wget下载试试看:

图片

wget http://m7.music.126.net/20181206174325/0a4fd67f75a0f57e5be2f582efa6ad7f/ymusic/0960/84a1/20a3/7658b2a5df9b2d0ee9a107e1e418e75c.mp3

图片

可以下载,但是如果每个都要这样去复制,然后放到命令行下载还是有些费劲,继续简化:

编写mp3插件

之前有大牛写过sqlmap -r参数的插件,拿来改改,看代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#coding=utf-8

#必须导入的库
from burp import IBurpExtender
from burp import IContextMenuFactory
from burp import IBurpExtenderCallbacks
from burp import IHttpRequestResponse
from burp import IHttpListener
from burp import IProxyListener

#导入java库
from javax.swing import JMenuItem

#Python原生模块
import os
import re

httpPath = "F:/music"

#切换路径
os.chdir(httpPath)

class BurpExtender(IBurpExtender, IHttpListener, IContextMenuFactory, IProxyListener, IHttpRequestResponse, IBurpExtenderCallbacks):
#必须引用的主函数,完成初始化设置
def registerExtenderCallbacks(self, callbacks):
#右键触发扫描
self._actionName = "Download the mp3 File"
self._helers = callbacks.getHelpers()
self._callbacks = callbacks
#插件名字
callbacks.setExtensionName("Download the mp3 File")
callbacks.registerHttpListener(self)
callbacks.registerContextMenuFactory(self)
callbacks.registerProxyListener(self)

return

#创建菜单右键
def createMenuItems(self, invocation):
menu = []
responses = invocation.getSelectedMessages()
if len(responses) == 1:
menu.append(JMenuItem(self._actionName, None, actionPerformed=lambda x, inv=invocation: self.mp3Shell(inv)))
return menu
return None

#主函数
def mp3Shell(self, invocation):
invMessage=invocation.getSelectedMessages()
request = invMessage[0].getRequest().tostring()
#请求头信息
hostDomain=re.findall(r"Host: (.+?)\r\n", request)
urll=re.findall(r"GET (.*?) HTTP/1.1\r\n", request)
resurl= 'http://'+hostDomain[0]+urll[0]
print resurl
os.system("wget %s" % resurl)

载入

图片

有了插件就可以直接在获取到的url上点击右键下载到指定的文件夹下了:

图片

我的目录在httpPath = "F:/music"

图片

搞定.

文章目录
  1. 1. 功能
  2. 2. 环境
  3. 3. 抓包
  4. 4. 编写mp3插件
  5. 5. 载入
|