15、渗透测试笔记_数据库注入_20191023

1、网站分类

1.1、静态网页:html或者htm,是一种静态的页面格式,不需要服务器解析其中的脚本。由浏览器如(IE、Chrome等)解析。

  • 不依赖数据库
  • 灵活性查,制作、更新、维护麻烦
  • 交互性较差,在功能方面有较大的限制
  • 安全,不存在SQL注入漏洞

1.2、动态网页:asp、aspx、php、jsp等,由相应的脚本引擎来解释执行,根据指令生成静态网页

  • 依赖数据库
  • 灵活性好,维护方便
  • 交互性好,功能强大
  • 存在安全风险,可能存在SQL注入漏洞

2、注入漏洞

2.1、注入漏洞形成原因

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

2.2、常见注入流程

  1. 客户端:参数值等数据被修改

  2. 服务端:未经检查和过滤即将被修改的数据注入到SQL命令中,SQL命令功能被修改

  3. 数据库引擎:执行被修改后的SQL命令

  4. 服务端:将注入的结果返回给客户端

  5. 客户端:根据上一次注入获取到的敏感信息构造注入语句进一步注入

3、注入危害

3.1、SQL注入的定义:

  • 很多应用程序都使用数据库来存储信息。SQL命令就是前端应用程序和后端数据库之间的接口,攻击者可利用应用程序根据提交的数据动态生成SQL命令的特性,在URL、表单域,或者其他的输入域中输入自己的SQL命令的操作,将被修改的SQL命令注入到后端数据库引擎执行;

3.2、SQL注入的危害:

  • 这些危害包括但不局限于:
    • 数据库信息泄露:数据库中存放的用户的隐私信息的泄露
    • 网页篡改:通过数据库对特定网页进行篡改
    • 网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击
    • 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员账户被篡改
    • 服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统
    • 破坏硬盘数据,瘫痪全系统
  • 一些类型的数据库系统能够让SQL指令操作文件系统,这使得SQL注入的危害进一步放大
发布了38 篇原创文章 · 获赞 135 · 访问量 2797

猜你喜欢

转载自blog.csdn.net/weixin_44023693/article/details/102703898