渗透测试之sql注入

article/2025/7/15 6:05:46

原文地址
什么是SQL注入?

SQL 注入(SQL Injection)是发生在 Web 程序中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞。主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。

SQL注入的原理是什么?

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。(用户输入的数据,被当SQL语句在目标服务器上来进行执行,以此来获得自己想要的数据)

SQL注入有哪几种类型?

SQL注入类型有以下6种:1. 数字类型的注入;2. 字串类型的注入;3. GET注入;4. POST注入;5. COOKIE注入;6. HTTP注入。SQL注入是通过将恶意的 SQL 查询或添加语句插入到应用的输入参数中,再在后台 SQL 服务器上解析执行进行的攻击。

一.数字类型注入

1.1如何判断是否存在sql注入

我们在封神台靶场上来进行测验 靶场地址

靶场页面就是这样的

点击查看新闻1

会出现id=1 在id=1后面输入一个单引号 ’ 单引号是英文的单引号,并且在url输入的字符都应为英文

输入之后他会报错 回想一下没输入之前页面上是有 猫舍介绍 输入之后页面却不显示 这是因为不符合语法 所以该语句肯定会出错 导致脚本程序无法从数据库获取数据 从而使原来的页面出现异常

继续在id=1 后面输入 and 1=1 1和and之间需要空格

这时它的页面怎么是又是正常的 是因为语句正确 执行正常 返回的数据与原始请求无任何差异

把id=1 and 1=1 改成 id=1 and 1=2

当id=1 and 1=2 页面怎么又报错了 因为虽然语法正确,语句执行正常,但是逻辑错误,因为 1 = 2 为假,所以返回数据与原始请求有差异。如果以上三个步骤全部满足,则程序就可能存在数字型 SQL 注入漏洞。

1.2如何获取目标网站的数据

既然确定了此网站存在SQL注入 那么我们就要获取到我们想到得到的数据

1.1 查字段数

在id=1 后面输入 order by 1 ,order by 2, order by 3 … 直到页面报错

当输入到 order by 3 时页面报错 那么它的字段数应为2 因为order by 2 时他并没有报错 order by 3 时报错 证明它并不存在3个字段 所以他的字段数应该为2

1.2 查询回显点

在id=1后输入 and 1=2 union select 1,2 看到了没他的页面出现了2 所以他的回显点为2

  1. 3查询当前使用库

1.4查询表

?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1

表名为 admin

1.5 查字段

?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 1,1

?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name='admin' limit 2,1

1.6 查用户名

用户名为admin

?id=1 and 1=2 union select 1,username from admin limit 0,1

查密码

密码为hellohack

?id=1 and 1=2 union select 1,password from admin limit 0,1


http://chatgpt.dhexx.cn/article/I5yKetFs.shtml

相关文章

如何快乐地检测SQL注入

这估计大家也都发现了,测试SQL注入这种漏洞啊,又有WAF页面又没有明显的报错的情况下, 测试起来就是一个字,烦。 有waf: 我 and 11, 啪,它拦了。 我 order by, 啪,它拦了。 我 sleep(5), 啪,…

SQL注入(一)之原理与检测

一 SQL注入攻击原理 01 注射式攻击的原理 注入产生的原因是接受相关参数未经处理直接带入数据库查询操作;注入攻击属于服务端攻击,他与操作系统、数据库类型、脚本语言类型无关总之一句话: 注入产生的原因是接受相关参数未经处理直接带入数据库查询操作。02 sql注入…

25显函数求导数

1、显函数求导数

人工智能之数学基础----隐函数求导和相关变化率

本章主要讲解隐函数求导和相关变化率,大家理解什么叫隐函数及其如何求导 隐函数求导 相关变化率 隐函数求导 首先我们来理清什么叫隐函数,讲解隐函数之前我们来讲显函数,因为隐函数是相对显函数而言的 y f ( x ) yf(x) yf(x)像这种函数中&am…

Python应用:画出任意二维函数的轨迹

一、提要 对于显函数,其曲线可以通过给出定义域和对应的函数值画出。然而对于一些隐函数,不能显式表达,其曲线如何画出?如果从定义域内,逐点求出函数值,然后画出点序就不是一个很好的主意。用计算方法求出所…

Matlab之函数绘图函数ezplot

一、功能 可以直接调用ezplot进行函数绘制 二、语法 1.ezplot(fun) 绘制表达式 fun(x) 在默认定义域 -2π < x < 2π 上的图形&#xff0c;其中 fun(x) 仅是 x 的显函数。 fun 可以是函数句柄、字符向量或字符串。 2.ezplot(fun,[xmin,xmax]) 绘制 fun(x) 在以下域…

隐函数作图

背景介绍 Matlab提供了一系列绘图函数&#xff0c;常见的包括绘制2D曲线的plot函数、绘制2D隐函数曲线的ezplot函数、绘制3D曲面的mesh和surf函数、绘制3D显函数曲面的ezmesh和ezsurf函数。值得注意的是&#xff0c;ez系列的绘图函数里只有ezplot是绘制隐函数曲线的&#xff0c…

基础30讲 第11讲 多元函数微分学

目录 综述1、基本概念1.1 平面点集邻域边界区域聚点 1.2 极限1.3 连续1.4 偏导数1.5 可微1.6 偏导数的连续性 2、多元函数微分法则2.1 链式求导法则2.2 隐函数存在定理&#xff08;公式法&#xff09; 3、多元函数的极值与最值3.1 概念3.2 无条件极值(数学公式计算只适用于2元)…

MATLAB符号函数绘制各种函数图像,ezplot()函数 ezplot3()函数

我们学习常遇见的函数种类有显函数&#xff0c;隐函数&#xff0c;参数方程三种&#xff0c;对于隐函数绘制图像比较麻烦&#xff0c;给大家介绍一种简单实用的一中画函数的方法。 函数介绍 二维曲线ezplot()函数 ezplot()函数用于绘制显函数&#xff0c;隐函数&#xff0c;…

9.5 隐函数求导法则

本篇内容我们说一下隐函数求导的法则&#xff0c;之前在初次接触导数的时候&#xff0c;我们有总结过一部分隐函数求导的内容&#xff0c;虽然和本篇的内容有一部分相似&#xff0c;但是可以再看一看用于对比理解。上正文。 一、概念阐明 1.什么叫隐函数&#xff1f; 形如F(x…

MATLAB绘图命令fimplicit绘制隐函数图形入门详解

一、fimplicit基本语法 数学上的一元函数可以分为显函数和隐函数两大类&#xff0c;显函数的优点是能够明显的看出来因变量和自变量之间的关系&#xff0c;也就是对应法则&#xff0c;但是隐函数往往无法看出对应法则&#xff0c;而且很多时候都不能轻松的转化为显函数。 fplot…

高数-隐函数求导

目录 什么是隐函数 一个方程&#xff0c;两个未知数 一个方程&#xff0c;三个未知数 方程组求偏导 隐函数求导一般有两种情形&#xff0c;一种是单个方程&#xff0c;另一种是方程组。下面来介绍这两种情形的求导方法。 什么是隐函数 首先我们要明确&#xff1a;什么是隐函…

数学分析 - 隐函数

简介&#xff1a;用多元函数&#xff08;隐函数中自变量和因变量同时存在的表达式的作为多元函数的表达式&#xff09;的思维来分析隐函数 隐函数的概念 || 定义&#xff1a;隐函数的定义&#xff08;一个多元函数F(x, y)构成的方程F(x, y) 0&#xff0c;隐含了一个隐函数yf(…

MATLAB二元隐函数绘图命令fimplicit3详解

一、引言 fimplicit3功能是绘制二元隐函数的曲面图形。 类似于一元函数分为显函数和隐函数&#xff0c;二元函数也有显函数和隐函数之分。形如zf(x,y)的二元函数称为显函数&#xff0c;而由三元方程f(x,y&#xff0c;z)0确定的二元函数称为隐函数。 二元函数对应的几何图形是空…

隐函数的求导

目录 隐函数的定义&#xff1a; 例题&#xff1a; 参数方程确定函数的导数 例题&#xff1a; 相关变化率 ​编辑 隐函数的定义&#xff1a; 有隐函数就有显函数&#xff0c;我们首先要了解显函数的定义&#xff1a; 隐函数&#xff1a; 例如&#xff1a; 对于有些隐函数&a…

4.1 显函数曲线的动画

例 4.1.1 作出幂函数 yx^k 的动画 (k从0.1变到3)。 解 输入以下命令&#xff1a; with(plots): K:30: a:0.1: L:seq(plot(x^(a*k), x0…4), k0…K): display(L, insequencetrue, scalingconstrained, tickmarks[2,2], view[-0.2…4, -0.2…4]); 输出动画&#xff1a; 例 4.1.2…

095: 复习习题 求导题型 Case1:显函数求导;Case2:隐函数求导;Case3:参数方程确定的函数

095: 复习习题 求导题型 Case1&#xff1a;显函数求导&#xff1b;Case2&#xff1a;隐函数求导&#xff1b;Case3&#xff1a;参数方程确定的函数

《高数》笔记 一

为什么学高数&#xff1f; 锻炼自己的思维&#xff0c;以防老年痴呆。 如何服用高等数学&#xff1f;&#xff08;学习方法&#xff09; 做题不盲目做&#xff0c;一点点增加难度&#xff0c;难题一定要自己做出来不急于求成知道答案&#xff0c;过程对你很重要。 课程目标…

2.1 显函数曲面

二元函数 zf(x, y) 的图形一般是曲面。 曲面 作图的基本格式&#xff1a; plot3d(f(x,y), xa…b, yc…d); 例 2.1.1 作出以下函数的图形 &#xff08;定义域是一个正方形区域&#xff09; 解 输入以下命令&#xff1a; plot3d(x^ 2y^2, x-2…2, y-2…2); 输出图形&#xff1…

matlab符号函数作图,matlab制图—符号函数(显函数、隐函数和参数方程)画图

例1:在[0,pi]上画ycos x 的图形. 解:ezplot(cos(x),[0,pi]) 所制图形是: 例2:在[0,2pi]上画xcost^3,ysint^3星形图. 解:ezplot(cos(t)^3,sin(t)^3,[0,2*pi]) 所制图形是: 例3:在[-2,0.5]&#xff0c;[0,2]上画隐函数exp^xsin(xy)0的图. 解&#xff1a;ezplot(exp(x)sin(x*y),[-…