《白帽子讲Web安全》注入攻击

注入攻击

前言

  • 安全设计原则“数据与代码分离”原则,可以说就是专门为了解决注入攻击而生的。
  • 注入攻击代指一类攻击,它们通过注入数据到一个网络应用程序以期获得执行,亦或是通过非预期的一个方式来执行恶意数据。

本质

  • 注入攻击的本质,就是把用户输入的数据当做代码执行。

实现注入攻击的两个关键条件(重点)

  • 第一个:用户能控制输入——用户能控制输入变量
  • 第二个:原本程序要执行的代码,拼接了用户输入的数据。(正是拼接的这个过程导致了代码的注入)

一、盲注

1 、盲注出现原因
  • 在SQL注入过程中,如果网站的Web服务器开启了错误回显,则会为攻击者提供极大的便利,为了防止被攻击者利用,网站管理者会关闭错误回显功能。
2、什么是盲注?
  • 简而言之就是在服务器没有错误回显时完成的注入攻击。
  • 服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息”,所以攻击者必须找到一个办法来验证注入的SQL语句是否得到执行。
3、常见的盲注验证方法
  1. 构造简单的条件语句,根据返回页面是否发生变化,来判断SQL语句是否得到执行。利用返回出来的web页面差异,对我们的注入语句进行判断,比如使用1=1与 1=2 、被0除这种故意营造错误
  2. 如果页面没有差异,那么就可以使用时间延迟的注入,设定我们SQL语句如果执行了就晚点返回页面,可以有效判断
  3. 如果上面的技术都没有用,那就剩下BurpSuite的技术:OAST了,这个技术是在Burp Collaborator Client里面的。这个原理大致是,如果语句有效,它会返回给我们的Burp Collaborator Client一些报文,这个相当于DNS服务器一样。

二、数据库攻击技巧

  • SQL注入是基于数据库的一种攻击。不同的数据库有着不同的功能、不同的语法和函数,因此针对不同的数据库,SQL注入的技巧也有所不同。
1、常见的攻击技巧
  1. sql注入猜解出数据库的对应版本
  2. 利用union select来分别确认表名admin是否存在,列名passwd是否存在,想要猜解出username和passwd具体的值,可以通过判断字符的范围,一步步读出来。
  3. 在注入攻击的过程中&
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值