首页
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
逆向
水果派
页面
搜索到
31
篇与
的结果
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 点赞
2023-07-03
一行代码实现将每个文件添加到单独的压缩文件
find . -maxdepth 1 -mindepth 1 -name "*" -execdir sh -c '7za a -t7z -m0=lzma -mx=0 -p"<password>" -mhe=on "{}.7z" "{}" && rm "{}"' \;注意,压缩完成后会删除原文件
2023年07月03日
37 阅读
0 评论
0 点赞
2023-06-28
SQL索引最左匹配
SQL索引最左匹配在进行SQL查询优化时,索引是一种非常重要的工具,可以大大提高查询效率。而索引最左匹配则是一种常用的索引优化策略,下面我们就来详细介绍一下。索引基础知识在介绍索引最左匹配之前,我们需要先了解一些索引基础知识。索引是一种数据结构,它可以帮助数据库系统快速地定位到需要查询的数据。在数据库中,索引通常是基于表的某些列(或者多个列)创建的,这些列可以是主键、唯一约束、一般列等等。当我们查询表中的数据时,数据库系统会首先检查是否存在索引,如果存在,就会使用索引来查找数据。索引可以大大提高查询效率,因为它可以将需要查询的数据的数量减少到很小的一部分。索引最左匹配优化策略在使用索引时,最左匹配是一个很重要的概念。最左匹配是指在查询条件中使用了多个列,索引可以优化查询的情况下,只有在索引列的最左侧列上使用条件才会被索引所利用。例如,我们有一个包含三个列(A、B、C)的表,并且创建了一个(A,B,C)的复合索引。如果我们执行以下查询:SELECT * FROM table WHERE A = 1 AND B = 2 AND C = 3那么这个查询就可以利用(A,B,C)索引,因为查询条件中使用了索引列的最左侧列A,中间的B也在索引中出现,最后的C也在索引中出现。但是,如果我们执行以下查询:SELECT * FROM table WHERE B = 2 AND C = 3这个查询就不能利用(A,B,C)索引,因为索引列的最左侧列A没有在查询条件中出现。因此,当我们创建索引时,应该根据查询条件中使用的列来决定索引列的顺序,最左侧列应该是最常用的筛选条件。总结索引最左匹配是一种非常重要的索引优化策略,在实际应用中应该充分利用。当我们创建索引时,应该根据查询条件中使用的列来确定索引列的顺序,最左侧列应该是最常用的筛选条件。这样可以使得查询效率更高,从而提高数据库系统的性能。
2023年06月28日
138 阅读
0 评论
0 点赞
2023-06-17
nload修改网速显示单位
nload命令默认显示的网速单位是Mbit/s(兆比特每秒),而大多数人在日常使用中习惯使用MB/s(兆字节每秒)或者Mbps(兆比特每秒)作为网速单位。如果你希望nload命令显示的单位与你的习惯相同,可以使用命令行参数“-u”指定单位。例如,“nload -u MB/s”将以兆字节每秒为单位显示网速。
2023年06月17日
63 阅读
0 评论
0 点赞
2023-06-17
数据库的增删改
插入数据插入数据可以使用 INSERT INTO 语句,语法如下:INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);其中,table_name 是要插入数据的表格名称,column1、column2、column3 等是要插入数据的表格列名称, value1、value2、value3 等是要插入的数据值。例如,我们要向名为 users 的表格中插入一条数据,数据包括 name 和 age 两列,分别为 Tom 和 20,可以使用以下语句:INSERT INTO users (name, age) VALUES ('Tom', 20);删除数据删除数据可以使用 DELETE FROM 语句,语法如下:DELETE FROM table_name WHERE condition;其中,table_name 是要删除数据的表格名称,condition 是一个可选的条件,用于指定要删除的数据行。如果不指定条件,则会删除整个表格中的数据。例如,我们要删除名为 users 的表格中 name 为 Tom 的数据行,可以使用以下语句:DELETE FROM users WHERE name = 'Tom';更新数据更新数据可以使用 UPDATE 语句,语法如下:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;其中,table_name 是要更新数据的表格名称,column1、column2 等是要更新的表格列名称,value1、value2 等是要更新的数据值, condition 是一个可选的条件,用于指定要更新的数据行。例如,我们要更新名为 users 的表格中 name 为 Tom 的数据行的 age 列,将其更新为 25,可以使用以下语句:UPDATE users SET age = 25 WHERE name = 'Tom';
2023年06月17日
156 阅读
0 评论
0 点赞
1
...
5
6
7