Web安全-初识SQL注入(一)

1、初识SQL注入

1.1、什么是注入?

将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。

注入能导致数据丢失、 破坏或泄露给无授权方,缺乏可审计性或是拒绝服务。注入有时甚至能导致主机完全被接管。 注入攻击的本质:就是把用户输入的数据当做代码执行。(过于信任用户)

1.2、什么是SQL注入?

SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的入侵行为。

在这里插入图片描述

(图片来源网络)

1.3、SQL注入产生的原因

随着B/S模式被广泛的应用,由于没有对用户的输入数据或者是页面中所携带的信息进行的合法性校验,导致了攻击者可以提交一段数据库查询代码,根据程序返回的结果,获得一些Ta想得到的数据。被称为数据库的注入攻击(SQL注入攻击)。

也就是数据与代码未严格分离;用户提交的参数数据未做充分检查过滤就被代入到SQL命令中,改变了原有SQL命令的“语义”,且成功被数据库执行。

1.4、SQL注入的危害

包括但不局限于:

  • 数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。
  • 网页篡改:通过操作数据库对特定网页进行篡改。
  • 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
  • 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。
  • 服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
  • 破坏硬盘数据,瘫痪全系统。
  • 一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害被进一步放大。

1.5、SQL注入在渗透中的利用

  • 绕过登录验证:使用万能密码登录网站后台等。
  • 获取敏感数据:获取网站管理员帐号、密码等。
  • 文件系统操作:列目录,读取、写入文件等。
  • 注册表操作:读取、写入、删除注册表等。
  • 执行系统命令:远程执行命令。

2、如何挖掘SQL注入

2.1、常见SQL注入流程

在这里插入图片描述

2.2、SQL注入漏洞分类

2.2.1、按数据类型

可分为:数字型(Integer)和字符型(String)

2.2.2、按返回结果

可分为:显错注入(Error-Based)和盲注(Boolean/Time-Based Blind)

2.3、可能存在SQL注入的地方

  • 最普遍的注入漏洞是由于参数值过滤不严导致的。
  • Cookie注入漏洞普遍存在于ASP的程序中。
  • 参数名、目录名、文件名等注入漏洞通常存在于有网站路由的程序中。

2.4、SQL注入测试思路

步骤盲注联合查询注入
1判断是否存在注入,注入是字符型还是数字型判断是否存在注入,注入是字符型还是数字型
2猜解当前数据库名猜解SQL查询语句中的字段数
3猜解数据库中的表名确定显示的字段顺序
4猜解表中的字段名获取当前数据库
5猜解数据获取数据库中的表
2.4.1、判断是否存在SQL注入

在这里插入图片描述

(图片来源网络)

3、总结与题外话

本文先简单介绍SQL注入,后续会还详细介绍SQL注入一些POC、思路和靶场实验。《跟我学网安知识》系列我停更了2周多了共16天,原因有多方面,一方面我自己学网安课作业和靶场实验比较花费时间,另一方面我工作上有变动,在准备面试Java相关知识。

打个小小求职广告:Base厦门,Java高级开发,我擅长需求分析和较强的文档能力,有跨部门推动项目从0到1交付上线的经验,也有架构相关工作经历。如果有合适的岗位推荐请私信给我,非常感谢。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于 springboot + vue 健身房管理系统 毕业设计-附源码

qq(2829419543)获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:springboot 前端:采用vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件&#xf…

Temu数据软件:如何使用Temu数据软件优化您的Temu店铺运营

在如今竞争激烈的电商市场中,了解市场趋势、优化产品和店铺运营、了解竞争对手等方面的数据分析变得至关重要。为了帮助Temu平台上的商家更好地了解市场和消费者需求,提高运营效果,Temu数据软件成为了一项强大的工具。本文将介绍一些建议的Te…

【Tomcat】java.net.BindException “Address already in use: NET_Bind“

问题 17:37 Error running Tomcat 7.0.76: Unable to open debugger port (127.0.0.1:14255): java.net.BindException "Address already in use: NET_Bind"调整 把14255 改成 49963就正常了 附件 netstat -aon|findstr "49963" taskkill -f -pid xxx…

WiFi模块ESP8266(超详细)---(含固件库、AP、STA、原子云使用)

写在前面:本节我们学习使用一个常见的模块--WIFI模块,在前面我们学习了蓝牙(HC--08)模块,为学习WIFI模块打下了一定的基础;但是在学习WIFI模块的时候,我也遇到了很多的问题,查阅了很…

常见的分布式事务解决方案,你会几种?

今天我们来聊一聊分布式事务,在传统的单体应用中,事务的控制非常简单,Spring框架都为我们做了封装,我们只需简单地使用Transactional注解就能进行事务的控制,然而在分布式应用中,传统的事务方案就出现了极大…

通信标准化协会,信通院及量子信息网络产业联盟调研玻色量子,共绘实用化量子未来!

8月14日,中国通信标准化协会,信通院标准所及量子信息网络产业联盟等单位领导走访调研北京玻色量子科技有限公司(以下简称“玻色量子”),参观了玻色量子公司及自建的十万颗粒洁净度的光量子信息技术实验室🔗…

ROS2教程02 ROS2的安装、配置和测试

ROS2的安装和配置 版权信息 Copyright 2023 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. The author holds a…

python超详细基础文件操作【建议收藏】

文章目录 前言1 文件操作1.1 文件打开与关闭1.1.1 打开文件1.1.2 关闭文件 1.2 访问模式及说明 2 文件读写2.1 写数据(write)2.2 读数据(read)2.3 读数据(readlines)2.3 读数据(readline&#x…

机器学习-ROC曲线:技术解析与实战应用

本文全面探讨了ROC曲线(Receiver Operating Characteristic Curve)的重要性和应用,从其历史背景、数学基础到Python实现以及关键评价指标。文章旨在提供一个深刻而全面的视角,以帮助您更好地理解和应用ROC曲线在模型评估中的作用。…

CSS中 设置文字下划线 的几种方法

在网页设计和开发中,我们经常需要对文字进行样式设置,包括字体,颜色,大小等,其中,设置文字下划线是一种常见需求 一 、CSS种使用 text-decoration 属性来设置文字的装饰效果,包括下划线。 常用的取值&…

蓝桥杯算法心得——仙界诅咒(dfs)

大家好,我是晴天学长,搜索型的dfs,差点开二维矩阵了,仔细一想,没那么夸张啊,哈哈哈,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1…

计算机视觉之手势、面部、姿势捕捉以Python Mediapipe为工具

计算机视觉之手势、面部、姿势捕捉以 Python Mediapipe为工具 文章目录 1.Mediapipe库概述2.手势捕捉(hands)3.面部捕捉(face)4.姿势捕捉(pose) 1.Mediapipe库概述 Mediapipe是一个开源且强大的Python库,由Google开发和维护。它提供了丰富的工具和功能&#xff0c…

java--接口概述

1.认识接口 ①java提供了一个关键字interface,用这个关键字我们可以定义出一个特殊的结构:接口。 ②注意:接口不能创建对象;接口是用来被类实现(implements)的,实现接口的类称为实现类。 ③一个类可以实现多个接口(接…

ROS2教程05 ROS2服务

ROS2服务 版权信息 Copyright 2023 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. The author holds all right…

热点新闻 | 许战海:零食行业的革新之道

2023年11月29日,华糖万商大会在南京国际会展中心隆重举行。著名战略定位咨询专家许战海受邀出席,在“量贩零食产业年度盛典”上发表了主题为《如何通过竞争战略布局年度规划》的精彩演讲,吸引了众多业界关注。 演讲中,许战海老师指…

23史上最全版---SQL注入详解

漏洞原因 一些概念: SQL:用于数据库中的标准数据查询语言。 web分为前端和后端,前端负责进行展示,后端负责处理来自前端的请求并提供前端展示的资源。 而数据库就是存储资源的地方。 而服务器获取数据的方法就是使用SQL语句进…

c语言编译优化引发问题

问题描述 同样的代码,不优化编译,可以正常执行,经过-O2优化编译后,代码被卡住.整体功能涉及多进程,多线程操作. 问题发现 经过加打印,发现卡在while(a!0);//死循环,等待特殊事件发生来解开循环 a初始化为-1; 过一会后,另外有个线程,当特定事件发生的时候,将a置为0; 通过加打…

【云备份】客户端实现 及 项目整体总结

文章目录 客户端客户端实现思想客户端文件操作类的设计与拷贝Util.hpp的设计data.hpp的设计Storage —— 持久化存储Initload——数据初始化加载 cloud.hpp的设计GetFileIdentifier——创建文件唯一标识Upload—— 文件上传IsNeedupload —— 客户端文件是否需要上传判断RunMod…

【原创分享】高功率电源PCB设计中变压器下方走线的关键技巧

高功率电源的设计中,变压器起到了电能的传递与转换的重要作用。变压器下方的走线设计不仅涉及到电路的功率传输效率,还与电磁兼容性(EMC)、热管理以及电路的可靠性密切相关。 1. 走线布局 在进行变压器下方走线设计时&#xff0c…

Vmware虚拟机简介和安装

作者:余小小 常见的虚拟机 vmwarevirtualBox Vmware 运行在win系统上centos运行在Vm上 先安装vm,在安装centos系统 Vmware介绍 不用分区或者重开机,就可以在同一台pc上使用多种操作系统完全隔离,且保护不同的操作系统环境和文…