OWASP TOP 10 2017版 web应用程序,10个最严重的漏洞

知识源:http://www.owasp.org.cn/owasp-project/OWASPTop102017v1.3.pdf         菜鸟教程

https://www.youtube.com/user/OWASPGLOBAL   演示视频

https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project       顶级团队和高效组织请使用真正的标准

能影响整个web应用程序安全的漏洞成百上千。以下是开发人员必读资料

https://www.owasp.org/index.php/OWASP_Guide_Project   OWASP开发者指南

https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series   OWASP Cheat Sheet系列

如何有效地查找web应用程序和API中的漏洞信息,请阅读以下资料

https://www.owasp.org/index.php/OWASP_Testing_Project       OWASP测试指南        OWASP Testing Guide 4.0

https://www.owasp.org/images/1/19/OTGv4.pdf         OWASP测试指南 4.0   在线英文版

https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/zh/index.html       中文翻译版

从这里开始,以下部分为本人笔记,有疑问自己看原创去。

A1 注入    A2 失效的身份认证    A3 敏感数据泄露    A4 XML外部实体  A5 失效的访问控制  A6 安全配置错误  A7 XSS  A8 不安全的反序列化  A9 使用含有已知漏洞的组件

A10 不足的日志记录和监控

A1注入     

注入漏洞 https://www.owasp.org/index.php/Injection_Flaws    

学习心理障碍:想太多。明明说在浏览器中将ID值改了,这多么简单,容易理解。你非要把精力放到其他你没学过的语句上面,并进一步搜索半天无法理解给自己带来无谓的压力。

攻击案例场景 场景#1:应用程序在下面存在脆弱性的SQL语句的构造中使用不 可信数据:

String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'“;

场景#2:同样的,框架应用的盲目信任,仍然可能导致查询语句 的漏洞。(例如:Hibernate查询语言(HQL)):

Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");

在这两个案例中,攻击者在浏览器中将“id”参数的值修改成: ’ or’1’=’1。例如: http://example.com/app/accountView?id=' or '1'='1 这样查询语句的意义就变成了从accounts表中返回所有的记录。 更危险的攻击可能导致数据被篡改甚至是存储过程被调用。

高效的学习法:读懂作者要表达的意思,这里的本质明明是要告诉你,关注ID,只要简单的web知识和布尔逻辑就可以理解。作者可没说,要你关注Query,SQL语句,JavaScript。

就算要学其他领域知识,也应该是找与安全结合的Query,SQL,JavaScript等教学。而不是通过本文的启发去搜索,琢磨着学,这是最笨的信息收集方式。有书你不看,要自己搜。蠢。活该入不了门。

A2失效的身份认证  攻击手法:证书填充,默认账号,暴力破解和字典组合,高级GPU破解工具,会话管理攻击(很容易成功,尤其是没过期的会话密匙)

证书填充 https://www.owasp.org/index.php/Credential_stuffing

多类型字典集合https://github.com/danielmiessler/SecLists    包括用户名,密码,URL,敏感数据模式,模糊测试负载,Web shell等等

很多老铁天天在叫,大佬求字典。在这里,大佬也求求你们了,推荐给你的资源看了没有?不要天天嘴巴上叫,我要学。身体却很诚实的在下一秒马上放弃了。这不比公司里没人教你,在有人引导你的情况下,你都不愿意去看看,可以视为你真的不要学了。

攻击案例场景

场景#1:凭证填充,使用已知密码的列表,是常见的攻击。如果 应用程序不限制身份验证尝试,则可以将应用程序用作密码oracle, 以确定凭证是否有效。

场景#2:大多数身份验证攻击都是由于使用密码作为唯一的因素。 依据最佳实践,最新的密码轮换和复杂性要求鼓励用户使用、重 用以及重用弱密码。建议组织在NIST-800-63(https://pages.nist.gov/800-63-3/sp800-63b.html)中停止这些实践,并 使用多因素身份验证。

场景#3:应用会话超时设置不正确。用户使用公共计算机访问应用程序。用户直接关闭浏览器选项卡就离开,而不是选择“注销”。攻击者一小时后使用同一个浏览器浏览网页,而当前用户状态仍然是经过身份验证的。

A3 敏感数据泄露

 在传输过程中或从客户端(如:浏览器)窃取密钥、发起中间人攻击,或从服务器窃取明文数据。通常需要手动攻击。

A4 XML外部实体(XXE)

攻击案例场景 大量XXE缺陷已经被发现并被公开,这些缺陷包括嵌入式设备的 XXE缺陷。 XXE缺陷存在于许多意想不到的地方,这些地方包括 深嵌套的依赖项。最简单的方法是上传可被接受的恶意XML文件:

场景 #1:攻击者尝试从服务端提取数据:

<?xml versin ="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE foo> [

<!ELEMENT foo ANY >

<!ENTITY xxe SYSTEM "file:///etc/passwd">]>

<foo>&xxe;</foo>

场景 #2:攻击者通过将上面的实体行更改为以下内容来探测服务器的专用网络:

<!ENTITY xxe SYSTEM "https://192.186.1.1/private">]>

场景 #3:攻击者通过恶意文件执行拒绝服务攻击(DDOS):

<!ENTITY xxe SYSTEM "file:///dev/random">]>

A5 失效的访问控制

 

转载于:https://www.cnblogs.com/sec875/articles/10987510.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值