SQL注入

SQL注入简介

SQL注入是网站存在最多也是最简单的漏洞,主要原因是程序员在开发用户和数据库交互的系统时没有对用户输入的字符串进行过滤,转义,限制或处理不严谨,导致用户可以通过输入精心构造的字符串去非法获取到数据库中的数据。本文以免费开源数据库MySQL为例,看懂本文需要了解基本SQL语句。

SQL注入条件

1.参数是用户可控的
2.参数被带入数据库中进行查询

SQL注入的危害

1.数据库信息泄露
2.获取webshell
3.网页篡改
4.网站挂马
5.获取系统权限
6.万能密码
7.文件读取

SQL注入判断

当传入的参数为 1’ 时,数据库会执行以下代码,并会报错,因为这是不符合数据库语法规范的:
select * from users where id=1’
当传入的参数为and 1=1 时,不会报错,因为1=1为真,所以返回的页面是正常的;当传入的参数为and 1=2时,因为条件为假,所以会返回一个不同的结果:
select * from users where id=1 and 1=1 #条件为真,页面正常无变化
select * from users where id=1 and 1=2 #条件为假,页面异常或变化

SQL注入类型

按数据库类型:
Access、MsSQL、MySQL、Oracle、DB2等
按提交方式:
GET、POST、cookie、HTTP头、XFF
按注入点类型:
数字型、字符型、搜索型
按执行效果:
布尔盲注、时间盲注、报错注入、联合注入、堆叠查询注入

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值