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交付上线的经验,也有架构相关工作经历。如果有合适的岗位推荐请私信给我,非常感谢。

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

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

相关文章

前端知识笔记(二十五)———JS中的异步编程与Promise

一、JavaScript的异步编步机制 在了解JavaScript的异步机制之前,我们首先需要理解JavaScript是一种单线程语言。单线程就意味着所有的任务需要按照顺序一次执行,如果前一个任务没有完成,后一个任务就无法开始。这个特性在执行大量或耗时任务时…

mysql有哪些锁,理解各种表锁和行锁

全局锁 主要用于数据库的备份,但会使得备份期间不能有任何事务插入删除更新数据,这很影响实际业务。所以通常不用这个全局锁来完成数据库的备份。假设数据库的存储引擎支持可重复读,那么常见的方法是通过MVCC来实现的,也就是备份…

解决ant-design-vue中Select组件v-model值为空字符串不显示placeholder的bug

方法一: 1.找到node_modules/ant-design-vue/es/vc-select/SingleSelector.js文件 搜索renderPlacehoder方法 将其修改为 const renderPlacehoder () > {const list props.values.filter(val > val.value ! );if (list[0]) {return null}... }2.在此文件中…

springboot遇到的问题02

问题1 JsonFormat(patter"yyyy-MM-dd HH:mm:ss") 这种返回给前端,时间可能会相差8个小时,,,因为JsonFormat 默认的timeZone 是 GMT (即标准时区),会造成输出少8个小时 修改为:JsonFor…

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…

Dockerfile脚本编写流程及示例

学习dockerfile指令 Dockerfile 指令 说明 FROM 指定基础镜像 MAINTAINER 声明镜像的维护者 LABEL 添加元数据标签 RUN 在容器中执行命令 CMD 容器启动后默认执行的命令 EXPOSE 暴露容器的端口 ENV 设置环境变量 ADD 将文件、目录或远程文件添加到容器中 COP…

Maxwell学习笔记

1 概述 Maxwell 是由美国 Zendesk 开源,用 Java 编写的 MySQL 实时抓取软件。 实时读取MySQL 二进制日志 Binlog,并生成 JSON 格式的消息,作为生产者发送给 Kafka,Kinesis、RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台…

选择测试自动化工具的4个技巧

预计至2026年,全球软件测试自动化市场价值将超过499亿美元,这意味着市场上的自动化测试工具数量也将同步增长。在这样的情况下,企业该如何选择最适合自己的自动化测试工具呢? 什么是测试自动化工具 数字经济迫使几乎每个企业都创建…

InnoDB的锁

自增锁 自增锁是一种特殊的表级别锁(table-level lock),专门针对事务插入 AUTO_INCREMENT 类型的列。最简单的情况,如果一个事务正在往表中插入记录,所有其他事务的插入必须等待,以便第一个事务插入的行&a…

arcgis投影栅格不可用

1、使用【投影栅格】工具进行栅格数据投影转换时报错。 解决方法:如果使用的是arcgis10.5及以下的版本,则需要更换更高的版本,因为这个是软件问题,需要更换到arcgis10.6及以上版本,更高级别的版本已经修复了这个问题。…

优酷新国风动漫《师兄啊师兄 第二季》强势定档 看李长寿稳健归来!

看新国风,上优酷动漫!由优酷出品,玄机科技制作,改编自阅文集团旗下起点读书小说《我师兄实在太稳健了》(作者:言归正传)的修仙喜剧动画《师兄啊师兄》第二季《海神扬名篇》今日正式官宣定档&…

HCIP —— 重发布

目录 路由重发布背景: 路由重发布的作用: ​编辑 部署条件: 1.必须存在ASBR设备 2.需要关注种子度量值 重发布的规则 重发布的名词 重发布的方向性问题(单向/双向) 重发布的ASBR数量问题 单点---只存在一个AS…

在ubuntu安装lighttpd时的一些错误记录和开发中的一些思考

今天在ubuntu安装lighttpd时的一些错误记录和开发中的一些思考。 相关平台:ARMv7,需要交叉编译,适用于ARM平台,其它平台可参考 交叉编译lighttpd先安装pcre支持,安装pcre却不顺利。错误一:Makefile:1438: recipe for …

陀螺仪防抖术语

陀螺仪防抖术语 fov 视场角 drift 零偏   MotionFusion即运动传感器的融合补偿,对陀螺仪、加速度计等运动测量器件的数据 进行预处理,通过标定和补偿,为防抖提供校准后的陀螺仪数据 ratio 系数 gyro 陀螺仪 calibration 校准 标定 DIS&…

SpringBoot整合Logback

什么是Logback Logback是日志框架SLF4J的一个实现&#xff0c;它被设计用来替代log4j。 引入依赖 SpringBoot默认使用Logback&#xff0c;所以加入了spring-boot-starter-web依赖后&#xff0c;他会自动包含Logback相关依赖&#xff0c;无需额外添加<dependency><g…

实力出圈,开源网安连续4年入选中国网络安全企业100强

近日&#xff0c;安全牛第十一版《中国网络安全企业100强》正式发布。开源网安突出的综合实力、技术创新能力&#xff0c;以及前沿技术的落地应用成果&#xff0c;再次受到权威认可&#xff0c;从数百家安全厂商中脱颖而出&#xff0c;连续多年上榜百强榜单。 《中国网络安全企…

2023年个人工作总结怎么写?工作任务完成自动记录的待办软件

2023年已经接近尾声&#xff0c;不少人已经开始期待新的一年到来了。不过对于大多数职场人士来说&#xff0c;最近还有一项让人头疼的任务需要完成&#xff0c;这就是撰写2023年个人工作总结。 那么年度个人工作总结怎么写呢&#xff1f;其实很简单&#xff0c;年度工作总结一…

【软件安装】在vm上安装Centos操作系统

文章目录 下载iso镜像安装 下载iso镜像 centos下载地址&#xff1a;阿里巴巴centos下载地址 安装 基本按照下面的步骤走就可以了 新手一般建议典型就可以了&#xff0c;而且自定义也改不了什么东西&#xff0c;没太大必要 选择自己下载的iso镜像文件 用户名和密码 安装位置 指…

前端知识笔记(三十二)———TCP 连接建立

&#xff1a;TCP 三次握手过程是怎样的&#xff1f; 客户端和服务端都处于 CLOSE 状态&#xff0c;服务端主动监听某个端口&#xff0c;处于 LISTEN 状态 第一次握手&#xff1a;客户端带着序号和SYN为1&#xff0c;把第一个 SYN 报文发送给服务端&#xff0c;客户端处于 SYN-S…

webGL开发虚拟实验室技术方案

开发虚拟实验室涉及到模拟实际实验环境和过程&#xff0c;同时提供用户互动性和学习体验。以下是一个可能的技术方案&#xff0c;用于实现这样的虚拟实验室&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合…