sql注入攻击的原理_WEB安全之SQL注入(1)——原理篇

大家好,我是阿里斯,一名IT行业小白。今天为大家分享的内容是WEB安全之SQL注入,SQL注入(SQL Injection)是一种常见的web安全漏洞,攻击者利用这个问题,可以访问或者修改数据,或者利用潜在的数据库漏洞进行攻击。本篇文章主要围绕sql注入的原理、形成原因、可能产生的危害、sql注入分类进行阐述。

sql注入原理

   其实所谓的sql注入就是将sql语句插入或添加到应用参数中的攻击,之后再将这些参数传递给后台的SQL服务器加以解析并执行。

  SQL注入攻击有两个关键点,第一个是参数是用户可控的(可以修改),第二就是传递到服务器后会和数据库进行交互。一般情况下会有get类型注入、post类型注入、http头部注入。

常见Wen架构

0d84902def633fbe15c40f77359862bf.png

sql注入形成原因

  • 程序员在处理程序和数据库交互时,使用字符串拼接的方式构造sql语句

  • 未对可控参数进行足够处理便将参数添加到sql语句中

sql注入可能产生的危害

  • 数据库信息泄露:数据库中存放的用户的隐私信息的泄露

  • 网页串改:通过数据库对特定的网页进行篡改(网页内容存储在数据库,通过修改内容达到网页篡改)

  • 网站挂马,传播恶意软件:通过修改数据库一些字段的值,嵌入网马链接,进行网马攻击

  • 数据库被恶意操作:数据库被攻击,数据库的系统管理员账户被篡改

  • 获取webshell:利用数据库存在的权限分配缺陷获取webshell甚至是系统权限

sql注入分类

根据SQL数据类型分类

  • 整型注入

  • 字符型注入

根据注入的语法分类

  • 联合查询注入(Union query SQL injection)

  • 报错型注入(Error-based SQL injection)

  • 布尔型注入(Boolean-based blind SQL injection)

  • 延时注入(Time-based blind SQL injection)

  • 多语句查询注入 (Stacted queries SQL injection)

sql注入原理演示

1、先看存在sql注入的正常语句,其中username和password是用户可控的

310c953c7aaf00d94a81d70e5a6aaf75.png

2、现在我们简单的构造一个注入的payload使用usename参数添加到sql语句中

ea493bf57dd3ef93f2cef67dfe015bf9.png

485816f75bd46ed4b9b36c32e17d7a96.gif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值