常见的web安全及防护原理
1.sql注入原理
- 是将sql代码伪装到输入参数中,传递到服务器解析并执行的一种攻击手法。也就是说,在一些对server端发起的请求参数中植入一些sql代码,server端在执行sql操作时,会拼接对应参数,同时也将一些sql注入攻击的“sql”拼接起来,导致会执行一些预期之外的操作。
防范:
- 对用户输入进行校验
- 不适用动态拼接sql
2.XSS(跨站脚本攻击)
- 往web页面插入恶意的html标签或者js代码。
举例子
- 在论坛放置一个看是安全的链接,窃取cookie中的用户信息
防范
- 尽量采用post而不使用get提交表单
- 避免cookie中泄漏用户的隐式
3.CSRF(跨站请求伪装)
通过伪装来自受信任用户的请求
举例子
- 黄轶老师的webapp音乐请求数据就是利用CSRF跨站请求伪装来获取QQ音乐的数据
防范:
- 在客服端页面增加伪随机数,通过验证码
XSS和CSRF的区别:
- XSS是获取信息,不需要提前知道其他用户页面的代码和数据包
- CSRF代替用户完成指定的动作,需要知道其他页面的代码和数据包
世界上没有什么偶然,有的只有必然。——壹原侑子