2、Web攻防-SQL注入-联合查询注入

用途:个人学习笔记,有所借鉴,欢迎指正!

声明:只用于学习交流,点到为止,请勿非法测试。

概念:

联合查询注入:联合注入是回显注入的一种,也就是说联合注入的前提条件就是需要页面上能够有回显位。回显位就是客户端将数据展示在页面中,这个展示数据的位置就叫回显位。

报错盲注:报错注入就是利用了数据库的某些机制,人为的制造错误的条件,使得查询的结果能够出现在报错页面错误的信息中。

数据库内置函数:

       user() 数据库用户名
  database() 当前数据库名
  version() 当前数据库版本信息
  @@hostname 服务器主机名
  @@basedir 数据库安装路径
  @@version_compile_os 操作系统

 一、联合查询注入

联合查询步骤

  判断注入点——》判断注入类型(数字型或字符型)——》判断字段数——》判断显示位——》确定数据库名——》确定数据库的表名——》确定数据库的列名——》确定数据库的字段名——》获取数据。

1、判断注入点(理想情况)

(1)URL地址中的注入点,网址类似 :main.php?id=1等id值可注入的页面

(2)登录页面的注入点,点击登录后提交的账号密码都会拼接到SQL语句中查询与数据库中进行比对,所有账号和密码就存在注入点

 还有很多,只要用户提交的参数被拼接到SQL语句中和数据库交互,就存在注入点,当然仅仅是说存在注入点不一定成功,因为现在大数都有过滤参数和防火墙黑白名单等等另说。

2、判断注入类型(数字型或字符型)

 ?id=1 and 1=1--+         页面 正常      --+:SQL语句的注释符,注释符号后面的语句不执行
 ?id=1 and 1=2--+         页面 正常     如果不正常就可以判断为数字型
都正常基本上可以判断不是数字型了,然后用干扰字符尝试发现:
 ?id=1’ and 1=2–+        页面不正常
所以判断为字符型注入。 

3、判断表中字段数

  order by 函数是对MySQL中查询结果按照指定字段名进行排序,除了指定字段名还可以指定字段数进行排序,第一个查询字段为1,第二个为2,依次 类推。若输入数值为n时报错,那么表示没有n个字段,总的字段数为n-1。

4、判断显示位 

 通过上面得到字段数,后面通过union select 1,2,3…n(n为字段数)对其进行判断回显位。

例如:

www.sztest.net.cn/about.php?ID=1+and+1=2+union+select+1,2,3,4,5,6,7,8,9,10--+

 测出显示位:2和4

5、确定数据库名

将显示位替换成database() 例如:

www.shsuna.com/en/company.php?id=35+and+1=2+union+select+database()www.sztest.net.cn/about.php?ID=1+and+1=2+union+select+1,version(),3,database(),5,6,7,8,9,10

 mysql 5.0以下为低版本,5.0以上为高版本(有information_schema数据库)这个数据库是存储所有数据库名,表名,列名,相当于可以通过查询这个数据库获取指定数据库下面的表名列名信息。
  数据库中"."代表下一级,如haha.user表示haha数据库下的user表名
  information_schema.tables 记录所有表名信息的表
  information_schema.columns 记录所有列名信息的表
  information_schema.schemata 记录所有数据库信息的表
  table_schema 数据库名
  table_name 表名
  column_name 列名
  group_concat() 显示所有查询到的数据

 参考:

1、WEB攻防-通用漏洞&SQL注入&MYSQL跨库&ACCESS偏移-CSDN博客

SQL注入基础原理与案例(详细总结)_sql注入案例-CSDN博客

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

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

相关文章

Gemma模型论文详解(附源码)

原文链接:Gemma模型论文详解(附源码) 1. 背景介绍 Gemma模型是在2023.2.21号Google新发布的大语言模型, Gemma复用了Gemini相同的技术(Gemini也是Google发布的多模态模型),Gemma这次发布了了2B和7B两个版本的参数,不…

嵌入式Linux中apt、apt-get命令用法汇总

在Linux环境开发过程中接触ubuntu虚拟机时,在安装软件或者更新软件时apt和apt-get命令使用相对较频繁,下面对这两个命令的用法进行汇总。 apt(Advanced Package Tool)和 apt-get 是用于在基于 Debian 的 Linux 发行版中进行软件包…

什么是favicon.ico图标?如何在线生成ICO图标?如何安装favicon.ico图标?

在本站首页的活跃博客中经常看到有部分博客网站没有 favicon.ico 图标,所以今天打算普及一下相关知识,希望还没有 favicon.ico 图标的博主们,能够制作出自己独特的图标。 那么到底什么是favicon.ico? 好搜百科给出的解释&#xf…

electron学习和新建窗口

首先我们要先下载electron npm install --save-dev electron 建立入口文件main.js 新建一个入口文件 main.js,然后导入eletron新建一个窗口。 const { app, BrowserWindow, ipcMain } require("electron"); const path require("path");func…

Nginx 反向代理配置

Nginx就不废话了,web服务器。 最近在备案一个域名,想要备案,部署一个服务器,平常很少自己配置Nginx,今天记录下。 1、反向代理 正向代理 指 客户端通过代理访问后端服务 反向代理 指 服务器推出一个客户&#xff0…

6.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-通过逆向分析确定游戏明文发送数据过程

内容参考于:易道云信息技术研究院VIP课 上一个内容:测试需求与需求拆解 在开始之前要了解一个小知识,在逆向开始之前要很清楚知道要找的东西是什么,大概长什么样子,只有这样才能看到它第一眼发现它,现在我…

Unable to make field private JavacProcessingEnvironment$DiscoveredPro报错解决办法

maven项目打包报错 报错信息 Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs accessible: module jdk.compiler does not &q…

[论文精读]Do Transformers Really Perform Bad for Graph Representation?

论文网址:[2106.05234] Do Transformers Really Perform Bad for Graph Representation? (arxiv.org) 论文代码:https://github.com/Microsoft/Graphormer 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼…

springmvc+ssm+springboot房屋中介服务平台的设计与实现 i174z

本论文拟采用计算机技术设计并开发的房屋中介服务平台,主要是为用户提供服务。使得用户可以在系统上查看房屋出租、房屋出售、房屋求购、房屋求租,管理员对信息进行统一管理,与此同时可以筛选出符合的信息,给笔者提供更符合实际的…

PYQT5-自定义事件

from PyQt5.QtCore import QEvent, QObject from PyQt5.QtWidgets import QApplication import sys# 自定义事件类 class CustomEvent(QEvent):# PYQT5 预留给用户自定义事件类型的起点为 QEvent.User1000custom_event_type QEvent.registerEventType()# 也可以这样写# custom…

Python 实现 ADTM 指标计算:股票技术分析的利器系列(9)

Python 实现 ADTM 指标计算:股票技术分析的利器系列(9) 介绍算法解释 核心代码rolling函数介绍计算 DTMnp.where 使用介绍np.maximum 计算 DBM计算 STM计算 SBM计算 ADTM 完整代码 介绍 ADTM(动态买卖气指标)是一种用…

高级语言期末2012级B卷

1.编写函数&#xff0c;输出任意正整数n的位数&#xff08;n默认为存储十进制的整形变量&#xff09; 例如&#xff1a;正整数13&#xff0c;则输出2,&#xff1b;正整数3088&#xff0c;则输出4 #include <stdio.h>int func(int n) {int count0;while(n>0) {n/10;co…

【Redis服务搭建】

目录 Redis的修改配置启动以及参数调优Redis的常用基本操作Redis运维监控命令Redis的配置的动态更新和写入Redis的多用户管理Redis的慢日志Redis禁用危险命令和压测工具Redis持久化存储1.Redis的RDB持久化存储2.Redis的AOF持久化存储 Redis的主从复制redis的哨兵实现主从自动切…

捕捉消费新趋势,脉纷纷让生活更便捷

随着科技的飞速发展和消费者需求的不断升级,消费市场呈现出前所未有的新趋势。在这个变革的时代背景下,脉纷纷凭借其敏锐的市场洞察力和创新精神,致力于捕捉消费新趋势,为消费者带来更加便捷的生活体验。 脉纷纷深知消费者对于便捷生活的渴望。因此,它紧密关注市场动态,通过大数…

NLP_构建GPT模型并完成文本生成任务

文章目录 搭建GPT模型&#xff08;解码器&#xff09;构建文本生成任务的数据集训练过程中的自回归文本生成中的自回归&#xff08;贪婪搜索&#xff09;完整代码小结 搭建GPT模型&#xff08;解码器&#xff09; GPT 只使用了 Transformer的解码器部分&#xff0c;其关键组件…

【Java程序设计】【C00291】基于Springboot的网上图书商城(有论文)

基于Springboot的网上图书商城&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的网上图书商城 本系统分为系统功能模块、管理员功能模块以及卖家功能模块。 系统功能模块&#xff1a;在系统首页可以查看首页、图书…

基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 本模型质量非常高&#xff0c;运行效果完美。本模型为4机并联孤岛系统&#xff0c;在下垂控制的基础上加入二次控制&#xff0c;二次电压与频率协同控制策略利用事件触发的方法来减少控制器的更新次数。该方法…

Python操作Kafka基础教程

01 Python操作Kafka基础教程 创建ZooKeeper容器 docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper创建Kafka容器 语法是&#xff1a; docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID0 -e KAFKA_ZOOKE…

观察者模式, 发布-订阅模式, 监听器模式

观察者模式, 发布-订阅模式, 监听器模式 观察者模式 观察者模式是一种行为型设计模式, 定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新 角色模型和结构图 在观察者模式中&#xff0c;只有两种…

码农永远高薪吃香的3项特质

最近看到Google在裁员滚滚&#xff0c;再次对CS就业环境有了清醒认知。之前听程序员担忧裁员&#xff0c;还以为他杞人忧天。然而&#xff0c;现实就是如此寒冷彻骨啊&#xff01; 当然&#xff0c;有些具备不可替代性的码农&#xff0c;永远吃香。总结发现有以下几点特质&…