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://www.mzph.cn/news/699440.shtml

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

相关文章

【Python如何求出水仙花数】

1、求水仙花数Python代码如下: # 求水仙花数:只需要个十百位的3次幂之和与原数相等 for i in range(100, 1000): # 循环100-999整数i1 i % 10 # 取个位 “%”表示除以后取余数i2 i // 10 % 10 # 取十位i3 i // 100 # 取百位 “//”表示除以后取整…

二十六、直方图均衡化

项目功能实现&#xff1a;对灰度图片进行直方图均衡化操作 按照之前的博文结构来&#xff0c;这里就不在赘述了 一、头文件 histogram_equal.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class HISTOGRAM_EQUAL { public:void histogram_equal(Mat…

nginx 模块

ngx_http_core_module 核心模块 ngx_http_access_module 访问控制模块 deny allow ngx_http_auth_basic_module 身份 小红小名&#xff08;虚拟用户&#xff09; ftp也有虚拟用户 ngx_http_gzip_module 压缩模块 ngx_http_gzip_static_module ngx_http_log_modu…

计网七层模型:从物理层到应用层

哈喽大家好&#xff0c;我是chowley&#xff0c;相信大家在面试中都被问到过网络模型&#xff0c;今儿我就来总结一下每层的功能和特点&#xff01; 在计算机网络中&#xff0c;七层网络模型&#xff08;ISO/OSI参考模型&#xff09;是一种标准的网络架构&#xff0c;用于描述…

编程笔记 Golang基础 018 常量与变量

编程笔记 Golang基础 018 常量与变量 一、常量常量的定义iota特性 二、变量变量定义变量作用域零值与初始化类型转换注意事项 三、重要性 常量&#xff0c;就是在程序编译阶段就确定下来的值&#xff0c;而程序在运行时则无法改变该值。变量是程序的基本组成单位&#xff0c;用…

Android 解决后台服务麦克风无法录音问题

Android 解决后台无法录音问题 问题分析问题来源解决方案1. 修改清单文件:`AndroidManifest.xml`2. 修改启动服务方式3. 服务启动时创建前台通知并且指定前台服务类型参考文档最后我还有一句话要说我用心为你考虑黄浦江的事情,你心里想的却只有苏州河的勾当 问题分析 安卓9.…

2024年华为OD机试真题-字符串拼接-Python-OD统一考试(C卷)

题目描述: 给定M(0<M<=30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为N(0<N<=5)的字符串,要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串,输入非法或者无法拼接出满足条件的字符串则返回0。 输入描述: …

视频监控平台如何结合AI技术

视频监控平台与AI技术的结合为安防领域带来了革命性的进步。通过引入AI技术&#xff0c;视频监控平台可以实现对监控视频内容的智能分析、识别和理解&#xff0c;从而提高监控效率和准确性&#xff0c;为城市安全和管理提供有力支持。 首先&#xff0c;视频监控平台可以利用AI…

抖音数据挖掘软件|视频内容提取

针对用户获取抖音视频的需求&#xff0c;我们开发了一款功能强大的工具&#xff0c;旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们希望用户能够通过简单的关键词搜索&#xff0c;实现自动批量抓取视频&#xff0c;并根据需要进行选择性批量下载。因此&a…

【Flink精讲】Flink任务调度机制

Graph 的概念 Flink 中的执行图可以分成四层&#xff1a; StreamGraph -> JobGraph -> ExecutionGraph -> 物理执 行图。 StreamGraph&#xff1a;是根据用户通过 Stream API 编写的代码生成的最初的图。用来表示程序的拓扑结构。JobGraph&#xff1a; StreamGraph …

pytest+yaml【接口测试框架】需要解决的问题:

接口关联&#xff1a;如果有接口关联&#xff0c;那么在下一个接口里无法直接调用python里面的方法&#xff0c;而是需要在下一个接口里通过调用方法去覆盖原值【动态参数】如何在yaml中调用随机数的方法呢&#xff1f;random函数&#xff08;让YAML能够调用外部函数---热加载&…

[更新]ARCGIS之土地耕地占补平衡、进出平衡系统报备坐标txt格式批量导出工具(定制开发版)

序言 之前开发的耕地占补平衡报备格式&#xff0c;现在之前的基础上集成了耕地进出平衡报备格式导出。 之前版本软件详见&#xff1a;软件介绍 一、软件简介 本软件是基于arcgis二次开发的工具&#xff08;插件&#xff09;&#xff0c;需要授权后才能使用&#xff1b; 本软件…

设计模式——抽象工厂模式

定义: 抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;提供一个创建一系列或相互依赖对象的接口&#xff0c;而无须指定它们具体的类。 概述:一个工厂可以提供创建多种相关产品的接口&#xff0c;而无需像工厂方法一样&#xff0c;为每一个产品都提供一个具体…

open3d 连接两个点云

连接两个点云 一、连接两个点云二、代码三、结果1.coloud1点云2.cloud2点云3.cloud1 和 colud2 合并4.生成连接字段&#xff08;拼接颜色&#xff09; 四、相关链接五、问题与解决方案1.问题2.解决方案 一、连接两个点云 看代码吧。。。 二、代码 import numpy as np import…

数据结构-二叉树深度详解(附带源码)

目录 一、基本概念&#xff1a; 二、实现二叉树的数据结构&#xff1a; 三、二叉树性质&#xff1a; 四、相关计算 五、搜索二叉树&#xff1a;任何一颗树的左子树都比它小&#xff0c;右子树都比它大 六、二叉树的存储结构 七、二叉树基本操作 八、源码&#xff08;有需…

30天拿下Rust之前世今生

概述 随着软件开发的不断发展和进步&#xff0c;编程语言也在不断地涌现和更迭。其中&#xff0c;Rust作为一种相对较新的编程语言&#xff0c;已经在短短几年内引起了广泛的关注和讨论。Rust语言犹如一颗璀璨的新星&#xff0c;以其独特的设计理念和强大的性能优势&#xff0c…

Linux命令-chfn命令(用来改变finger命令显示的信息)

说明 chfn命令 用来改变finger命令显示的信息。这些信息都存放在/etc目录里的passwd文件里。若不 指定任何选项&#xff0c;则chfn命令会进入问答式界面。 语法 chfn(选项)(参数)选项 -f<真实姓名>或--full-name<真实姓名>&#xff1a;设置真实姓名&#xff1b…

使用pytest和allure框架实现自动化测试报告优化

pytest&#xff1a; 需要安装pytest和pytest-html(生成html测试报告&#xff09; pip install pytest 和 pip install pytest-html 命名规则 Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法&#xff0c;比unittest更加严谨 unittest&#x…

【centos】【vsftpd】FTP本地用户登录配置

目录 ftp与sftp安装vsftpd和ftp本地用户登录-不限制访问目录本地用户登录-限制访问目录有可能影响连接的问题pam认证selinux策略被动模式防火墙ipv4和ipv6 报错1、 530 Login incorrect2、500 OOPS: vsftpd: refusing to run with writable root inside chroot()3、227 Enterin…

day41WEB 攻防-通用漏洞XMLXXE无回显DTD 实体伪协议代码审计

本章知识点&#xff1a; 1 、 XML&XXE- 原理 & 发现 & 利用 & 修复等 2 、 XML&XXE- 黑盒模式下的发现与利用 3 、 XML&XXE- 白盒模式下的审计与利用 4 、 XML&XXE- 无回显 & 伪协议 & 产生层面 配套资源&#xff08;百度网盘&#x…