首页
Search
1
Centos上使用docker安装transmission
252 阅读
2
'GLIBCXX_3.4.21' not found
183 阅读
3
BuyVm在centos系统上配置ipv6地址
173 阅读
4
数据库的增删改
156 阅读
5
yt-dlp使用手册
156 阅读
默认分类
Linux
sql
逆向
水果派
登录
Search
标签搜索
linux
centos
nginx
vps
python
openssl
GLIBCXX
rar
unzip
sql
bbr
transmission
pt
docker
yt-dlp
web
cloudflare
office
zip
解压
奈陌
累计撰写
31
篇文章
累计收到
0
条评论
首页
栏目
默认分类
Linux
sql
逆向
水果派
页面
搜索到
1
篇与
的结果
2023-08-09
影视站禁止非微信端打开的研究
最近遇到了一个影视站,发现只能在手机微信里打开,无法使用chrome打开并抓取链接。链接:https://mr.baidu.com/148。打开百度短链会302到https://m.baidu.com//tc?bdver=2_1&bdenc=1&wd=&nsrc=**。这个网页中会使用js跳转到另一个网页,再由新网页实现第二次重定向。新网页只有一个域名,没有任何参数,所以推测使用了Referer传递了重定向的网址。以下是Python模拟实现:baidu_short_url = 'https://mr.baidu.com/148******' headers = { 'Referer': requests.get(baidu_short_url).url } real_short_url = requests.get('http://www.****.cn/', headers=headers).url这里称第二次重定向后的网页叫跳转页2,跳转页2引入了一个js文件:<script src="https://qimao.****.cn/bxx3?uc=e5nz****==">每次打开跳转页2,都会得到不同的uc参数,一旦访问了js文件,js链接就会失效,需要重新打开网页获取新js链接。打开js文件,我不太会js,问了ChatGPT说是用于表单提交数据:document.title = "..."; var pPdx = document.createElement("form"); document.body.appendChild(pPdx); pPdx.method = 'get'; pPdx.action = '\x68\x74******'; var newElement = document.createElement("input"); newElement.setAttribute("name", "url"); newElement.setAttribute("type", "hidden"); newElement.setAttribute("value", '\x36\x38******'); pPdx.appendChild(newElement); pPdx.submit();将16进制字符串转换后,得到的是一个网址和一个参数,进行拼接,得到一个完整的网址https://.aliyun.com/?url=**。完整网址的源码如下:<script> var asdasdcx = 1; var sdgsdsd = 0; var sffss = 0; var agent = navigator.platform.toLowerCase(); if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) { var sffss = 1; } if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) { var sffss = 1; } var WinOri = window.orientation; if (typeof WinOri == 'undefined' || sffss == 1) { asdasdcx = 3; document.write("内容不存在,已删除"); } </script> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>...</title> </head> <body> <script type="text/javascript"> if (asdasdcx !== 3) { window['\x6c\x6f\x63\x61\x74\x69\x6f\x6e']['******'+'xl=******'; } </script> </body> </html>可以看到,这个网页除了检查UA还会检查navigator.platform,UA不是微信的话服务器会直接返回444,navigator.platform为电脑端的话会显示内容不存在,已删除。遂使用油猴脚本修改了navigator.platform的返回值(PS:就算加了// @run-at document-start,还是得限制网速,不然网页打开太快了,脚本来不及注入):Object.defineProperty(navigator, 'platform', { get: function() { return 'Android'; } });现在回到js逻辑,如果校验通过,window的location属性会被设置为一个网址,进行第3次跳转,跳转到真正的播放页。后面获取m3u8链接接口就不赘述了,没有任何加密,明文JS。
2023年08月09日
27 阅读
0 评论
0 点赞