前几天在群聊的时候,热心的群友分享了一本书《渗透攻击红队百科全书》:

看到提取码,我一度以为这是假的百度云链接_java

十分谴(gan)责(xie)这种发布盗版书籍的行为,所以我对此进行了打码。随后,另一个热心群友注意到了这个百度网盘分享的提取码,NMSL

使用过百度网盘的同学应该比较清楚,我们分享一个文件时,系统会自动生成一个随机的提取码,并没有提供让我们自定义“靓号”的功能,那么,这个分享的提取码NMSL是怎么做到的呢?难道真是上天赐予的巧合?

我们用浏览器打开百度网盘,开启Burpsuite进行抓包,随便分享一个文件,我们可以抓到一个去往https://pan.baidu.com/share/set的POST请求:

看到提取码,我一度以为这是假的百度云链接_java_02

这个请求的作用是生成分享链接,其中,我们可以看到一个名为pwd在字段,这个字段就是分享文件的提取码。也就是说,提取码其实本地浏览器生成的。

那么问题就很简单了,我们只需要拦截下这个数据包,然后修改pwd字段的值即可。比如我将这里的pwd=f9jx修改成pwd=tql8

前端仍然显示了旧的提取码:

看到提取码,我一度以为这是假的百度云链接_java_03

但使用旧的提取码是没法提取文件的,使用tql8即可提取到我分享的文件:

链接: https://pan.baidu.com/s/1m8pA38-MJgjc93CfKTRNdw 提取码: tql8

当然,聪明的网友已经将这整个抓包改包的逻辑改成了一个非常简单的操作。

首先,在百度云网盘页面中右键 -> 检查,打开开发者工具,进入Console选项卡,执行如下JS代码:

require(["function-widget-1:share/util/shareFriend/createLinkShare.js"]).prototype.makePrivatePassword=function(){return prompt("自定义百度网盘提取码","")}

之后我们执行正常分享过程操作时,就可以填写自定义提取码了:

看到提取码,我一度以为这是假的百度云链接_java_04

其实原理也很简单。因为提取码是前端生成的,所以必然有一个函数是用来生成这个随机字符串的,我们在浏览器中将这个函数替换成我们自定义的函数,即可实现一个比较优雅的自定义提取码方式。

如果你希望多次使用这个功能,又不想每次使用都打开控制台,可以直接使用https://greasyfork.org/zh-CN/scripts/378301-网盘助手这个油猴脚本。

安装之后,我们会直接在分享页面得到一个新的输入框用来填写提取码,十分方便:

看到提取码,我一度以为这是假的百度云链接_java_05