Rails与web安全[Web安全大家谈] - 编程入门网
n = ? AND password = ?", params[:name],
params[:password]]) 2。用hash(rails版本是在1.2以上) User.find(:first, :conditions => {:login => params[:name], :password => params[:password]}) 3。在保证上述两点的基础上,把查询方法放在model里。这样会更加安全。 Rails与web安全[Web安全大家谈](3)时间:2011-11-09 51cto博客 blackanger4. 所有rails根据model属性自己生成的find_by_xxx方法是很安全的,比如: find_by_name, 等。 5. find_by_sql 也是很安全的。 A3 - Malicious File Execution 这个安全隐患在Rails1.1.6就已经解决了,1.1.6以下的项目需要打个补丁,但是rails2.0出来了,还 是升级吧 相关: Wo***ng with files 这是关于文件上传的安全策略: http://www.rorsecurity.info/2007/03/27/wo***ng-with-files-in-rails/ 参见:Agile 开发之道2nd,610页。 A4 - Insecure Direct Object Reference 在rails里,只要注意不要把内部的controller方法暴露出来,即,不要把private方法误写到publice 方法里就行,对一些action和controller做一个全局的异常处理,就不会被攻击者把你应用程序攻击的肠 子都流出来了。 A5 - Cross Site Request Forgery (CSRF) 传说中的跨站伪装请求攻击(通常也叫one click attack"或者session riding,通常缩写为CSRF或者 XSRF) 听起来有点像css/xss跨站脚本攻击有点类似,但实质不同,CSRF比起css/xss来更加危险,因为这种 攻击难以防范(主要是因为不大流行,所以防范资源比较缺乏)。XSS利用站点内的信任用户,而CSRF则 通过伪装来自受信任用户的请求来利用受信任的网站。网网这两种攻击方法是买一送一的关系。利用XSS 伪装受信任用户,利用这个受信任用户来进行CSRF攻击来利用网站。 例子:一个网站用户Bob可能正在浏览聊天论坛,而同时另一 个用户Alice也在此论坛中,并且后刚刚 发布了一个具有Bob银行链接的图片消息。设想一下,Alice编写了一个在Bob的银行站点上进行取款的 form提交的链接,并将此链接作为图片tag。如果Bob的银行在cookie中保存他的授权信息,并且此cookie 没有过期,那么当Bob的浏览器尝试装载图片时将提交这个取款form和他的cookie,这样在没经Bob同意的 情况下便授权了这次事务。 CSRF是一种依赖web浏览器的、被混淆过的代理人攻击(deputy attack)。在上面银行示例中的代理 人是Bob的web浏览器,它被混淆后误将Bob的授权直接交给了Alice使用。 下面是CSRF的常见特性: 依靠用户标识危害网站 利用网站对用户标识的信任 欺骗用户的浏览器发送HTTP请求给目标站点 CSRF攻击依赖下面的假定: 攻击者了解受害者所在的站点 攻击者的目标站点具有持久化授权cookie或者受害者具有当前会话cookie 目标站点没有对用户在网站行为的第二授权 Rails与web安全[Web安全大家谈](4)时间:2011-11-09 51cto博客 blackanger防范措施 在form中包含秘密信息、用户指定的代号作为cookie之外的验证。那些导致对安全产生"副作用"的请 求应该总使用Post方式发送。Post方式不会在web服务器和代理服务器日志中留下数据尾巴,然而Get方式 却会留下数据尾巴 Rails的策略: 1。慎用get请求,也就是上面所说的, 那些导致对安全产生"副作用"的请求应该总使用Post方式发送 。 2。Use the Csrf_killer plugin to include a security token in forms.(插件方式过期,但是使 用rails2.0y一下版本的项目需要注意) 在Rails2.0中,通过在form中增加特殊字段来防止CRSF攻击,这一功能在新应用中默认是开启的。 A6 - Information Leakage and Improper Error Handling 一些重要的信息泄露一般是通过程序里的异 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |