目录

1.渗透测试基础

2.常见名词解释

3.OWASP TOP10

3.1访问控制崩溃

3.2敏感数据暴露

3.3注入

3.4不安全的设计

3.5安全配置不当

3.6使用含有已知漏洞组件

3.7认证崩溃

3.8软件和数据完整性失败

3.9不足的日志记录和监控

3.10服务端请求伪造


1.渗透测试基础

渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法

2.常见名词解释

  • 后门:黑客为了对主机进行长期的控制,在机器上种植一段程序。
  • webshell:通过web入侵的一种脚本工具。
  • 提权:操作系统低权限的账户提升为管理员权限的方法。
  • 肉鸡:被黑客入侵并被长期驻扎的计算机或服务器。
  • 抓鸡:利用使用量大的程序漏洞,自动化地获取存在漏洞的行为。
  • 撞库:黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。(所以说用户最好不要在不同网站上设置相同的密码)
  • 拖库:网站遭受入侵后,黑客窃取其数据库。
  • 旁站测试:一个web站点被入侵之后,通过提权,进入控制web目录的网站。(短板效应)
  • C段测试:同C段下服务器入侵。
  • APT攻击:Advanced Persistent Threat ,高级可持续性攻击。(隐蔽性强,持续性强,目标性强)。
  • 渗透测试与入侵:渗透测试是为了找出服务器的安全隐患,而入侵是为了拿到系统权限干坏事。

3.OWASP TOP10

Open Web Application Security Project。开放式 Web 应用程序安全项目( OWASP )是一个非营利组织,不附属于任何企业或财团。

3.1访问控制崩溃

未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷 访问未经授权 的功能或数据。(越权漏洞)
如何防范
  • 除公有资源外,默认情况下拒绝访问。
  • 严格判断权限,用户只能操作自己的内容。
  • 记录失败的访问控制。
  • 对API和控制器的访问进行速率限制。
  • 当用户注销时,服务器上的JWT令牌应失效。

3.2敏感数据暴露

很多Web应用程序和API都无法正确保护敏感数据。
如何防范
  • 加强员工意识,禁止上传代码到github等网站。
  • 谨慎使用第三方云服务,不要把工作相关的存放到云端。
  • 禁止使用工作邮箱注册非工作相关网站。

3.3注入

攻击者在查询语句的结尾加上额外的语句,欺骗数据库服务器执行非授权的任意查询,得到黑客想要的数据信息。

SQL注入

举例:登录页面

  • 正常:select * from table where name='XX' and password='YY'
  • 黑客:select * from table where name='Admin'or 1=1 #' and password='YY'
  • 结果:黑客以管理员身份登录(or右边为真,#后面被注释,不管password的值)

SQL注入的分类

  • 基于数据类型的分类

    • 字符串类型注入
    • 整型注入
  • 基于程度和顺序的注入
    • 一阶注射
    • 二阶注射
  • SQL盲注
    • 基于布尔SQL盲注
    • 基于时间SQL盲注
    • 基于报错SQL盲注

SQL注入的产生点(与用户交互的的地方)

  • 通过用户输入的表单域的注入。例如:post里面的参数
  • 通过cookie注入。
  • 通过服务器变量注射(HTTP头部)。

SQL注入的常见检测字符

  • ‘(单引号)
  • “(双引号)
  • --+(注释)
  • #(注释)
  • and(与)
  • Or(或)
  • Xor(非)

SQL注入的思路

  1. 判断是否存在注入,注入是字符型还是数字型
  2. 猜解SQL查询语句中的字段数
  3. 确定显示的字段顺序
  4. 获取当前数据库
  5. 获取数据库中的表

如何防范SQL注入

  • 关闭错误回显
  • 使用成熟的waf(Web应用防护系统)
  • 前端输入字符白名单验证(长度、类型等)
  • SQL服务运行与专门的账号,并且使用最小权限
  • 对输入的特殊字符使用转义处理

3.4不安全的设计

漏洞产生原因

在开发软件时,在关键身份验证、访问控制、业务逻辑和关键流部位没有进行安全的设计。

支付逻辑漏洞
所有涉及购买、支付等方面的功能处就有可能存在支付漏洞。
挖掘:寻找网站的支付系统或兑换系统, 抓包 判断有没有敏感信息可以修改。

3.5安全配置不当

安全配置错误是最常见的安全问题,这通常是由于不安全的默认配置、不完整的临时配置、开源云 存储、错误的 HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。
可能存在的风险点
  • 应用程序启用或者安装了不必要的安全功能。
  • 默认账户名和密码没有修改。
  • 应用软件已过期或出了新版未更新。
  • 应用程序服务器,应用程序框架等未进行安全配置。
  • 错误处理机制披露大量敏感信息。
  • 对于更新的系统,禁用或不安全的配置安全功能。

如何防范

  • 按照加固手册加固。
  • 搭建最小化平台,该平台不包含任何不必要的功能、组件、文档 和示例。移除或不安装不适用的功能和框架。
  • 临时文件要及时删除。

3.6使用含有已知漏洞组件

组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知
漏洞的组件被攻击者利用,可能会造成严重的数据丢失或服务器接管。同时,使用含有已知
漏洞的组件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。
如何规范
  • 移除不使用的依赖、不需要的功能、组件、文件和文档。
  • 仅从官方渠道安全的获取组件,并使用签名机制来降低组件被篡 改或加入恶意漏洞的风险。
  • 持续监控 如CVE 和 NVD等是否发布已使用组件的漏洞信息,可以使用软件分析工具来自动完成此功能。订阅关于使用组件安全漏洞的警告邮件。

3.7认证崩溃

就密码等重要数据进行交互的时候,程序存在问题,并被利用来冒充其他用户的身份。

可能存在的风险点

  • 暴力破解
  • 弱口令
  • 明文、加密或弱散列函数
  • 身份验证缺少或失效
  • 暴露URL中的会话ID(例如URL重写)
  • 旧密码泄露
  • 会话ID使用时间过长

如何防范

  • 多因素身份验证。
  • 检查弱口令。
  • 限制或逐渐延迟失败的登录尝试。
  • 使用服务器端安全的内置会话管理器,在登录后生成高度复杂的新随机会话ID。

3.8软件和数据完整性失败

软件和数据完整性故障与不能防止完整性违规的代码和基础设施有关。一个例子是应用

程序依赖来自不受信任的来源、存储库和内容交付网络 (CDN) 的插件、库或模块。

如何防范
  • 使用数字签名或类似机制来验证软件或数据来自预期来源且未被更改
  • 确保使用安全工具验证组件不包含已知漏洞
  • 确保未签名或未加密的序列化数据不会在没有检查或数字签名的情况下发送到不受信任的客户端

3.9不足的日志记录和监控

自己的内部检查能力不足 ,没有办法在别人正在攻击你的时候发现自己被攻击了。
如何防范
  • 确保所有登录、访问控制失败、输入验证失败能够被记录到日志中去,并保留足够的用户上下文信息,以识别可疑或恶意账户,并为后期取证预留足够时间。
  • 确保日志以一种能被集中日志解决方案使用的形式生成。
  • 确保高额交易有完整控制的审计信息,以防止篡改或删除。
  • 审计信息保存在只能进行记录增加的数据库表中。建立有效的监控和告警机制,使可疑活动在可接受的时间内被发现和应对。

3.10服务端请求伪造

利用一个可以发起网络请求的服务,当做跳板来攻击其它服务。SSRF(Server-Side Request Forgery)攻击的目标是从外网无法访问的内部系统。

可能存在的风险点

  • 可以对服务器所在内网、本地进行端口扫描,获取一些服务的信息。
  • 目标网站本地敏感数据的获取。
  • 内外网主机应用程序漏洞的利用。
  • 内外网Web站点漏洞的利用。

如何防范

  • 过滤返回信息,验证远程服务器对请求的相应。
  • 统一错误信息,避免用户根据错误信息来判断远程服务器端口状态。
  • 限制请求的端口为 HTTP 常用端口,比如 80、443、8080、8090 。
  • 黑名单内网 IP,避免应用被用来获取内网数据,攻击内网。
  • 禁用不需要的协议。仅仅允许HTTP和HTTPS请求。可以防止类似于file://、ftp://等引起的问题。

WEB安全-OWASP TOP10相关推荐

  1. TWO DAY | WEB安全之OWASP TOP10漏洞

    TWO DAY | WEB安全之OWASP TOP10漏洞 一.OWASP简介 OWASP:开放式Web应用程序安全项目(Open Web Application Security Project), ...

  2. OWASP TOP10 移动安全漏洞(安卓)2017

    文章目录 前言 OWASP TOP10 移动安全漏洞(安卓)2017 一.脆弱的服务器端安全控制 二.不安全的数据存储 三.传输层保护不足 四.意外的数据泄露 五.弱授权和身份认证 六.密码破解 七. ...

  3. OWASP TOP10 及防御手段(附加应用安全设计框架)

    >>Ⅰ 了解Web交互的基本过程 图1.Web交互的基本过程(实际应用) 图2.Web交互的交换过程(原理) OWASP TOP10 1.1 A1-注入 注入漏洞攻击,例如SQL,OS,和 ...

  4. OWASP top10 详解

    目录 什么是owasp top10? 排行榜 (1)SQL 注入 (2)失效的身份认证和会话管理 (3)跨站脚本攻击 XSS (4)直接引用不安全的对象 (5)安全配置错误 (6)敏感信息泄露 (7) ...

  5. OWASP TOP10系列之#TOP1# A1-注入类

    OWASP TOP10系列之#TOP1# A1-注入类 提示:本系列将介绍OWASP TOP10 安全漏洞相关介绍,主要针对漏洞类型.攻击原理以及如何防御进行简单讲解:如有错误,还请大佬指出,定会及时 ...

  6. 面试常见问题之OWASP top10

    最近找工作浏览时,发现好多安全渗透岗的工作要求中有提到熟悉OWASP top 10这点,特意上网搜了下发现有好多关于这方面介绍,因此总结了一下,同时也分享给大家. OWASP top 10是什么? 首 ...

  7. OWASP TOP10漏洞分析和防御

    目录 2013VS2017 应用程序安全风险 注入 介绍 形成原因 利用场景 防御 失效的身份认证 介绍 形成原因 利用场景 防御 敏感数据泄露 介绍 形成原因 利用场景 防御 XML外部实体(XXE ...

  8. OWASP Top10 2020

    OWASP Top 10 2020 什么是OWASP 漏洞简介 1. Top1-注入 2.失效身份验证和会话管理 3.敏感信息泄露 4.XML外部实体注入攻击(XXE) 5.失效访问控制 6.安全性错 ...

  9. owasp top10 渗透测试

    本期内容 1.了解什么是渗透测试 2.常见漏洞有哪写 3.练习测试 目录 一.渗透测试 1.介绍 1.什么是 OWASP TOP 10 二.常见漏洞 的攻击方式 原因 和影响 A1 注入漏洞 攻击方式 ...

最新文章

  1. 移动端前端开发注意点(未完待续)
  2. ABAP设置输入焦点和表格控件行数的注意事项
  3. 「 每日一练,快乐水题 」258. 各位相加
  4. 1060 Are They Equal
  5. 罗斯蒙特电磁流量计8723说明书_罗斯蒙特8732E电磁流量计故障原因及解决办法!...
  6. 为什么嫁人就选程序员!
  7. iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  8. 如何在Kaggle 首战中进入前 10%
  9. 应用机器学习视频教程,哥伦比亚大学 2020版
  10. 7-157 求一元二次方程的根 (20 分)
  11. 深度学习与硬件GPU,软件框架关系及相关概念解析
  12. ECharts项目小结~
  13. 树莓派在身份证件核验领域应用
  14. 关于EAN13码的设置问题
  15. WiFi开启热点冲突
  16. win10网络重置后,网卡驱动消失且装不上驱动的以及驱动带感叹号的解决办法
  17. ABD-Net: AttentivebutDiversePersonRe-Identification论文阅读
  18. AD中PCB走线实现开窗
  19. 64位程序使用ado连接oracle,32位和64位C++程序使用ADO访问ORACLE注意事项和区别
  20. ECNU OJ学习记录

热门文章

  1. 066-JAVA项目实训:仿QQ即时通讯软件系列讲座一(需求分析)
  2. JavaScript本地存储
  3. 商标名称注册查询有那些注意!
  4. UPD简单的数据发送
  5. 腾讯移动端性能测试利器PerfDog使用
  6. SpringBoot使用JPA多表关联动态查询指定字段
  7. Google Chrome 91.0.4472.101 正式版
  8. 谁把AIG拖垮了[转]
  9. 魅族android10答案,终于等到你,魅族今日推送 Android 10 内测版 Flyme
  10. 【首尔大学韩国语】十二课 买东西