网络应用层安全之SQL注入

网络应用层安全之SQL注入

在这里插入图片描述

注入攻击,就是数据与代码没有分离产生的结果,计算机或服务器把用户输入的数据当做代码执行,其中有两个关键条件:①用户能够控制输入,②代码进行了拼接。

SQL注入是发生在 Web 程序中数据库层的安全漏洞,是网站最常见最简单的漏洞。网站考虑地再详细也会被黑客们抓到漏洞和破绽,SQL注入利用程序对输入数据不会判断和处理进行恶意攻击,使用具有特定意义的SQL 语句执行非法操作。

简言之,SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果程序没有对输入进行处理,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。

原理

1. 通过服务器返回的错误信息给黑客提供攻击信息

如果网站web服务器开启了错误回显,则会给攻击者提供方便。攻击者在输入中输入不合理的字符,通过返回的错误信息,攻击者可以知道服务器使用的哪种数据库,查询的语句等等信息,有助于构造能攻击该网站的注入攻击语句。

因此在后续的预防中会提到“不要给用户返回错误信息”,但是即使服务器关闭了这个错误回显,攻击者也可以通过“盲注”的方式,即构造简单的条件语句,根据页面是否发生变化来判断注入的SQL语句是否执行。

2. 与原本SQL语句进行拼接,形成新的指令

复习SQL的增删改查

// 插入单行数据
select into ... values ...

// 表添加到新表
select into ... select ... from ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值