OWASP安全编码建议

上传人:新** 文档编号:567920953 上传时间:2024-07-22 格式:PPT 页数:27 大小:383.46KB
返回 下载 相关 举报
OWASP安全编码建议_第1页
第1页 / 共27页
OWASP安全编码建议_第2页
第2页 / 共27页
OWASP安全编码建议_第3页
第3页 / 共27页
OWASP安全编码建议_第4页
第4页 / 共27页
OWASP安全编码建议_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《OWASP安全编码建议》由会员分享,可在线阅读,更多相关《OWASP安全编码建议(27页珍藏版)》请在金锄头文库上搜索。

1、OWASP安全编码OWASPOWASPuOpen:开放的、多人维护的uWebuApplication uSecurity uProject : Top 10/Webgoat/Webscarab etc.uhttps:/www.owasp.org/OWASP-Top10OWASP Top10 风险等级计算方法A1-Injection Injection 原理:数据被当作代码执行方式:SQL注入、命令注入等示例:http:/ https:/www.owasp.org/index.php/Query_Parameterization_Cheat_SheetJava-StandardStringcus

2、tname=request.getParameter(customerName);Stringquery=SELECTaccount_balanceFROMuser_dataWHEREuser_name=?;PreparedStatementpstmt=connection.prepareStatement(query);pstmt.setString(1,custname);ResultSetresults=pstmt.executeQuery();PHP-PDO$stmt=$dbh-prepare(INSERTINTOREGISTRY(name,value)VALUES(:name,:va

3、lue);$stmt-bindParam(:name,$name);$stmt-bindParam(:value,$value);.NET/C#Stringquery=SELECTaccount_balanceFROMuser_dataWHEREuser_name=?;tryOleDbCommandcommand=newOleDbCommand(query,connection);command.Parameters.Add(newOleDbParameter(customerName,CustomerNameName.Text);OleDbDataReaderreader=command.E

4、xecuteReader();/catch(OleDbExceptionse)/errorhandling安全过滤/编码白名单过滤https:/static.javadoc.io/org.owasp.esapi/esapi/2.1.0.1/org/owasp/esapi/Validator.htmlgetValidCreditCard()getValidDirectoryPath ()黑名单过滤元字符 Windows:()&*|=?;!.”%/:+,Linux:()&*|=?;$#!.”%/:+,https:/ Broken Authentication and Session Authent

5、ication and Session Management Management 原理:与身份认证和会话管理相关的应用程序功能没考虑安全性,导致攻击者破坏密码、密钥等去冒充其他用户的身份方式:密码没有加密或弱加密(存储/传输)ID可猜测ID没有超时限制示例:http:/ void doPost(ServletRequest request, ServletResponse response) try User user = ESAPI.authenticator().login(request, response); / continue with authenticated user ca

6、tch (AuthenticationException e) / handle failed authentication (its already been logged) A3-XSS原理:HTML注入方式:反射/持久/DOM(DocumentObjectModel)示例: document.locakon=http:/ Broken Access ControlAccess Control原理:在页面中暴露了一个对象的直接引用,比如文件、目录、密钥。仅仅在前台做了功能限制,没有在后台限制和校验。示例 Security Misconfiguration Misconfiguration

7、示例:默认账户、密码,目录可访问.方式:OS,DB,Web服务器,框架攻击危害:信息泄漏、源码泄漏、DoS安全编码自动化部署避免手工错误详细清晰的部署和更新流程多做漏洞扫描和审计A6-Sensitive Sensitive Data Data ExposureExposure原理:不安全的传输或存储危害:信息泄漏示例:密码泄漏事件安全编码数据加密(内外兼顾)及时清除过期数据密码加密防止硬件破解BCRYPT、PBKDF2、SCRYPT敏感数据禁用表单自动填充autocomplete=offA7-Insufficient Insufficient Attack ProtectionAttack P

8、rotection原理:被动防护示例:暴力破解、恶意扫描危害:攻击者不断尝试后成功入侵安全编码攻击检测无效字符、频繁请求攻击响应阻断请求、IP、账户虚拟补丁WAFA8-CSRF原理:原理:示例示例:浏览器站点 A(安全)站点 B(不安全)1、用户C登陆安全的站点A2、通过验证,站点A为用户C生成cookie5、由于用户C未退出站点A,站点B上的恶意请求被执行3、用户C在未退出站点A的情况下访问不安全的站点B4、站点B中的恶意请求让用户C访问站点B安全编码校验Referer隐藏令牌Cookie设置Set-Cookie:foo=1;SameSite=StrictA9-Using Using Com

9、ponents with Known Components with Known VulnerabilitiesVulnerabilities原理:使用了含有漏洞的web组件示例:CVE-2013-2251ApacheStruts2.0-2.3任意命令执行漏洞http:/host/struts2-blank/example/X.action?action:%25(new+java.lang.ProcessBuilder(new+java.lang.Stringcommand,goes,here).start()安全编码记录所有第三方组件和版本订阅第三方组件安全邮件列表,时刻关注最新的安全信息禁

10、用不使用的功能安全封装组件A10-Underprotected Underprotected APIsAPIs原理: API不是用户可见,所以忽视了安全防护示例:RESTAPI/SOAP危害:注入、越权、信息泄露安全编码安全通信(SSL)安全认证方案解析器安全安全访问控制方案注入防护OWASP Enterprise Security API (ESAPI)http:/www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API包含的安全控件:身份认证、访问控制、输入验证、输出编码、转义、密码、错误处理和日志、通信安全、安全配置实现的语言版本:Java、.net、ASP、PHP、PythonThanks

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号