首页 > 编程语言 >OWASP10

OWASP10

时间:2024-03-30 11:35:30浏览次数:19  
标签:访问控制 用户 应用程序 使用 服务器 OWASP10 日志

访问控制崩溃
未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能和数据,例如:访问其他用户的账户、查看敏感文件、修改其他用户的数据、更改访问权限等。
eg:零元购
通过修改URL、内部应用程序状态或HTML页面绕过访问控制检查,或简单地使用自定义地API攻击工具
允许将主键更改为其他用户地记录,如查看或编辑他人账户。
特权提升。不登陆时假扮用户、登录时假扮管理员。
以未通过身份验证的用户身份强制浏览的通过身份验证时才能看到页面、或作为标准用户访问具有相关权限的页面等
如何防范?
访问控制只有在受信服务器端代码或没有服务器的API中有效,这样攻击者才无法修改访问控制检查或元数据
除公开资源外,默认情况下拒绝访问;
严格判断权限,用户只能操作属于自己的内容;
记录失败的访问控制,并在适当时向管理员告警;
对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害
当用户注销后,服务器上的JWT令牌应失效。
敏感数据暴露
​SQL注入
是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句结尾添加额外执行的执行语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
sql注入的产生点
通过用户输入的表单域注入
通过COOKIE注入
通过服务器变量注入(HTTP头部)
注入思路
判断是否存在注入,注入是字符型还是数字型
猜解sql查询语句中的字段数
猜解当前数据库名
猜解数据库中的表名
猜解表中的字段名
猜解数据
如何防范?
关闭sql错误回显
使用成熟的waf
前端输入字段白名单验证
sql服务运行于专用的账号,并且使用最小权限
对输入的特殊字段使用转义处理
不安全的设计
产生原因:
在开发软件时,在关键身份验证、访问控制、业务逻辑和关键流部位没有进行安全的设计。
不安全的设计
支付逻辑
密码找回
验证码暴力破解
验证码重复使用
验证码客户端回显
验证码绕过
验证码自动识别
安全配置不当
可能的风险点
应用程序启用或安装了不必要的安全功能
默认账户名和密码没有修改
应用软件已经过期或出了新版本未更新
应用程序服务器,应用程序框架等为进行安全配置
错误处理机制纰漏大量敏感信息
对于更新的系统,禁用或不安全地配置安全功能
如何防范?
按照加固手册加固
搭建最小化平台
临时文件及时删除
组合:
2017 安全配置不当和xml外部实体漏洞进行组合
XML 如何防范?
尽可能使用简单的数据格式,避免对敏感数据进行序列化
及时修复或更新应用程序或底层操作系统使用的所有XML处理器和库。同时,通过依赖项检测,将SOAP更新到1.2版本或更高版本
在服务器端实施积极的输入验证、过滤和处理,以防止在xml文档、标题或节点中出现恶意数据
验证XML或XSL文件上传功能是否使用XSD验证或其他类似验证上传的XML文件。
尽管在许多集成环境中,手动代码审查是大型、复杂应用程序的最佳选择,但是在SAST工具可以检测源代码中的XXE漏洞。如果无法实现这些控制,请考虑使用虚拟修复程序、API安全网关或web应用程序防火墙来检测、监控和防止XXE攻击。
如何防范?
移除不使用的依赖、不需要的功能、组件、文件和文档。
仅从官方渠道安全的获取组件,并使用签名机制来降低组件被篡改或加入恶意漏洞的风险。
持续监控 如CVE和NVD等是否发布已使用组件的漏洞信息,可以使用软件分析工具来自动完成此功能。
安全配置不当
可能出现的风险点
允许暴力破解密码或账号
允许默认的、弱的或众所周知的密码
使用明文、加密或弱散列密码
缺少或失效的多因素身份认证
暴露URL中的会话ID
旧密码泄露
会话ID使用时间过长
如何防护?
在可能的情况下,实现多因素身份认证,以防止自动、凭证填充暴力破解或被盗凭据在利用攻击。
检查弱口令,模拟爆破操作。
限制或逐渐延迟失败的登录尝试。记录所有失败信息并在凭据填充、暴力破击或其他攻击被检测是提醒管理员
使用服务器端安全的内置会话管理器,在登录后生成高度复杂的新随机会话ID.
软件和数据完整性失败
不足的日志记录和监控
自己的内部检查能力不足,么有办法在别人攻击你的同时发现自己被攻击了。
场景:
未记录可审计性时间。如登录 登录失败 高额交易
告警和错误时间未能产生或产生不足的和不清晰的日志信息
日志信息仅在本地存储
没有利用应用系统和API的日志信息来监控可以活动
对于实时或准实时的攻击,应用程序无法检测、处理和警告
如何改进?
确保所有登录、访问控制失败、输入验证失败能够记录到日志中去,并保留足够的用户信息,以识别可疑或恶意账户,并未后期取证预留足够时间
确保日志以一种能被集中日志管理解决方案使用的形式生成
确保高额交易有完整性控制的审计信息,以防止篡改或删除
确保服务器存储只能增加不能删除
服务器请求伪造
常见危害
可以对服务器所在内网、本地进行端口扫描,获取一些服务的信息等
目标网站本地敏感数据读取
内外网主机应用程序漏洞的利用
内外网web站点漏洞的利用。
如何防范?
过滤返回信息,验证远程服务器对请求的相应。如果web应用获取某种的文件,那么可以把返回结果展示给用户之前先验证返回信息是否符合标准。
统一错误信息,避免用户根据错误信息来判断远程服务器端口状态
限制请求的端口未http常用端口,如:80 443 8080 8090
黑名单内网IP,避免应用被用来获取内网数据,攻击内网
禁用不需要的协议。仅仅允许HTTP和HTTPS请求。可以防止类似于FILE FTP引起的问题

标签:访问控制,用户,应用程序,使用,服务器,OWASP10,日志
From: https://www.cnblogs.com/laibunizi/p/18105259

相关文章