行程
9:00 到达上海信息安全测评认证中心(黄浦区陆家浜路1308号)。
9:30 签订协议,领取电脑、本子等。
10:20 确认负责老师,前往所在处:上海电气集团数字科技有限公司(闵行区合川路2555号2号楼)。
11:00 到达,听老师与公司负责人交谈。
11:30--13:00 吃饭休息
13:00 学习OWASP Top 10、三份国家标准
14:50 听老师与公司负责人交谈
16:30 下班
OWASP Top 10
1.访问控制崩溃
越权(水平;垂直)
概念:
未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
- 通过修改 URL、内部应用程序状态或 HTML 页面绕过访问控制检查或简单地使用自定义的 API 攻击工具。
- 允许将主键更改为其他用户的记录,例如查看或编辑他人的帐户。
- 特权提升。在不登录的情况下假扮用户,或以用户身份登录时充当管理员。
- 以未通过身份验证的用户身份强制浏览的通过身份验证时才能看到的页面、或作为标准用户访问具有相关权限的页面、或API没有对POST、PUT和DELETE强制执行访问控制。
如何防范:
访问控制只有在受信服务器端代码或没有服务器的API 中有效,这样攻击者才无法修改访问控制检查或元数据。
- 除公有资源外,默认情况下拒绝访问。
- 严格判断权限,用户只能操作属于自己的内容。
- 记录失败的访问控制,并在适当时向管理员告警(如:重复故障)。
- 对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害。
- 当用户注销后,服务器上的JWT令牌应失效。
2.敏感数据暴露
概念:
很多Web应用程序和API都无法正确保护敏感数据,例如:财务数据、医疗数据和PII数据。攻击者可泄露容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、未存储的数据以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据以及浏览器的交互数据。
如何防范:
- 加强员工意识,禁止上传代码到github等网站。
- 谨慎使用第三方云服务,不要把工作相关的存放到云端。
- 禁止使用工作邮箱注册非工作相关网站。
- 等等
3.SQL注入漏洞
概念:
注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的执行语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令目的的入侵行为。
SQL注入的原因
SQL命令可以进行查询查询、插入、删除等操作,直接将这些命令拼接起来。所以你提交这些命令之后,就可以间接的操控数据库了。
如何防范-SQL注入
1.关闭 SQL 错误回显
2.使用成熟的 waf
3.前端输入字符白名单验证(长度、类型等)
4.SQL 服务运行于专门的账号,并且使用最小权限
5.对输入的特殊字符使用转义处理
4.不安全的设计
漏洞产生原因:
在开发软件时,在关键身份验证、访问控制、业务逻辑和关键流部位没有进行安全的设计。
漏洞利用业务逻辑的显性体现:
1、支付逻辑
2、密码找回
3、验证码暴力破解
4、验证码重复使用
5、验证码客户端回显
6、验证码绕过
7、验证码自动识别
支付逻辑漏洞:所有涉及购买、支付等方面的功能处就有可能存在支付漏洞。
挖掘:寻找网站的支付系统、或兑换系统,抓包判断有没有敏感信息可以修改。
利用:
1、修改支付价格
2、修改支付状态
3、修改购买数量
4、修改优惠卷、积分
5、修改支付接口
6、多重替换支付
7、重复支付
8、最小额支付
9、最大额支付问题
10、无限制试用
5.安全配置不当
安全配置错误是最常见的安全问题,这通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的 HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。因此,我们不仅需要对所有的操作系统、框架、库和应用程序进行安全配置,而且必须及时修补和升级它们。
可能出现的风险点
- 应用程序启用或者安装了不必要的安全功能
- 默认账户名和密码没有修改
- 应用软件已过期或出了新版本未更新
- 应用程序服务器,应用程序框架等未进行安全配置
- 错误处理机制披露大量敏感信息
- 对于更新的系统,禁用或不安全地配置安全功能。
如何防范
- 按照加固手册加固。 (密码策略等)
- 搭建最小化平台,该平台不包含任何不必要的功能、组件、文档 和示例。移除或不安装不适用的功能和框架。
- 临时文件要及时删除
6.使用易受攻击和过时的组件
概念:
组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用,可能会造成严重的数据丢失或服务器接管。同时,使用含有已知漏洞的组件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。
如何防范
- 移除不使用的依赖、不需要的功能、组件、文件和文档。
- 仅从官方渠道安全的获取组件,并使用签名机制来降低组件被篡 改或加入恶意漏洞的风险。
- 持续监控 如CVE 和NVD等是否发布已使用组件的漏洞信息,可以使用软件分析工具来自动完成此功能。订阅关于使用组件安全漏洞的警 告邮件。
7.识别和身份验证失败
概念:
通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。
在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出、密码管理、超时、密码找回、帐户更新等方面存在漏洞。
可能出现的风险点
- 允许暴力破解破解密码或者账号。
- 允许默认的、弱的或众所周知的密码,例如“admin/123456”或“admin/admin”
- 使用明文、加密或弱散列密码。
- 缺少或失效的多因素身份验证。
- 暴露URL中的会话ID(例如URL重写)。
- 旧密码泄露
- 会话ID使用时间过长
如何防范
- 在可能的情况下,实现多因素身份验证,以防止自动、凭证填充暴力破解和被盗凭据再利用攻击。
- 检查弱口令,模拟爆破操作。
- 限制或逐渐延迟失败的登录尝试。记录所有失败信息并在凭据填充、暴力破解或其他攻击被检测时提醒管理员。
- 使用服务器端安全的内置会话管理器,在登录后生成高度复杂的新随机会话ID。会话ID不能在URL中,可以安全地存储和当登出闲置、绝对超时后使其失效。
8.软件和数据完整性故障
概念:
软件和数据完整性故障与不能防止完整性违规的代码和基础设施有关。一个例子是应用程序依赖来自不受信任的来源、存储库和内容交付网络(CDN) 的插件、库或模块。 不安全的CI/CD 管道可能会导致未经授权的访问、恶意代码或系统受损。 最后,许多应用程序现在包括自动更新功能,其中更新在没有充分完整性验证的情况下被下载并应用于以前受信任的应用程序。 攻击者可能会上传自己的更新以分发并在所有安装上运行。 另一个例子是对象或数据被编码或序列化为攻击者可以看到和修改的结构,容易受到不安全的反序列化。
如何防范:
通常有一下3个思路
1、使用数字签名或类似机制来验证软件或数据来自预期来源且未被更改;
2、确保使用安全工具验证组件不包含已知漏洞,
3、确保未签名或未加密的序列化数据不会在没有检查或数字签名的情况下发送到不受信任的客户端;
9.安全日志记录和监控故障
概念:
不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持 续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超过200天,且通常通过外部检测方检测而不是通过内部流程或监控检测。
总结:
也就是自己的内部检查能力不足,没有办法在别人正在攻击你的时候发现自己被攻击了。
如何改进:
- 确保所有登录、访问控制失败、输入验证失败能够被记录到日 志中去,并保留足够的用户上下文信息,以识别可疑或恶意帐 户,并为后期取证预留足够时间。
- 确保日志以一种能被集中日志管理解决方案使用的形式生成。
- 确保高额交易有完整性控制的审计信息,以防止篡改或删除。
- 例如审计信息保存在只能进行记录增加的数据库表中。建立有效的监控和告警机制,使可疑活动在可接受的时间内被发现和应对。
10.服务器端请求伪造
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统
利用一个可以发起网络请求的服务,当做跳板来攻击其它服务
简单来说就是A让B帮忙访问C
SSRF的成因:
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。ssrf是利用存在缺陷的web应用作为代理去攻击远程和本地的服务器。
也就是说,对于为服务器提供服务的其他应用没有对访问进行限制,如果我构造好我的访问包,那我就有可能利用目标服务对他的其他服务器应用进行调用。
SSRF常见危害
1.可以对服务器所在内网、本地进行端口扫描,获取一些服务的信息等
2.目标网站本地敏感数据的读取
3.内外网主机应用程序漏洞的利用
4.内外网Web站点漏洞的利用
如何防范:
通常有一下5个思路:
- 验证远程服务器对请求的相应,是比较容易的方法。如果 Web 应·过滤返回信息(用获取某种类型的文件,那么可以在把返回结果展示给用户之前先验证返回信息是否符合标准。
- 统一错误信息,避免用户根据错误信息来判断远程服务器端口状态。
- 限制请求的端口为 HTTP 常用端口,比如 80、443、8080、8090
- 黑名单内网 IP,避免应用被用来获取内网数据,攻击内网。
- 禁用不需要的协议。仅仅允许HTTP和HTTPS请求。可以防止类似于file://、ftp://等引起的问题
计算机信息系统安全保护等级划分准则
本标准规定了计算机信息系统安全保护能力的五个等级,即:
第一级:用户自主保护级;
第二级:系统审计保护级;
第三级:安全标记保护级;
第四级:结构化保护级;
第五级:访问验证保护级;
信息安全技术网络安全等级保护实施指南
规定了不同级别的等级保护对象的安全测评通用要求和安全测评扩展要求。适用于安全测评服务机构、等级保护对象的运营使用单位及主管部门对等级保护对象的安全状况进行安全测评并提供指南,也适用于网络安全职能部门进行网络安全等级保护监督检查时参考使用。
与前版本的主要变化:
1、将标准名称变更为《信息安全技术一网络安全等级保护测评要求》;
2、每个级别增加了云计算安全测评扩展要求、移动互联安全测评扩展要求、物联网安全测评扩展和工业控制系统安全测评扩展要求等内容;
3、增加了等级测评、测评对象、云服务商和云服务客户等相关术语和定义;
4、将针对控制点的单元测评细化调整为针对要求项的单项测评,删除了“测评框架”和“等级测评内容”;
5、增加了大数据可参考安全评估方法和测评单元编号说明。
信息安全技术网络安全等级保护测评要求
根据不同威胁情境和需求,将网络安全等级划分为1~5级,级别越高,安全要求越严格。
标签:04,测评,Day01,应用程序,2023.07,安全,SQL,攻击者,漏洞 From: https://www.cnblogs.com/jinjunweii/p/17526061.html