二、pikachu之SQL注入(2)

news2024/12/23 14:38:11

文章目录

  • 1、delete注入
  • 2、http header注入
  • 3、布尔盲注
    • 4、时间盲注
  • 4、宽字节注入

1、delete注入

(1)寻找传参页面,在删除留言的时候,发现是get传参;
在这里插入图片描述

在这里插入图片描述

(2)判断是否存在注入点,命令:在id=58后面加一个,根据页面判断:
在这里插入图片描述
在这里插入图片描述

  • 页面返回错误,说明存在数字型注入。
  • 同时页面没有回显点,但是会出现报错信息,故该注入类型属于报错注入。

(3)直接构造报错注入的payload,id=62+or+updatexml(1,concat('~',database()),1)
在这里插入图片描述
在这里插入图片描述

联合注入与报错注入的区别:

  • 联合注入的前提:页面上有显示位。
  • 报错注入的前提:页面上没有显示位,但是有SQL语句执行错误信息输出。

2、http header注入

  原理:通常情况下,页面返回信息有user-agent数据的,将http头中的user-agent和accept带入了SQL查询,如果没过滤就会存在http-header注入。

(1)判断传参页面,输入admin/123456,点击login登录。

在这里插入图片描述

页面返回本机的user-agent信息和accept信息,说明存在http header注入。

(2)判断是否存在http header注入,在user-agent后面添加后,页面报错,说明存在注入漏洞。
在这里插入图片描述
在这里插入图片描述

另外:理论上,有报错,有回显点,应该也可以用联合注入,但是这里貌似并不行。

(3)构造payload:' or updatexml(1,concat('~',database()),1) or '

前后的'为了闭合。

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

3、布尔盲注

  布尔盲注,只会返回True或者False,不会返回报错信息。

(1)判断是否存在SQL注入漏洞;
  输入kobe‘ and 1=1#
在这里插入图片描述
  输入kobe' and 1=2#
在这里插入图片描述

说明此处存在布尔盲注;
另外,在搜索框中输入--+,浏览器会对+进行url编码。

(2)判断当前数据库的长度,payload:kobe' and length(database())>7 #,false;kobe' and length(database())>6 #,ture。故,数据库名长度为6。
(3)判断数据库名。payload:kobe' and ascii((substr(database(),1,1)))=112 #。需要使用burp的intruder模块。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、时间盲注

  基于时间的盲注,无论输入什么信息页面都返回相同的信息,无法根据页面返回信息来确认真假,但可以通过页面返回信息的时间长短来判断页面是否成功执行了注入的语句。
在这里插入图片描述
(1)使用sleep()函数,payload:kobe' and sleep(4) #
在这里插入图片描述
(2)基于sleep()函数,判断数据库长度,payload:kobe' and sleep(if((length(database())=7),0,3)) #
在这里插入图片描述

需要注意的是,本题虽然既可以用and也可以用or来连接,但是用and的时候,拼接的语句为真时返回用户uid和email,而使用or的时候,拼接的语句为假时返回用户的uid和email

4、宽字节注入

  宽字节注入的使用原因是:单引号、双引号等特殊字符被转义;
  宽字节注入的原理是:在web中间件拿到SQL语句后,对单引号、双引号等特殊字符进行转义,然后以ASCII编码的方式对经转义后的SQL语句进行编码,Mysql数据库对齐用GBK进行解码,由于两种编码的方式不同,导致GBK解码的时候产生漏洞。
  因为'会被转义,因此使用payload:1%df' or 1=1#:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建Ingress实例

部署deployment和service apiVersion: apps/v1 kind: Deployment metadata:creationTimestamp: nulllabels:app: webname: webnamespace: dalong spec:replicas: 2selector:matchLabels:app: webstrategy: {}template:metadata:creationTimestamp: nullspec:containers:- ima…

LabVIEW硬件在环仿真模拟电路故障分析和特征提取

LabVIEW硬件在环仿真模拟电路故障分析和特征提取 与数字电路相比,模拟电路故障分析是一项具有挑战性的任务。这主要是由于模拟分立元件的非线性特性,以及其他因素,包括噪声和内部可访问性的限制。参数故障和灾难性故障是模拟电路中发生的两种…

写之前的项目关于使用git remote -v 找不到项目地址的解决方案

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、报错解析1. 报错内容2. 报错翻译3. 报错解析(1)使用git branch来查看git仓库有几个分支(2)使用git remote -v&am…

Linux 发行版 Debian 宣布支持龙芯 LoongArch 架构

近期,龙芯发布了 3A6000 桌面处理器,芯片的性能又一次大幅度提升,成为国产芯片的又一里程碑。 同期,LoongArch 架构的生态建设也迅速提升,开源网络引导固件 iPXE、QQ Linux 版、摩尔线程等软硬件都官宣支持龙芯 Loong…

SpringBoot生成和解析二维码完整工具类分享(提供Gitee源码)

前言:在日常的开发工作当中可能需要实现一个二维码小功能,我参考了网上很多关于SpringBoot生成二维码的教程,最终还是自己封装了一套完整生成二维码的工具类,可以支持基础的黑白二维码、带颜色的二维码、带Logo的二维码、带颜色和…

【考研数学】线形代数第三章——向量 | 基本概念、向量组的相关性与线性表示

文章目录 引言一、向量的概念与运算1.1 基本概念1.2 向量运算的性质 二、向量组的相关性与线性表示2.1 理论背景2.2 相关性与线性表示基本概念2.3 向量组相关性与线性表示的性质 引言 向量是线性代数的重点和难点。向量是矩阵,同时矩阵又是由向量构成的&#xff0c…

从 0 到 1 读懂:哈希表

哈希表 一、什么是哈希表?二、两种散列函数构造方法1、直接定址法2、除留余数法(常用) 三、散列地址冲突四、常用冲突处理1、负载因子调节(减少冲突概率)2、开放定址法(闭散列)(1&am…

【C++奇遇记】内存模型

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库

前面说的Delphi通过Activex DLL同时调用PowerBasic和FreeBasic写的DLL,是在WINDOWS基础平台上完成的。 而 .NET平台是架在WINDOWS基础平台之上的,它的上面VB.NET或C#等开发的APP程序,下面写一下用VB.NET,通过VB6注册的Activex DLL…

16.遍历二叉树,线索二叉树

目录 一. 遍历二叉树 (1)三种遍历方式 (2)递归遍历算法 (3)非递归遍历算法 (4)层次遍历算法 二. 基于递归遍历算法的二叉树有关算法 (1)二叉树的建立 …

小程序中的页面配置和网络数据请求

页面配置文件和常用的配置项 1.在msg.json中配置window中的颜色和背景色 "navigationBarBackgroundColor": "#efefef","navigationBarTextStyle": "black" 2.可以看到home中的没有发生变化但是msg的发生变化了,这个和前面的…

Mysql查询重复数据常用方法

在平常的开发工作中,我们经常需要查询数据,比如查询某个表中重复的数据,那么,具体应该怎么实现呢?常用的方法都有哪些呢? 测试表中数据: 1:查询名字重复的数据 having: …

面试之快速学习计算机网络-http

1. HTTP常见状态码 2. 3开头重定向,4开头客户端错误,5开头服务端错误 2. HTTP 报文 1. start-line:请求行,可以为以下两者之一: 请求行: GET /hello-world2.html HTTP/1.1状态行:HTTP/1.1 200…

关于模板的大致认识【C++】

文章目录 函数模板函数模板的原理函数模板的实例化模板参数的匹配原则 类模板类模板的定义格式类模板的实例化 非类型模板参数typename 与class模板的特化函数模板特化类模板特化全特化偏特化 模板的分离编译 函数模板 函数模板的原理 template <typename T> //模板参数…

el-input输入框 输入数字中文 来回切换之后 监听失效问题如何解决

实现一个vue自定义指令——输入框&#xff08;input,el-input&#xff09;输入内容类型限制&#xff0c;解决中文输入法双向绑定失效问题&#xff0c;多种类型支持&#xff0c;数字类型&#xff0c;浮点类型、英文类型、整数类型、四则运算等 直接上代码 首先新建input.js ex…

Git如何操作本地分支仓库?

基本使用TortoiseGit 操作本地仓库(分支) 分支的概念 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来&#xff0c;避免影响开发主线。多线程开发,可以同时开启多个任务的开发&#xff0c;多个任务之间互不影响。 为何要…

10个好用的网络画图工具推荐,专业办公绘图必备!

在当今数字化时代&#xff0c;网络画图工具成为了各行各业的重要辅助工具。无论是制作流程图、思维导图、原型设计&#xff0c;还是插图绘制、数据可视化&#xff0c;网络画图工具为用户提供了便捷、高效的创作平台。本文将向大家推荐10个好用的网络画图工具&#xff0c;帮助你…

深度解析淘宝API商品评论接口的实现原理与使用方法

淘宝API商品评论接口&#xff0c;主要用于获取某个商品的评价信息。通过该接口&#xff0c;我们可以获取到商品的所有评价内容、评价时间、评价等级等相关信息&#xff0c;帮助我们更好地了解用户对商品的反馈&#xff0c;进而进行数据分析和业务优化。 一、接口鉴权 在使用淘…

波奇学C++:stl的list模拟实现

list是双向带头链表。所以迭代器end()相当于哨兵卫的头。 list不支持和[]重载&#xff0c;原因在于list空间不是连续的&#xff0c;和[]的代价比较大。 访问第n个节点&#xff0c;只能用for循环&#xff0c;来实现 list<int> l; l.push_back(0); l.push_back(1); l.pu…

代码随想录算法训练营之JAVA|第三十五天|343. 整数拆分

今天是第 天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天&#xff0c;如果做不到&#xff0c;完成一件评论区点赞最高的挑战。 算法挑战链接 343. 整数拆分https://leetcode.cn/problems/integer-break/ 第一想法 题目理解&#xff1a;将一个整数拆分为k个整数&…