SQL注入~知识点

什么是SQL

定义:结构化查询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL注入是一种非常常见的数据库攻击手段,SQL注入漏洞也是网络世界中最普遍的漏洞之一。

SQL注入其实就是恶意用户通过在表单中填写包含SQL关键字的数据来使数据库执行非常规代码的过程。这个问题的来源是,SQL数据库的操作是通过SQL语句来执行的,而无论是执行代码还是数据项都必须写在SQL语句之中,这就导致了如果我们在数据项中加入了某些SQL语句关键字(比如说SELECT、DROP等等),这些关键字就很可能在数据库写入或读取数据时得到执行。

如何实现SQL注入

SQL注入的类型

1.按照注入形式不同分

数字型注入

字符型注入

搜索型注入

2.按照请求方式的不同分

GET注入

POST注入

HEADER注入

3.按照注入点位置的不同分

  • 列注入
  • 表注入
  • order注入
  • limit注
  • group by注入

4.按照执行效果来分

(1)基于布尔的盲注:根据页面返回判断条件真假注入。

(2)基于时间的盲注:即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

(3)基于报错的注入:即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。

  • 单引号
  • 双引号
  • 基于数字型注入

(4)联合查询注入:可以使用union情况下注入。

SQL注入的危害

脱库,导致敏感数据泄漏; getshell,获取服务器权限。

脱库:是指通过非法手段获取网站的数据库,会员的信息或者自己需要的信息。
黑客术语里面,”脱库“是指黑客入侵有价值的网络站点,把注册用户的资料数据库全部盗走的行为,因为谐音,也经常被称作“脱库”,360的库带计划,奖励提交漏洞的白帽子,也是因此而得名。

SQL常见的绕过方法

(1)大小写关键词绕过(UNiOn)

(2)双写关键词绕过(ununionion)

(3)编码绕过(base64、url)

(4)内联注释绕过(/*! Union */)

参考文章

入坑解读 | 什么是SQL注入? - 知乎 (zhihu.com)

SQL注入基础--数字型注入-CSDN博客

SQL注入类型-CSDN博客

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值