常见的web安全问题及防御
来源:互联网 发布:淘宝王子团队怎么联系 编辑:程序博客网 时间:2024/05/21 22:39
0 0
- 常见的web安全问题及防御
- 常见的Web攻击和防御总结
- 常见的Web攻击和防御总结
- web开发几种常见的安全问题
- WEB开发中一些常见的攻击方式及简单的防御方法
- WEB开发中一些常见的攻击方式及简单的防御方法
- 【常见Web应用安全问题】
- web开发常见安全问题
- Web 开发常见安全问题
- Web 开发常见安全问题
- Web站点常见安全问题
- Web 开发常见安全问题
- web开发常见安全问题
- Web 开发常见安全问题
- web前端常见安全问题
- 常见【十种】WEB攻击及防御技术总结
- Web安全技术(4)-常见的攻击和防御
- webgame中常见安全问题、防御方式与挽救措施
- 对恶意APP"淘宝宝贝分享图"的逆向分析
- 51. N-Queens
- Java中的sleep() | wait() | notify() | notifyAll()
- java基础理论
- rails动态定义实例方法和类方法
- 常见的web安全问题及防御
- SD卡相关操作
- 81. Search in Rotated Sorted Array II
- 网教 7.蜜汁序列
- 第十三章 字符串 正则表达式
- 点击键盘移动物体
- js&&省市级联列表&&分别用数组和JSON实现
- 单例
- myeclipse 2015 stable2.0破解安装教程(不闪退)
sql注入原理
就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
总的来说有以下几点:
1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等。
2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息。
XSS原理及防范
Xss(cross-site scripting)攻击指的是攻击者往Web页面里插入恶意 html标签或者javascript代码。比如:攻击者在论坛中放一个
看似安全的链接,骗取用户点击后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,
当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。
XSS防范方法
首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过滤;其次任何内容写到页面之前都必须加以encode,避免不小心把html tag 弄出来。这一个层面做好,至少可以堵住超过一半的XSS 攻击。
首先,避免直接在cookie 中泄露用户隐私,例如email、密码等等。
其次,通过使cookie 和系统ip 绑定来降低cookie 泄露后的危险。这样攻击者得到的cookie 没有实际价值,不可能拿来重放。
尽量采用POST 而非GET 提交表单
CSRF的原理及防御:
CSRF(Cross-site request forgery,跨站请求伪造)。CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。
要完成一次CSRF攻击,受害者必须依次完成两个步骤:
登录受信任网站A,并在本地生成Cookie。
在不登出A的情况下,访问危险网站B。
CSRF的防御:
从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行。
服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。
(1).Cookie Hashing(所有表单都包含同一个伪随机值):这可能是最简单的解决方案了,因为攻击者不能获得第三方的Cookie(理论上),所以表单中的数据也就构造失败了:>
(2).验证码
这个方案的思路是:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串,厄....这个方案可以完全解决CSRF,但个人觉得在易用性方面似乎不是太好,还有听闻是验证码图片的使用涉及了一个被称为MHTML的Bug,可能在某些版本的微软IE中受影响。
(3).One-Time Tokens(不同的表单包含一个不同的伪随机值)
XSS与CSRF有什么区别吗?
XSS是获取信息,不需要提前知道其他用户页面的代码和数据包。CSRF是代替用户完成指定的动作,需要知道其他用户页面的代码和数据包。
要完成一次CSRF攻击,受害者必须依次完成两个步骤:
登录受信任网站A,并在本地生成Cookie。
在不登出A的情况下,访问危险网站B。