2022-渗透测试-OWASP TOP10详细讲解

这篇具有很好参考价值的文章主要介绍了2022-渗透测试-OWASP TOP10详细讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.sql注入

原理:
SQL 注入就是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现对数据库的任意操作。
​
分类:
1、报错注入
2、bool 型注入
3、延时注入
4、宽字节注入
​
防御:
1.使用预编译语句,绑定变量
2.使用存储过程
3.使用安全函数
4.检查数据类型
​
1.获取数据库名 
select SCHEMA_NAME from information_schema.SCHEMATA
2.获取表名
select TABLE_NAME from information_schema.TABLES
3.获取字段名
select * from information_schema.COLUMNS where TABLE_NAME="users" and TABLE_SCHEMA="security"
4.获取数据
select id,username,password from users
​

2.失效的身份认证和会话管理

原理:
在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出、密码管理、超时、密码找回、帐户更新等方面存在漏洞。
​
防御:
1、区分公共区域和受限区域。
2、对最终用户帐户使用帐户锁定策略。
3、支持密码有效期。
4、能够禁用帐户。
5、不要存储用户密码。
6、要求使用强密码。
7、不要在网络上以纯文本形式发送密码。
8、保护身份验证 Cookie。
9、使用 SSL 保护会话身份验证 Cookie。
10、对身份验证 cookie 的内容进行加密。
11、限制会话寿命。
12、避免未经授权访问会话状态。

3.跨站脚本攻击 XSS

XSS是跨站脚本攻击,原理是攻击者向有XSS漏洞的网站中输入恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。
​
分类:反射型(非持久型)XSS、存储型(持久型)XSS、DOM型XSS.
​
区别:
DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。
​
什么是 HttpOnly?
如果您在 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无法读取到cookie 信息,这样能有效的防止 XSS 攻击。
​
预防:
1.使用XSS Filter,即跨站脚本过滤器,用于分析用户提交的输入,并过滤可能存在的脚本攻击及恶意的THML或简单的HTML格式错误等。
​
2.输入过滤
输入是否仅仅包含合法的字符;
输入字符串是否超过最大长度限制;
输入如果为数字,数字是否在指定的范围;
输入是否符合特殊的格式要求,如E-mail地址、IP地址等
3.输出编码
<(小于号) 转成 &lt;
> (大于号)转成 &gt;
& (和号)转成 &amp;
" (双引号)转成 &quot;
' (单引号)转成 &#39;
4.黑名单和白名单
5.内容安全策略(csp):CSP用于限制浏览器查看您的页面,以便它只能使用从受信任来源下载的资源。

4.直接引用不安全的对象

定义:
不安全的直接对象引用(IDOR)允许攻击者绕过网站的身份验证机制,并通过修改指向对象链接中的参数值来直接访问目标对象资源,这类资源可以是属于其他用户的数据库条目以及服务器系统中的隐私文件等等。
​
出现的原因:
Web应用往往在生成Web页面时会用它的真实名字,且并不会对所有的目标对象访问时来检查用户权限,所以这就造成了不安全的对象直接引用的漏洞。
服务器上的具体文件名、路径或数据库关键字等内部资源被暴露在URL或网页中,攻击者可以尝试直接访问其他资源。
​
防御措施:
1.使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击未授权资源
2.访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查
3.避免在url或网页中直接引用内部文件名或数据库关键字
4.验证用户输入和url请求,拒绝包含./ …/的请求

5.安全配置错误

定义:
安全配置错误可以发生在一个应用程序堆栈的任何层面,通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。
​
影响:
攻击者能够通过未修复的漏洞、访问默认账户、不再使用的页面、未受保护的文件和目录等来取得对系统的未授权的访问或了解。
​
防御措施:
1、 配置所有的安全机制
2、 最小原则,关掉或限制不使用的服务
3、 更改默认账户信息
4、 使用日志和警报
5、 回显信息不显示任何与实际错误相关的信息
6、 检查和修复安全配置项

6.敏感信息泄露

漏洞描述:
由于管理员或者技术人员等各种原因导致敏感信息泄露。许多web应用程序和app都无法正确保护敏感数据,攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、存储的数据以及浏览器的交互数据。
​
检测方法:
1、手工挖掘,查看web容器或网页源码代码,可能存在敏感信息。比如访问url下的目录,直接列出了目录下的文件列表,错误的报错信息包含了网站的信息。
2、工具挖掘,像爬虫之类的工具可以扫描到敏感文件路径,从而找到敏感数据。
​
防范措施:
1、 对系统处理、存储或传输的数据进行分类,根据分类进行访问控制。
2、 对用户敏感信息的传输和存储进行加密
3、 强化安全意识

7.缺少功能级的访问控制

原理:
大多数Web应用程序的功能在UI页面显示之前,会验证功能级别的访问权限。但是,应用程序需要在每个功能被访问时在服务器端执行相同的访问控制检查。如果请求没有被验证,攻击者能够伪造请求从而在未经适当授权时访问功能。
​
测试方法:
1、 保证合法授权用户可以访问成功
2、 限制非法未授权用户的访问
​
防御措施:
1、 设计严格的权限控制系统,对于每个请求和URL都要进行校验和权限确认,防止非法请求被执行
2、 对于每个功能的访问,都要有明确的角色授权,采用过滤器的方式校验每个请求的合法性
3、 实现Web访问的IP白名单列表,禁止不可信的IP访问Web系统

8.跨站请求伪造 CSRF

CSRF概念:
CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
​
攻击原理:
CSRF攻击攻击原理及过程如下:
1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。 
​
分类:
GET型和POST型。
​
防御手段:
1、验证 HTTP Referer 字段。
    根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。
2、在请求地址中添加 token 并验证
    在HTTP请求中以参数的形式加入一个随机产生的token(随机字符串),并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。
3、二次验证
    在转账等关键操作之前提供当前用户的密码或者验证码。二次验证可以有效防御CSRF 攻击。

9.使用含有已知漏洞的组件

原理:
大多数的开发团队并不会把及时更新组件和库当成他们的工作重心,更不关心组件和库的版本,然而应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,可能导致严重的数据丢失或服务器接管。
​
防御措施:
1.标识正在使用的所有组件和版本,包括所有依赖项。
2.及时关注这些组件的安全信息并保证他们是最新的。
3.建立使用组件的安全策略,禁止使用未经安全评估的组件。
4.在适当情况下,对组件进行安全封装,精简不必要的功能,封装易受攻击部分。

10.未验证的重定向和转发

重定向:
重定向是服务端根据逻辑,发送一个状态码(通常为3xx),告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。(重定向是在客户端完成的)
转发:
转发是在服务器内部将请求转发给另一个资源,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程是在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址。(转发是在服务器端完成的)
​
两者的区别:
1、重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址。
2、重定向有两次请求,不共享数据,转发是有一次请求且共享数据。
3、重定向后地址栏会发生变化,转发不会。
4、重定向的地址可以是任意地址,转发的地址只能是当前应用类的某一个地址。
​
预防措施:
1、重定向外部网站需要验证是否在白名单。
2、转发内部网站要验证是否有权限,有权限才转发。

文章来源地址https://www.toymoban.com/news/detail-629788.html

到了这里,关于2022-渗透测试-OWASP TOP10详细讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Owasp Top10 漏洞解析 之注入

    一、注入漏洞是什么? 注入漏洞,即将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命今或访问数据。 几乎任何数据源都能成为注

    2024年02月04日
    浏览(26)
  • OWASP TOP 10 之敏感数据泄露

     许多Web应用程序和APl都无法正确保护敏感数据,例如: 财务数据、医疗数据和PII数据。攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此我们需要对敏感数据加密,这些数据包括: 传输过程中的数据

    2024年02月03日
    浏览(27)
  • 2023_OWASP TOP10_漏洞详情

    OWASP TOP 10 漏洞讲解 1 、 s q l 注入 1、sql注入 1 、 s ql 注入 原理: SQL 注入就是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现对数据库的任意操作。 ​

    2024年02月06日
    浏览(49)
  • 网安云知识 | OWASP TOP 10之安全配置错误

    这些漏洞使攻击者能经常访问一些未授权的系统数据或功能。有时,这些漏洞导致系统的完全攻破。业务影响取决于您的应用程序和数据的保护需求。 安全配置错误可能发生在应用程序堆栈的任何级别,包括网络服务、平台、Web服务器应用服务器、数据库、框架、自定义代码

    2024年03月09日
    浏览(32)
  • 从OWASP API Security TOP 10谈API安全

    应用程序编程接口(API)是当今应用驱动世界创新的一个基本元素。从银行、零售、运输到物联网、 自动驾驶汽车、智慧城市,API 是现代移动、SaaS 和 web 应用程序的重要组成部分,可以在面向客 户、面向合作伙伴和内部的应用程序中找到。 从本质上讲,API 暴露了应用程序

    2024年04月25日
    浏览(36)
  • owasp top10之不安全的反序列化

    ​ 更多网络安全干货内容: 点此获取 ——————— Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。 将序列化对象写入文件之后,可以从文件中读取

    2024年01月22日
    浏览(36)
  • 网络安全入门必知的OWASP top 10漏洞详解

    0、OWASP Top10是什么? 首先介绍下OWASP,开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信

    2024年02月08日
    浏览(28)
  • OWASP TOP 10漏洞的原理 和攻击方式以及防御方法

    OWASP TOP 10漏洞是指由Open Web Application Security Project(OWASP)组织发布的当前最严重、最普遍的10种Web应用程序安全漏洞。以下是每种漏洞的原理、攻击方式和防御方法。 注入漏洞(Injection) 原理:攻击者向应用程序中输入恶意代码,使其执行未经授权的操作。 攻击方式:SQL注

    2024年02月07日
    浏览(37)
  • OWASP TOP10 大主流漏洞原理和防范措施,易理解版

    章节目录 回顾2017年和2021年OWASP主流漏洞都有哪些 一、访问控制崩溃 表现形式 防范 二、敏感数据暴露 防范 三、注入 sql注入分类 SQL盲注 SQL注入产生点 SQL注入的思路 盲注测试的思路 防范SQL 四、不安全的设计 产生的原因 业务漏洞的显现体现 五、安全配置不当 风险点 防范

    2024年02月05日
    浏览(30)
  • Web漏扫工具OWASP ZAP安装与使用(非常详细)从零基础入门到精通,看完这一篇就够了。

    本文仅用于安全学习使用!切勿非法用途。 开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。ZAP则是OWASP里的工具类项目,也是旗舰项目,全称是OWASP Zed attack proxy,是一款

    2024年01月21日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包