网络安全第六天(三)--SQL注入

 零   insert注入和update注入一样 

delect型和他们也差不多

就是用burp抓包改一下id就ok

一  SQL注入漏洞-基于http header的注入

什么是http header

有些时候,后台开发人员为了验证客户端头信息(比如常用的cookie验证)
或者通过http header头信息获取客户端的一些信息,比如useragent、accept字段等等。
会对客户端的http header信息进行获取并使用SQL进行处理,如果此时没有足够的安全考虑,则可能会导致基于http header的SQL Inject漏洞。

 根据提示输入密码

后台对HTTP头数据进行了获取

进行了相关的数据库操作
我们通过burp的数据包进行测试

用repeater打开

修改user-agent的内容

为firefox' or updatexml(1,concat(0x7e,database()),0) or '

返回了数据库的名称

二 基于boolian的盲注

什么是盲注?
在有些情况下,后台使用了错误消息屏蔽方法(比如@ )屏蔽了报错
此时无法在根据报错信息来进行注入的判断。
这种情况下的注入,称为“盲注"
根据表现形式的不同,盲注又分为based boolean和based time两种类型

基于boolean的盲注主要表现症状

0.没有报错信息
1.不管是正确的输入,还是错误的输入,都只显示两种情况(我们可以认为是0或者1)
2.在正确的输入下,输入and 1= 1/and 1= 2发现可以判断

在尝试了之前的方法后,发现之前的方法都不行

kobe' and ascii(substr(database(),1,1))>113#

这句话的意思是将数据库名称的第一个字母是什么做判断

无输出说明为假

继续尝试

kobe' and ascii(substr(database(),1,1))=112#

有结果说明为真

对应ACSII码得知第一个字母为q

后面的以此类推

三 基于时间的盲注

如果说基于boolean的窗注在页面上还可以看到0 or 1的回显的话
那么基于time的盲注完全就啥都看不到了
但还有一个条件,就是“时间”, 通过特定的输入,判断后台执行的时间,从而确认注入
常用的Teat Payload
kobe’ and sleep(5)#
看看输入: kobe和输入kobe and sleep(5)#的区别,从而判断这里存在based time的SQL注入漏洞。

输入kobe and sleep(5)#会延时返回

说明有payload

确实有延时

输入判断语句

kobe' and if((substr(database(),1,1))='p',sleep(5),null)#

如果是就暂停五秒

如果不是就不暂停

暂停了 说明首字母是p,后面以此类推

四 SQL Inject漏洞之表(列)名的暴力破解

首先随便输入一个payload

kobe' and exists(select * from aa)#

和暴力破解流程一样

结果如下

五 宽字节注入

当后端对用户的输入做了转义时,比如利用addslashes()或mysql_escape_string()函数

此时输入id=1’其中的单引号会被转义而变成id=1\\'

这样就使得单引号无法闭合数据库中的语句,一般情况下是很难绕过的。但是有两种情况可以通过宽字节注入绕过

第一种情况是当数据库的编码为GBK时,注入格式为id=1%df',因为反斜杠\\的编码为%5c,所以参数传到后端经过转义后就会变成id=1%df%5c',其中GBK会将%df%5c编码成一个繁体字,这样反斜杠就失去了转义的效果,使得单引号逃逸出来闭合了语句

第二种情况是,若后端的代码中有转换字符编码的函数,道理其实一样,就是将用户输入的参数用宽字节去解释了,从而使单引号逃逸

随便发一个

然后抓包

再发送到repeater

修改name为

1%df'union select 1,2#

得到结果如下


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值