文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

网络安全及防御之SQL注入原理介绍

2024-04-02 19:55

关注

A.SQL注入概述

什么是SQL注入

所谓SQL注入,就是通过SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过Web表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。

SQL注入的原理

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

SQL注入的地位

SQL注入的来源

SQL注入的主要特点

1.变种极多

有经验的攻击者会手工调整攻击的参数,致使攻击的数据是不可枚举的,这导致传统的特征匹配方法仅能识别到相当少的攻击。或者是最常规的攻击,难以做到防范。

2.攻击简单

攻击过程简单,目前互联网上流行的众多SQL注入攻击工具,攻击者借助这些工具可以很快的对目标网站进行攻击或者是破坏,危害大。

3.危害极大

由于web语言自身的缺陷,以及具有安全编程的开发人员较少,大多数web应用系统均具有被SQL注入攻击的可能,而攻击者一旦攻击成功,就可以对控制整个web应用系统对数据做任何的修改或者是窃取,破坏力达到了极致。

SQL注入的危害

1.未经授权状况下操作数据库中的数据

2.恶意篡改网页内容//登陆后台后发布的内容,也可以发布对首页的更新,这时候更新可能就是一些非法信息,也可以对系统进行添加账户或者是数据库账号。这个需要拿到web shell或者更高的权限

3.私自添加系统账号或者是数据库使用者账号

4.网页挂木马//拿到web shell或者获取到服务器的权限以后,我们将一些网页木马挂在服务器上,去攻击别人。甚至再严重些我们可以控制整个web服务器,这个都是非常危险的。

B.SQL注入攻击

SQL注入攻击

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想的得知的数据,这就是所谓的SQL Injection,即SQL注入。

SQL注入威胁表达方式

绕过认证,获得非法权限

拆解后台数据库全部的信息

注入可以借助数据库的存储过程进行提权等操作

SQL注入典型攻击手段

判断应用程序是否存在注入漏洞

收集信息、并判断数据库类型

根据注入参数类型,重构生气了语句的原貌

拆解表名、字段名

获取账户信息、攻击web或为下一步攻击做准备

SQL注入是否存在注入的判断方式

SQL注入实战步骤

按照注入点类型来分类

按照数据提交的方式来分类

按照执行效果来分类

C.MySQL注入常用函数

MySQL的注释风格

MySQL——union操作符

union操作符用于拼接两个或者多select查询语句

union中的每个查询必须拥有相同的列数

MySQL——常用函数

MySQL——字符串连接函数

concat(str1,str2...)函数,直接连接

group_concat(str1,str2...)函数,使用逗号做为分隔符

concat_ws(sep,str1,str2...)函数,使用第一个参数做为分隔符

MySQL——information-schema结构

D.SQL注入相关工具

sqlmap介绍

SQLMAP是一个开源的渗透测试工具,它主要用于自动化地侦测和实施SQL注入攻击以及渗透数据库服务器。SQLMAP配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件系统以及通过带外数据连接执行系统命令等。

Pangolin介绍

Pangolin能够通过一系列非常简单的操作,达到最大化的攻击测试效果。它从检测注入开始到最后控制目标系统都给出了测试步骤。Pangolin时目前国内使用率最高的SQL注入测试的安全软件,可以说是网站安全测试人员的必备工具之一。

啊D注入工具

啊D注入工具是一种主要用于SQL的注入工具,由彭岸峰开发,使用了多线程技术,能在极短的时间内扫描注入点。使用者不需要经过太多的学习就可以很熟练的操作。并且该软件附带了一些其他的工具,可以为使用者提供极大的方便。

Havij注入工具

HavijPro是一款自动化地SQL注入工具,它能够帮助渗透测试人员发现和利用Web应用程序的SQL注入漏洞。Havij不仅能够自动挖掘可利用的SQL查询,还能够识别后台数据库类型、检索数据的用户名和密码hash、转储表和列、从数据库中提取数据,甚至访问底层文件系统和执行系统命令,当然前提是有一个可利用的SQL注入漏洞。Havij支持广泛的数据库系统,比如MsSQL,MySQL,MSAccess and Oracle。Havij支持参数配置以躲避IDS,支持代理,后台登陆地址扫描。

E.SQL注入防御

本文参考:网络安全培训、网络安全工程师(奇安信)收藏夹吃灰系列_哔哩哔哩_bilibili

以上就是网络安全及防御之SQL注入原理介绍的详细内容,更多关于网络安全SQL注入的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯