面试准备的Sql注入原理、类型、防范、危害(1)

在这里的话,我想着总结一下自己学sql时主要学的内容,当时想着尽量以问题形式来总结的,比如:hr会怎样问;然后我再以求职者的口吻回答问题,
总结肯定不够完善,之后遇到新的相关知识肯定还会补充,发出来也就是希望大家帮我看看还有哪些需要学习呢?
1.SQL注入有哪些危害?
a.首先可能会有未授权的访问数据库,盗用用户个人信息,造成信息泄露;//未授权信息泄露
b.然后就是对数据库进行增删改查,比如私自添加或者删除管理员账号这些 //权限更改 增删改查
c.第三就是对网页进行篡改、发布违法信息,比如一个网站具有写入权限的话,就可以写入木马 //网页篡改、网站挂马
d.还有可能经过sql注入被提权后,服务器的最高权限被拿下,就有可能被攻击者远程控制服务器、安装后门 //提权、留后门

2.什么是sql注入?或者问Sql注入的原理是什么呢?
Sql注入就是在和数据库有交互的地方,对输入的参数没有进行严格的过滤导致输入的恶意查询语句被执行;//数据库交互

3.sql注入的分类有哪些?
它的分类有很多种,
(1)首先从注入方式上看有联合查询注入、报错型注入、布尔型注入、延时注入、堆叠注入这些
(2)从数据类型上有:字符型、数字型
(3)从注入位置上又可以分为GET型、POST型、HTTP头部、cookie数据
(4)从数据库类型上也可以分:mssql 、mysql、 oracle、 access
当然也可以直接把他们分成三大类包括:回显、盲注、带外
回显包括直接回显、报错,
盲注包括布尔、延时,
带外的话就是mysql的DnsLog注入、MsSQL的跨库查询、Oracle的带外函数

4.怎样防范sql注入?
a.可以对输入的数据长度进行限制
b.也可以对关键字过滤,比如:select、insert、order
c.或者对参数携带的特殊字符进行转义和过滤
d.当然最好的还是预编译:就是sql语句被数据库编译和优化后运行的语句以参数的形式进行查询,即使有敏感字符传递也会被参数化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值