欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    开发代码安全规范防SQL注入和XSS跨站攻击代码编写规范.docx

    • 资源ID:887975       资源大小:964.13KB        全文页数:10页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    开发代码安全规范防SQL注入和XSS跨站攻击代码编写规范.docx

    1、开发代码安全规范防SQL注入和XSS跨站攻击代码编写规范开发代码安全规范防SQL注入和XSS跨站攻击代码编写规范修订历史版本发布日期作者审核者改版记录1.02015-12-01正式版 概述在技术高速发展的今天,Web应用被广泛使用,伴随而来的是各种安全隐患,主要是编程人员的安全意识较淡薄,缺乏安全编程经验,上线前安全检测不全面。因此,给心怀不轨之人以机会,对公司和个人财产安全造成威胁。本规范希望给编程人员一个较清晰的安全概念,在代码编写时提高警惕。适用范围xx集团及其分子公司业务系统的所有开发人员,包括系统外包的第三方开发人员。一、第一类漏洞类型-SQL注入(SQL Injection)及规范

    2、1.1 名词解释:SQL注入攻击:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。1.2 经典案例说明:例1:用户登录界面及标准输入格式:Web与数据库连接调用方式:通过“空or1=1”这类非法输入,进行恶意SQL注入以上例子是开发人员直接把用户输入当作可信部分直接和SQL语句拼接造成的SQL漏洞。例2:即使开发人员利用PHP内

    3、置的过滤函数后,还是有可能出现问题:调用PHP函数可以改善查询和调用,并限制输入类型,但仍然无法避免注入:利用GBK转译编码方式依旧可以执行空or1=1类注入语句因此,使用PHP函数规范输入时,还必须注意字符集选择问题:1.3 代码实例分析:Web应用存在着多种多样的SQL注入漏洞,下面以生产实例进行分析。实例1:参数传递 SQL 语句片断数据来源:某线上业务被拦截数据数据日期:2015-10-21数据内容:HTTP 请求的 URLPATH/WRIROOT?wri=671&DBName=dev&pagenum=15&page=1&SortValue=%20order%20by%20FeeSta

    4、mp%20%20Desc&XXXXX=WWW拦截处理截图:案例分析:在这个案例中,URL 参数 SortValue 的值为 order by FeeStamp Desc,这是一个典型的 SQL 注入点。对于业务需求来说,传递 order by FeeStamp Desc 可能方便了后端的处理,但是如果被恶意攻击,那么可以传不符合业务预期的参数,对后端数据库造成损害。如:order by FeeStamp Desc union select username, password, 1, 2, 3 from users*注:此处假设存在 users 数据表,并且有username 和 passwo

    5、rd 的列数据。实例2:参数传递完整 SQL 语句数据来源:某线上业务被拦截数据数据日期:2015-10-21数据内容:HTTP 请求的 BODY拦截处理截图:案例分析:在这个案例中,HTTP Body 是常见的 application/x-www-form-urlencoded 类型。其中 DBName 参数的值是 dev,sql 参数的值是:select a.payoutid,a.value,b.basket_id,b.inserttime,a.suppliername,a.currentrank from tabpayout_sheet a left join TabPayOut_Bas

    6、ket b on a.payoutid=b.payoutid where a.payoutid in (605641737)这里开发人员为了业务的便利性,直接从客户端将完整 SQL 语句通过 HTTP 请求发送给后端。这也是非常典型的 SQL 注入点,对于恶意攻击的黑客来说,可以构造恶意 SQL 语句请求给后端,从而达到恶意获取数据、修改数据、毁坏数据的目的,甚至如果权限设置不合理的话,恶意攻击的黑客可能从该注入点获取服务器管理权限。1.4 SQL注入危害: 敏感数据被获取(cookie盗取) 网络钓鱼 获取 web 用户的网页内容 Session Riding(CSRF 攻击) 获取用户的键

    7、盘击键数据 web 僵尸1.5防止SQL注入攻击的代码安全规范总结:1、所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前,几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。2、对进入数据库的特殊字符(&*;等)进行转义处理,或编码转换。3、确认每种数据的类型。比如:数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。4、数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。5、每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导

    8、致一些过滤模型被绕过。6、严格限制用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。7、SQL注入种类,方式变换繁多,并不能做全数说明,所提内容均为基础说明,以提醒警示为主。二、第二类漏洞类型-XSS跨站脚本攻击及规范2.1 名词解释: XSS跨站脚本攻击:为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。2.2 经典案例说明: Web应

    9、用与数据库正常的调用链接方式如下:如果插入一条恶意JS脚本当插入的恶意JS脚本被调用,就形成了XSS攻击。2.3 XSS危害 绕过防火墙进行攻击 绕过web应用程序的验证过程 非法越权操作数据库内容 随意篡改网页内容 添加系统帐户或数据库帐户 上传和下载非法文件 本地溢出并获取系统最高权限 安装木马后门/僵尸网络2.4 防止XSS跨站脚本攻击的代码安全规范总结:1、要假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。2、不仅要验证数据的类

    10、型,还要验证其格式、长度、范围和内容。3、不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。4、对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。5、在发布应用程序之前测试所有已知的威胁。6、XSS跨站脚本种类,方式变换繁多,并不能做全数说明,所提内容均为基础说明,以提醒警示为主。三、安全操作实践代码漏洞无处不在,本规范无法穷尽开发安全规范操作的各个方面,旨在督促编程人员高度重视。开发实践中,网络和应用安全设备(例如:WAF、IPS等)会将存在严重代码漏洞的语句或脚本进行拦截,开发人员从基础架构的设备管理员得到安全设备的拦截处理日志,据此修改为合规的代码,正常业务才会得以执行。安全建设需要大家相互配合共同努力,不断完善代码,修复漏洞。


    注意事项

    本文(开发代码安全规范防SQL注入和XSS跨站攻击代码编写规范.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开