- 1、本文档共1页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA安全编码规范参考
⽬录
• 1、安全编码基本原则
◦ 1.1 所有输⼊数据都是有害的
◦ 1.2 不依赖运⾏环境的安全配置
◦ 1.3 安全控制措施落实在最后执⾏阶段
◦ 1.4 最⼩化
◦ 1.5 失败终⽌
• 2、常⻅漏洞对应的安全编码⽅法
◦ 命令注⼊
◦ 代码注⼊
◦ SQL注⼊
◦ Mongo注⼊
◦ XXE
◦ Xpath注⼊
◦ XSS
◦ CSRF
◦ URL跳转漏洞
◦ SSRF
◦ 任意⽂件遍历
◦ ⽂件上传
◦ 反序列化漏洞
◦ WebSocket跨站劫持
◦ 逻辑漏洞
▪ ⼊参判断
▪ 整数溢出
▪ 资源未释放
▪ 越权漏洞
▪ 并发问题
◦ 敏感信息
1 、安全编码基本原则
1.1 所有输⼊数据都是有害的
直接输⼊数据:
对于⽤户通过 GET, POST, COOKIE, REQUEST等输⼊的数据以及框架提供的数据来源,即通信协议中从客户端传过来的⼀切变量,⽆论是⽤户⼿动填写的数据或是客户端浏览器
或操作系统⾃动填写的数据,都可能产⽣安全问题,需要进⾏严格的安全性检查。
间接的输⼊数据:
从数据库、⽂件、⽹络、内部API获取的数据等,即⼀些不直接来源于⽤户,但是⼜不是程序中定义好的常量数据。⽐如⽤户的输⼊经过层层转化输出到数据库或⽂件,后⾯⼜再
次利⽤的时候,这时获得的数据依然是不可信的,同样需要进⾏严格的安全性检查。
1.2 不依赖运⾏环境的安全配置
不能寄希望于配置⽂件的安全选项,必须将程序置身于最不安全的配置下进⾏考虑。
1.3 安全控制措施落实在最后执⾏阶段
每个安全问题都有其产⽣的原因,例如SQL注⼊的原因是SQL语句参数拼接。因此对SQL注⼊问题的防范,需要在SQL语句执⾏前对参数进⾏安全处理,因为此时才能确定预期的参
数数据类型、数据范围等。
1.4 最⼩化
最⼩化原则适⽤于所有安全相关的领域,在代码安全⽅⾯主要表现为:
1、⽤户输⼊最⼩化。尽可能少地使⽤⽤户的输⼊。
2、⽤户输⼊范围最⼩化。过滤参数时应使⽤⽩名单策略,对于可明确定义范围的参数检查参数的有效性,譬如Email,卡号,身份证号等。
3、返回信息最⼩化。程序错误信息等应对⽤户屏蔽,不要将原始错误信息直接返回到⽤户侧。
1.5 失败终⽌
对⽤户提交的数据进⾏安全性检查的时候,如果发现数据不符合要求应终⽌业务的执⾏,不要试图修正和转换⽤户提交的参数继续向下执⾏。
2 、常⻅漏洞对应的安全编码⽅法
命令注⼊
正解编码⽅法:
1. 精确匹配⽤户提交数据
String ip = request.getParameter(ip);
if(null==ip){
//handle error
}
Boolean ret = Pattern.matches(((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)), ip);
if(!ret){
//handle error
}
String[] cmd = new String[]{ping, -c, 2, ip};
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
2. 使⽤⽩名单
String dir=request.getParameter(dir);
if(null==dir){
//handle error
}
switch (dir){
case test1:dir=test1;
break;
case test2:order_by=test2;
break;
default:order_by=test;
}
Runtime runtime=Runtime.getRuntime()
您可能关注的文档
最近下载
- 单位运动会策划方案.ppt
- 2023宪法法律适用培训.pptx VIP
- 第一章 汽轮机级的工作原理讲解.ppt
- 新概念英语第三册 课件-Lesson 20 Pioneer pilots.ppt
- 定向钻回拖力计算公式01_-中文版.xls VIP
- 2024年就业形势与职业发展的展望.pptx
- 上汽荣威i5汽车使用手册用户操作图解驾驶车主车辆说明书pdf电子版下载.pdf
- anylogic教程big book中文案例example55存量管理.pdf
- 《Unit3 Look, listen and learn》教学设计2024-2025学年英语一年级上册小学人教PEP版(一起)(2024).docx VIP
- 2024年度国家公务员录用考试申论试卷及答案解析(适用于中央机关及其省级直属机构综合管理类职位).docx VIP
文档评论(0)