网络安全基础技术扫盲篇 — 常见web漏洞之SQL注入_sql注入删除-程序员宅基地

技术标签: web安全  前端  sql  

知识宝库在此藏,一键关注获宝藏

SQL注入是一种Web应用程序中的安全漏洞,它允许攻击者通过在用户输入中插入恶意的SQL代码,来执行非授权的数据库操作。具体来说,当应用程序将用户输入的数据直接拼接到SQL查询语句中而没有充分验证或转义时,攻击者可以利用这个漏洞来修改原本的查询意图,甚至获取、修改或删除数据库中的数据。

SQL注入攻击的原理是用户输入的数据被当成SQL代码执行。攻击者可以在输入字段中注入特殊的SQL语句片段,从而修改原始查询语句的逻辑结构,使其执行恶意操作。这可能会导致数据泄漏、数据篡改、拒绝服务和未经授权的特权提升等严重后果。

假设一个网站有一个登录页面,用户需要输入用户名和密码进行登录。网站开发者使用了拼接方式来构建SQL查询语句,如下所示:

SELECT * FROM users WHERE username = ‘输入的用户名’ AND password = ‘输入的密码’;

然而,开发者没有对用户输入进行充分的验证和处理,没有对特殊字符进行转义。这就给了攻击者利用SQL注入漏洞的机会。

攻击者可以在用户名输入框中输入以下内容:

’ OR ‘1’='1

这样,构成的SQL查询语句将变为:

SELECT * FROM users WHERE username = ‘’ OR ‘1’=‘1’ AND password = ‘输入的密码’;

由于 ‘1’=‘1’ 这个条件始终成立,攻击者可以绕过密码验证部分,成功登录到系统,即使他们没有正确的用户名和密码组合。

这是一个典型的SQL注入漏洞的例子,攻击者通过在输入中注入恶意的SQL代码改变了查询语句的逻辑结构,绕过了用户名和密码的验证。他们可以利用这个漏洞来执行各种非授权的数据库操作,如获取其他用户的信息、修改或删除数据。

本文仅介绍SQL漏洞产生危害的具体表现方式,具体原理等细节有兴趣的可自行搜索,以下测试内容均为掌控安全学院靶场(https://hack.zkaq.cn/)站点,未经允许,切勿在任意网站进行渗透测试

例如此时网站正常传参id=1,此时页面回显正常文章

例如可以通过构造恶意语句与数据库进行交互(这边他数据库的时间有点问题),包括获取当前时间、库名甚至库内数据等

为了方便就不手注了,使用工具可以跑出对应的库名以及表名和数据

如果一些数据库参数配置不当,甚至可以直接拿下服务器权限。

例如下图是通过SQL注入上传了Webshell,并通过Webshell连接工具可以直接控制目标服务器

所以SQL注入漏洞的危害是十分大的,在我们等保中也是列为高风险漏洞之一,同时有对应的条款明确指出。(下期介绍与此条款相关的XSS漏洞)

为了预防SQL注入漏洞的产生,我们可以采取以下几个措施:

1. 使用预编译语句:将 SQL 语句和参数分开处理。在执行 SQL 语句之前,先将 SQL 语句中的参数用占位符代替,然后将占位符和参数分别传递给数据库。

2. 对输入数据进行严格验证和过滤:在接收用户输入数据之前,对数据进行强制验证和过滤。例如,可以使用正则表达式来验证输入的格式是否符合要求,过滤掉非法字符等。

3. 对输入的特殊字符进行转义:对用户输入的特殊字符(如单引号、双引号、分号等)进行转义处理,在存储或执行之前将其转化为安全字符,从而避免注入攻击。

4. 使用Web应用防火墙(WAF):WAF可以拦截和阻止恶意用户提交的恶意代码,对提交的数据进行过滤和检查,保护应用程序免受注入攻击。

:黑客&网络安全的SQL攻防

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

在这里领取:

这个是我花了几天几夜自整理的最新最全网安学习资料包免费共享给你们,其中包含以下东西:

1.学习路线&职业规划

在这里插入图片描述
在这里插入图片描述

2.全套体系课&入门到精通

在这里插入图片描述

3.黑客电子书&面试资料

在这里插入图片描述

4.漏洞挖掘工具和学习文档

在这里插入图片描述

这些东西都是免费领取哦:黑客最新大礼包

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shangguanliubei/article/details/135969360

智能推荐

Element-ui 对话框el-dialog点击关闭事件处理_el-dialog关闭事件-程序员宅基地

文章浏览阅读2w次,点赞8次,收藏9次。默认关闭的处理使用:visible.sync="dialogVisible"进行处理<el-dialog title="提示" :visible.sync="dialogVisible" width="30%" :before-close="handleClose"> <span>这是一段信息</span> <span slot="footer" class="dialog-footer"> <el-button @c_el-dialog关闭事件

Go必知必会系列:中间件与拦截器-程序员宅基地

文章浏览阅读1.7k次。在 Go 中,中间件(Middleware)是指用来连接两个或多个服务的组件或者模块。它通常被用于实现安全、验证、数据转换、监控等功能。

WebAssembly完全入门——了解wasm的前世今身-程序员宅基地

文章浏览阅读58次。前言接触WebAssembly之后,在google上看了很多资料。感觉对WebAssembly的使用、介绍、意义都说的比较模糊和笼统。感觉看了之后收获没有达到预期,要么是文章中的例子自己去实操不能成功,要么就是不知所云、一脸蒙蔽。本着业务催生技术的态度,这边文章就诞生了。前部分主要是对WebAssembly的背景做一些介绍,WebAssembly是怎么出现的,优势在哪儿。如果想直接开始撸代码试试..._-s use_xx wasm

创建一个conda环境及将其用于复现别人代码的全过程以及遇到的问题_如何创建别人论文的代码依赖项的conda环境-程序员宅基地

文章浏览阅读3k次,点赞12次,收藏59次。用于小白复现别人论文的代码condawin+r,输入cmd进入命令行,输入conda的情况下出现'conda' 不是内部或外部命令,也不是可运行的程序 或批处理文件。如何用conda查看,创建,切换,管理环境1.查看环境2.创建环境3.切换环境4.管理环境5.删除环境6.环境克隆使用我们搭建的环境来复现别人的代码复现别人代码7.如何安装不同位的Pythonanaconda的安装我就不说了,有很多的教程。主要是第一次跑代码时发现,有时候复现别人的代码会出现一会去安装环境,一会儿去安装环境,conda一个很_如何创建别人论文的代码依赖项的conda环境

Stars POJ - 2352 二维偏序问题CDQ分治_树状数组二维偏序-程序员宅基地

文章浏览阅读246次。Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not higher and ..._树状数组二维偏序

CS229 吴恩达机器学习 习题大作业答案 problem sets 04 PS04(第6题,欢迎指教)强化学习 Reinforcement Learning MDP 马尔可夫决策_cs229 吴恩达机器学习 习题答案-程序员宅基地

文章浏览阅读1.1k次。6. Reinforcement Learning: The inverted pendulum首先写出simulator(作业中已提供,直接复制过来):import matplotlib.pyplot as pltimport matplotlib.patches as patchesfrom math import sin, cos, piclass CartPole: def __init__(self, physics): self.physics = physi_cs229 吴恩达机器学习 习题答案

随便推点

YOLOv5红外车辆检测pytorch实现_yolov5识别红外图像-程序员宅基地

文章浏览阅读343次。数据集收集与预处理: 首先,为了训练YOLOv5模型,需要收集大量标注有车辆目标的红外图像数据集。这些数据集应覆盖各种不同的场景和条件,以提高模型的泛化能力。然后,对图像进行预处理操作,包括图像大小调整、归一化、数据增强等,以提高模型的鲁棒性和适应性。模型架构: YOLOv5采用了一种基于卷积神经网络(CNN)的轻量级架构。它包括主干特征提取网络和检测头两个主要部分。特征金字塔网络: 为了在不同尺度下检测车辆目标,YOLOv5引入了特征金字塔网络。_yolov5识别红外图像

评估回归模型的指标:MSE、RMSE、MAE、R2、偏差和方差-程序员宅基地

文章浏览阅读2.6w次,点赞19次,收藏167次。在回归任务(对连续值的预测)中,常见的评估指标(Metric)有:平均绝对误差(Mean Absolute Error,MAE)、均方误差(Mean Square Error,MSE)、均方根误差(Root Mean Square Error,RMSE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE),其中用得最为广泛的就是MAE和MSE。下面依次来..._r2分数

TinyBERT论文及代码详细解读-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏10次。General DistillationData Augmentation主要基于BERT预训练模型以及词向量(文中选择的Glove词向量)进行词级别的替换,实现数据增强。在官方代码中进行了17(NαN_\alphaNα​)倍的增强,以GLUE/QQP数据集为例效果如下:id qid1 qid2 question1 question2 is_duplicate402555 536040 536041 how do i control my 40-something emotions _tinybert

基于贝塞尔曲线的变道轨迹规划_贝塞尔曲线 自动紧急换道-程序员宅基地

文章浏览阅读9k次,点赞14次,收藏118次。基于贝塞尔曲线的变道轨迹规划车辆的换道与超车是驾驶员常见的驾驶操作之一,无人驾驶车辆在行驶过程中也会频繁的面临此工况,车辆行驶过程中必须根据行驶环境中车车之间的相对速度与距离,以及车辆周边其他环境的变化信息,相应做出调整进而完成驾驶要求。在这个过程中,车辆必须对安全换道和超车的通过性做出准确评估,从而使车辆安全的运行。因此,无人车的轨迹规划是保证车辆安全行驶的重要组成部分。..._贝塞尔曲线 自动紧急换道

fedora14 15 16 apache mysql php yum安装_fedora 15如何安装zlib-程序员宅基地

文章浏览阅读714次。fedora14 15 16 apache mysql php yum安装2010年06月26日 星期六 10:14LAMP是Linux, Apache, MySQL, PHP的缩写.这篇教程将教你如何在一台Fedora 服务器上安装Apache2web服务器+PHP(mod_php) +MySQL .我已经测试无误,你可以放心使用。1. 前言_fedora 15如何安装zlib

推荐10个AI人工智能技术网站_ai网站-程序员宅基地

文章浏览阅读1.4w次。AI World的主题包括AI技术、AI应用、AI实践和AI商业。AI Trends (https://www.aitrends.com/) 是一个专注于人工智能领域的网站,它提供了最新的AI技术和应用趋势的报道和分析。AI News(https://www.ainewsletter.com/)是一家专注于人工智能领域的新闻平台,它提供了最新的人工智能技术和应用方面的新闻报道、分析和评论。这些作者和专家对于人工智能技术的发展和应用有着深入的了解和研究,他们的文章和分析通常能够提供非常有价值的洞察和思考。_ai网站

推荐文章

热门文章

相关标签