【知识】OWASP Top 10详解

简介: OWASP Top 10是owasp总结的web最常见的漏洞,适合初学者制定目标。

OWASP Top 10

 

ReL2rEe.png

bilibili:https://www.bilibili.com/video/BV1yY4y1M7Cp

1.Injection

SQLInjection

见工具—sqlmap

Command Injection

命令注入发生在 Web 应用程序中的服务器端代码(如 PHP)在宿主机上进行系统调用时。它是一个 web 漏洞,允许攻击者利用这个系统调用在服务器上执行操作系统命令

一旦攻击者在 Web 服务器上有了立足点,他们就可以开始对您的系统进行通常的枚举,并开始寻找转向的方法。

遇到过滤可以尝试替换

e,g, strings—cat

 

2.Broken Authentication

Brute force attacks

Use of weak credentials

Weak Session Cookies

3.Sensitive Data Exposure

枚举文件,查看是否有sql,back等文件

也可以收集网站上的信息………….

Decrypt MD5, SHA1, MySQL, NTLM, SHA256, SHA512, Wordpress, Bcrypt hashes for free online

 

4.XML External Entity

Snipaste_2022-09-09_18-24-49.png

XML 外部实体(XXE)攻击是一种滥用 XML 解析器/数据特性的漏洞。它通常允许攻击者与应用程序本身可以访问的任何后端或外部系统进行交互,并允许攻击者读取该系统上的文件。

 

什么是 XML? 在 Web 历史的早期,XML 作为一种数据传输格式很流行(“AJAX”中的“X”代表“XML”)。但它的受欢迎程度现在已经下降,有利于 JSON 格式

e.g.

<?xml version="1.0" encoding="UTF-8"?>
falconfeastAbout XXETeach about XXE

 

什么是 DTD 文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。DTD实体是用于定义引用普通文本或特殊字符的快捷方式的变量。

now let's understand how that DTD validates the XML. Here's what all those terms used in note.dtd mean

      ]>

 

  • !DOCTYPE note - Defines a root element of the document named note
  • !ELEMENT note - Defines that the note element must contain the elements: "to, from, heading, body"
  • —define entity

payload

1.攻击者尝试从服务端提取数据:

<?xml version="1.0"?>
]>
&read;

2.攻击者通过将上面的实体行更改为以下内容来探测服务器的专用网络:

]>

 

几乎所有 XXE 漏洞的出现都是因为应用程序的 XML 解析库支持应用程序不需要或不打算使用的潜在危险 XML 功能。防止 XXE 攻击的最简单和最有效的方法是禁用这些功能。

5.Broken Access Control

secenario 1

应用程序在访问帐户信息的 SQL 调用中使用未经验证的数据

pstmt.setString(1, name);
rs = pstmt.executeQuery();
if(rs.next()){//用户存在
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}

对云服务(如 S3存储桶)配置不当的权限

默认密码未修改

http头透露过多信息

过于详细的错误消息,允许攻击者发现有关系统的更多信息

 

7. Cross-site Scripting

跨网站脚本,也被称为 XSS 是一个安全漏洞,通常发现在网络应用程序。它是一种注入类型,允许攻击者执行恶意脚本并在受害者的机器上执行

 

1.stored XSS

最危险的 XSS。这就是恶意字符串来自网站数据库的地方。这种情况经常发生在网站允许用户输入时没有经过清理(删除用户输入的“坏部分”)插入到数据库中

2.reflected XSS

恶意有效载荷是受害者向网站请求的一部分。该网站包括这个有效负载回应用户。总而言之,攻击者需要欺骗受害者单击 URL 来执行其恶意负载

3.DOM XSS

DOM 代表文档对象模型,是 HTML 和 XML 文档的编程接口。它表示页面,以便程序可以更改文档结构、样式和内容。网页是一个文档,这个文档既可以显示在浏览器窗口中,也可以作为 HTML 源

 

XSS Payloads

1.

2.Writing HTML (document.write)

3.XSS Keylogger (http://www.xss-payloads.com/payloads/scripts/simplekeylogger.js.html) - You can log all keystrokes of a user, capturing their password and other sensitive information they type into the webpage.

4.Port scanning (http://www.xss-payloads.com/payloads/scripts/portscanapi.js.html) - A mini local port scanner (more information on this is covered in the TryHackMe XSS room).

5.XSS-Payloads.com (http://www.xss-payloads.com/) is a website that has XSS related Payloads, Tools, Documentation and more. You can download XSS payloads that take snapshots from a webcam or even get a more capable port and network scanner.

document.querySelector('#thm-title').textContent = 'I am a hacker'

8.Insecure Deserialization

不安全的反序列化就是用恶意代码替换应用程序处理的数据,允许攻击者使用从 DoS (分布式拒绝服务攻击)到 RCE (远程代码执行)的任何东西来获得一个临时场景中的立足点。

object

objects allow you to create similar lines of code without having to do the leg-work of writing the same lines of code again.

Deserialization

序列化: 一个游客在街上向你问路。他们在找当地的地标,结果迷路了。不幸的是,英语不是他们的强项,你也不会说他们的方言。你是做什么的?你画一张通往地标的路线图,因为图片跨越了语言障碍,他们能够找到地标。漂亮!你刚刚序列化了一些信息,然后游客反序列化它来找到地标

所以序列化是将编程中使用的对象转换为更简单、兼容的格式,以便在系统或网络之间传输,从而进一步处理或存储的过程

反序列化与此相反; 将序列化的信息转换为它们的复杂形式——应用程序将理解的对象

ZB76mLI.png

 

简单地说,不安全的反序列化发生在来自不可信方(例如黑客)的数据由于没有过滤或输入验证而被执行时; 系统假设数据是可信的,并且将毫无保留地执行它

Cookies

一种快捷的验证机制,虽快但危。

9.Components With Known Vulnerabilities

利用已知漏洞,以前打靶用到过,我们再进行一次演示,但非常简单。

 

10.Insufficient Logging and Monitoring

multiple unauthorised attempts for a particular action (usually authentication attempts or access to unauthorised resources e.g. admin pages) requests from anomalous IP addresses or locations: while this can indicate that someone else is trying to access a particular user's account, it can also have a false positive rate. use of automated tools: particular automated tooling can be easily identifiable e.g. using the value of User-Agent headers or the speed of requests. This can indicate an attacker is using automated tooling. common payloads: in web applications, it's common for attackers to use Cross Site Scripting (XSS) payloads. Detecting the use of these payloads can indicate the presence of someone conducting unauthorised/malicious testing on application
目录
相关文章
|
7月前
|
安全 网络协议 网络安全
OWASP Top 10 网络安全10大漏洞——A01,源码+原理+手写框架
OWASP Top 10 网络安全10大漏洞——A01,源码+原理+手写框架
|
3月前
|
Linux Windows
top使用
top使用
|
6月前
|
XML 监控 安全
OWASP-TOP 10 漏洞概述
OWASP-TOP 10 漏洞是指由开放式Web应用程序安全项目(OWASP)发布的,关于Web应用程序最可能、最常见、最危险的十大安全漏洞的列表。
397 0
|
7月前
|
Java 索引
为什么 如果栈不为空就是top >= 0
为什么 如果栈不为空就是top >= 0
|
SQL 存储 监控
OWASP Top 10 2022介绍
1.失效的访问控制 访问控制实施策略以防止用户超出其指定权限范围进行操作。由于访问漏洞,未经身份验证或不受欢迎的用户可能会访问机密数据和进程以及用户权限设置。 元数据操作,包括篡改或重放 JSON Web 令牌 (JWT) 访问控制令牌,或修改 cookie 或隐藏字段以提高权限或利用 JWT 失效,都是访问控制漏洞的一个示例。第二个例子是违反默认拒绝原则。必须仅向特定角色、能力或用户授予访问权限,但每个人都可以访问。此类错误可能使攻击者可以轻松访问他们想要的一切。 但是,可以通过应用安全编码方法并采取预防措施(例如禁用管理员帐户和限制以及安装多因素身份验证)来避免访问安全机制不足以及身份或密
802 0
|
7月前
|
算法 C语言
top K问题(借我五分钟)
top K问题(借我五分钟)
|
存储 SQL 监控
OWASP top10 的介绍
OWASP top10 的介绍
151 0
OWASP top10 的介绍
|
存储 SQL 安全
2022-渗透测试-OWASP TOP10详细讲解
2022-渗透测试-OWASP TOP10详细讲解
2022-渗透测试-OWASP TOP10详细讲解
|
SQL XML 安全
OWASP-TOP10漏洞详解以及防护方案
OWASP-TOP10漏洞详解以及防护方案
1697 0
|
XML 安全 测试技术
安全测试----OWASP top 10 简介
安全测试----OWASP top 10 简介
1089 0