SQL注入之基于参数类型注入

本文详细探讨了SQL注入中基于联合查询的注入技术,包括判断注入点、闭合方式、查询列数及回显位置。通过示例展示了如何利用UNION操作符获取数据库信息,如版本、用户、数据库名、表名、列名和数据。完整注入流程包括猜测数据库、表、列以及内容的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于联合查询的注入:

1.判断注入点及闭合方式

1)判断闭合方式

闭合方式有很多种,主要有以下几种 无闭合、'、"、')、")、))等情况

2)利用and 1=1 --+ 判断结果

举例 select * from user where id=1 and 1=1 --+ 结果和不加的一致

3)利用and 1=2 --+判断结果

举例 select * from user where id=1 and 1=2 --+ 结果和不加的完全相反

2.判断查询列数及回显位置

order by 数字 数字不能大于数据表种查询字段数量 如何判断出查询列数为4,则可以union select 1,2,3,4

3.union操作符

UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。 SQL UNION语法 SELECT column_n

4.获取数据库信息

1)数据库版本和当前连接用户 用version()函数,user()函数,例: ?id=-1 union select 1,version(),3 --+

2)获取数据库名 用tadabase()函数 ?id=-1 union select 1,database(),3 --+

3)获取表名 a.5.0以上版本利用information_schema数据库 union select x,x,group

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值