开发代码安全标准规范防SQL注入和XSS跨站攻击代码编写标准规范.doc
《开发代码安全标准规范防SQL注入和XSS跨站攻击代码编写标准规范.doc》由会员分享,可在线阅读,更多相关《开发代码安全标准规范防SQL注入和XSS跨站攻击代码编写标准规范.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、开发代码安全规范防SQL注入和XSS跨站袭击代码编写规范修订历史版本发布日期作者审核者改版记录1.0-12-01正式版目 录概述2合用范畴2一、第一类漏洞类型-SQL注入(SQL INJECTION)及规范21.1名词解释:21.2典型案例阐明:21.3代码实例分析:61.4防止SQL注入袭击代码安全规范总结:7二、第二类漏洞类型-XSS跨站脚本袭击及规范82.1名词解释:82.2典型案例阐明:82.3 防止XSS跨站脚本袭击代码安全规范总结:9三、安全操作实践10概述在技术高速发展今天,Web应用被广泛使用,随着而来是各种安全隐患,重要是编程人员安全意识较淡薄,缺少安全编程经验,上线前安全检
2、测不全面。因而,给心怀不轨之人以机会,对公司和个人财产安全导致威胁。本规范但愿给编程人员一种较清晰安全概念,在代码编写时提高警惕。合用范畴xx集团及其分子公司业务系统所有开发人员,涉及系统外包第三方开发人员。一、第一类漏洞类型-SQL注入(SQL Injection)及规范1.1 名词解释:SQL注入袭击:通过把SQL命令插入到Web表单递交或输入域名或页面祈求查询字符串,最后达到欺骗服务器执行恶意SQL命令。详细来说,它是运用既有应用程序,将(恶意)SQL命令注入到后台数据库引擎执行能力,它可以通过在Web表单中输入(恶意)SQL语句得到一种存在安全漏洞网站上数据库,而不是按照设计者意图去执
3、行SQL语句。1.2 典型案例阐明:例1:顾客登录界面及原则输入格式:Web与数据库连接调用方式:通过“空or1=1”此类非法输入,进行恶意SQL注入以上例子是开发人员直接把顾客输入当作可信某些直接和SQL语句拼接导致SQL漏洞。例2:虽然开发人员运用PHP内置过滤函数后,还是有也许浮现问题:调用PHP函数可以改进查询和调用,并限制输入类型,但依然无法避免注入:运用GBK转译编码方式仍旧可以执行空or1=1类注入语句因而,使用PHP函数规范输入时,还必要注意字符集选取问题:1.3 代码实例分析:Web应用存在着各种各样SQL注入漏洞,下面以生产实例进行分析。实例1:参数传递 SQL 语句片断数
4、据来源:某线上业务被拦截数据数据日期:-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 也许以便了后端解决,但是如果被恶意袭击,那么可以传不符合业务预期参数,对后端数据库导致
5、损害。如: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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开发 代码 安全标准 规范 SQL 注入 XSS 攻击 编写 标准规范
限制150内