首页 > 技术文章 > 记一次DVWA的SQL注入测试

bink1 2020-06-23 15:22 原文

sql注入截取函数

  1. MID(column_name,start[,length]) 第一个参数为要处理的字符串,start为开始位置,length为截取的长度。
  2. substr(string, start, length) 第一个参数为要处理的字符串,start为开始位置,length为截取的长度。
  3. Left ( string, n ) string为要截取的字符串,n为长度。

payload举例:(通过注入点爆破user账号)
1'and+mid(user(),1,1)='a
1'and+substr(user(),1,1)='a
1'and+left(user(),1)='a

dvwa的SQL注入举例:

  1. 判断注入。使用单引号。

    加一个单引号,报错

    再加一个单引号,返回正常。说明这里存在注入点。(单引号闭合)

  2. 构造payload使用截取函数测试payload可以使用,有没有过滤。

    测试截取函数有没有被过滤,首先自定义了一个字符串截取,查看返回包,可以看到返回成功的字节数。

    把值修改为错误的,查看返回包可以发现字节数不同。

  3. 使用payload进行注入,方式有两种。1.手工半自动注入;2.爆破两个参数,一个是起始位置,一个是值(多用于substr与mid函数)
    这是第一种方式,手工半自动注入。多用于left函数。





    需要手动改变起始位置或者截取的长度,然后对值进行爆破

第二种方式就是对起始位置跟值全部进行爆破,使用Cluster bomb爆破方式。



推荐阅读