开发代码安全标准规范防SQL注入和XSS跨站攻击代码编写标准规范.doc
《开发代码安全标准规范防SQL注入和XSS跨站攻击代码编写标准规范.doc》由会员分享,可在线阅读,更多相关《开发代码安全标准规范防SQL注入和XSS跨站攻击代码编写标准规范.doc(12页珍藏版)》请在咨信网上搜索。
开发代码安全规范 防SQL注入和XSS跨站袭击代码编写规范 修订历史 版本 发布日期 作者 审核者 改版记录 1.0 -12-01 正式版 目 录 概述 2 合用范畴 2 一、第一类漏洞类型-SQL注入(SQL INJECTION)及规范 2 1.1名词解释: 2 1.2典型案例阐明: 2 1.3代码实例分析: 6 1.4防止SQL注入袭击代码安全规范总结: 7 二、第二类漏洞类型-XSS跨站脚本袭击及规范 8 2.1名词解释: 8 2.2典型案例阐明: 8 2.3 防止XSS跨站脚本袭击代码安全规范总结: 9 三、安全操作实践 10 概述 在技术高速发展今天,Web应用被广泛使用,随着而来是各种安全隐患,重要是编程人员安全意识较淡薄,缺少安全编程经验,上线前安全检测不全面。因而,给心怀不轨之人以机会,对公司和个人财产安全导致威胁。本规范但愿给编程人员一种较清晰安全概念,在代码编写时提高警惕。 合用范畴 xx集团及其分子公司业务系统所有开发人员,涉及系统外包第三方开发人员。 一、第一类漏洞类型-SQL注入(SQL Injection)及规范 1.1 名词解释: SQL注入袭击:通过把SQL命令插入到Web表单递交或输入域名或页面祈求查询字符串,最后达到欺骗服务器执行恶意SQL命令。 详细来说,它是运用既有应用程序,将(恶意)SQL命令注入到后台数据库引擎执行能力,它可以通过在Web表单中输入(恶意)SQL语句得到一种存在安全漏洞网站上数据库,而不是按照设计者意图去执行SQL语句。 1.2 典型案例阐明: 例1:顾客登录界面及原则输入格式: Web与数据库连接调用方式: 通过“‘空’or’1’=’1’”此类非法输入,进行恶意SQL注入 以上例子是开发人员直接把顾客输入当作可信某些直接和SQL语句拼接导致SQL漏洞。 例2:虽然开发人员运用PHP内置过滤函数后,还是有也许浮现问题: 调用PHP函数可以改进查询和调用,并限制输入类型,但依然无法避免注入: 运用GBK转译编码方式仍旧可以执行‘空’or‘1=1’类注入语句 因而,使用PHP函数规范输入时,还必要注意字符集选取问题: 1.3 代码实例分析: Web应用存在着各种各样SQL注入漏洞,下面以生产实例进行分析。 实例1:参数传递 SQL 语句片断 数据来源:某线上业务被拦截数据 数据日期:-10-21 数据内容:HTTP 祈求 URLPATH /WRIROOT?wri=671&DBName=dev&pagenum=15&page=1&SortValue=%20order%20by%20FeeStamp%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 和 password 列数据。 实例2:参数传递完整 SQL 语句 数据来源:某线上业务被拦截数据 数据日期:-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_Basket b on a.payoutid=b.payoutid where a.payoutid in () 这里开发人员为了业务便利性,直接从客户端将完整 SQL 语句通过 HTTP 祈求发送给后端。这也是非常典型 SQL 注入点,对于恶意袭击黑客来说,可以构造恶意 SQL 语句祈求给后端,从而达到恶意获取数据、修改数据、毁坏数据目,甚至如果权限设立不合理话,恶意袭击黑客也许从该注入点获取服务器管理权限。 1.4 SQL注入危害: l 敏感数据被获取(cookie盗取) l 网络钓鱼 l 获取 web 顾客网页内容 l Session Riding(CSRF 袭击) l 获取顾客键盘击键数据 l web 僵尸 1.5防止SQL注入袭击代码安全规范总结: 1、所有查询语句都使用数据库提供参数化查询接口,参数化语句使用参数而不是将顾客输入变量嵌入到SQL语句中。当前,几乎所有数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效防止SQL注入袭击。 2、对进入数据库特殊字符('"\<>&*;等)进行转义解决,或编码转换。 3、确认每种数据类型。例如:数字型数据就必要是数字,数据库中存储字段必要相应为int型。 4、数据长度应当严格规定,能在一定限度上防止比较长SQL注入语句无法对的执行。 5、每个数据层编码统一,建议所有使用UTF-8编码,上下层编码不一致有也许导致某些过滤模型被绕过。 6、严格限制顾客数据库操作权限,给此顾客提供仅仅可以满足其工作权限,从而最大限度减少注入袭击对数据库危害。 7、SQL注入种类,方式变换繁多,并不能做全数阐明,所提内容均为基本阐明,以提示警示为主。 二、第二类漏洞类型-XSS跨站脚本袭击及规范 2.1 名词解释: XSS跨站脚本袭击:为不和层叠样式表(Cascading Style Sheets,CSS)缩写混淆,故将跨站脚本袭击缩写为XSS。恶意袭击者往Web页面里插入恶意html代码,当顾客浏览该页之时,嵌入其中Web里面html代码会被执行,从而达到恶意袭击顾客特殊目。 2.2 典型案例阐明: Web应用与数据库正常调用链接方式如下: 如果插入一条恶意JS脚本 当插入恶意JS脚本被调用,就形成了XSS袭击。 2.3 XSS危害 l 绕过防火墙进行袭击 l 绕过web应用程序验证过程 l 非法越权操作数据库内容 l 随意篡改网页内容 l 添加系统帐户或数据库帐户 l 上传和下载非法文献 l 本地溢出并获取系统最高权限 l 安装木马后门/僵尸网络 2.4 防止XSS跨站脚本袭击代码安全规范总结: 1、要假定所有输入都是可疑,必要对所有输入中script、iframe等字样进行严格检查。这里输入不但仅是顾客可以直接交互输入接口,也涉及HTTP祈求中Cookie中变量,HTTP祈求头部中变量等。 2、不但要验证数据类型,还要验证其格式、长度、范畴和内容。 3、不要仅仅在客户端做数据验证与过滤,核心过滤环节在服务端进行。 4、对输出数据也要检查,数据库里值有也许会在一种大网站多处均有输出,虽然在输入做了编码等操作,在各处输出点时也要进行安全检查。 5、在发布应用程序之前测试所有已知威胁。 6、XSS跨站脚本种类,方式变换繁多,并不能做全数阐明,所提内容均为基本阐明,以提示警示为主。 三、安全操作实践 代码漏洞无处不在,本规范无法穷尽开发安全规范操作各个方面,旨在督促编程人员高度注重。开发实践中,网络和应用安全设备(例如:WAF、IPS等)会将存在严重代码漏洞语句或脚本进行拦截,开发人员从基本架构设备管理员得到安全设备拦截解决日记,据此修改为合规代码,正常业务才会得以执行。安全建设需要人们互相配合共同努力,不断完善代码,修复漏洞。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开发 代码 安全标准 规范 SQL 注入 XSS 攻击 编写 标准规范
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文