欢迎来到天天文库
浏览记录
ID:10001214
大小:486.00 KB
页数:27页
时间:2018-05-20
《web安全评测解决方案与代码编写规范》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四川电科院信息系统《代码安全编写规范》WEB安全评测解决方案与代码编写规范北京恒华伟业科技股份有限公司2013年10月北京恒华伟业科技股份有限公司四川电科院信息系统《代码安全编写规范》目录1Xss注入简介21.1一个简单的例子21.2网上的xss讲解32防御xss的七条原则92.1前言92.2原则1:不要在页面中插入任何不可信数据,除非这些数已经据根据下面几个原则进行了编码102.3原则2:在将不可信数据插入到HTML标签之间时,对这些数据进行HTMLEntity编码112.4原则3:在将不可信数据插入到HTML属性里时,对这些数据进行HT
2、ML属性编码122.5原则4:在将不可信数据插入到SCRIPT里时,对这些数据进行SCRIPT编码142.6原则5:在将不可信数据插入到Style属性里时,对这些数据进行CSS编码162.7原则6:在将不可信数据插入到HTMLURL里时,对这些数据进行URL编码172.8原则7:使用富文本时,使用XSS规则引擎进行编码过滤183项目中防御xss的具体措施213.1在jsp中的输出防御213.1.1stuts标签输出防御213.1.2Esapi标签输出防御213.1.3Java输出代码防御通过<%=temp%>的方式224防御url中的xss
3、代码注入攻击办法235控制通过输入非登录页的url进入系统功能245.1.1Referer验证过滤器245.1.2window.open和window.location.href=特殊处理246系统日志组件的调用方法256.1.1方法一:直接调用256.1.2方法二通过Annotation25北京恒华伟业科技股份有限公司四川电科院信息系统《代码安全编写规范》1Xss注入简介1.1一个简单的例子先看下现在frp登录页面的xss注入漏洞先打开系统登录页http://192.168.2.99:8080/scmm/然后在系统用户名中文本框中输入1,
4、xss:*/-->'">;密码为1点击登录按钮,则出现如下界面原因是系统验证用户名失败后,重新跳转到login.jsp而login.jsp中通过${userCode}的方式对userCode变量进行了直接的页面输出,从而执行了不安全的脚本,正确的方式使应当对userCode进行字符编码转换后再进行输出,具体的编码转换输出方式,请参照第三章节再比如在一个博客添加页面blogAdd.jsp中
5、有一个form表单
6、iframe”);myiframe.style.height=”100px;”;myiframe.style.width=”100px;”myiframe.src=”http://www.baidu.com”;document.getElementsByTagName(‘body’)[0].appendChild(myiframe);则会成功在你的网站上显示出一个百度的页面,使用类似的代码可以实现网站钓鱼功能例如创建一个支付页面,引诱你把账号和密码输入到钓鱼网站中正确的做法是对用户输入blog.subject文本框中的值进行非法字符过滤后再
7、保存到数据库或者在对blog.subject的字段值进行输出的时候进行字符转换转换方式是将VarblogSubject=””;修改为VarblogSubject=””;因为struts的property标签默认只对输出的值进行html过滤,而不对javaScript进行过滤1.1网上的xss讲解XSS漏洞概述:XSS(CrossSiteScript)跨站点脚本攻击是
8、一种注射的问题,在这种恶意脚本注入否则良性和信任的网站类型。跨站点脚本(XSS)攻击,攻击者使用时,会出现一个网络应用程序发送恶意代码,一般是在浏览器端脚本的形式,向不同的最终用
此文档下载收益归作者所有