危险系数排名前5的注入攻击

什么是注入攻击?

注入攻击针对注入漏洞——这是一种非常广泛的网络安全漏洞,其中包括一些严重的应用程序安全风险。在OWASP的2021年十大风险中,注入是web应用安全的第三大风险。尽管攻击载体种类繁多,但几乎所有注入攻击的共同点都是,攻击者能够将未经验证的用户输入直接插入到执行的应用程序代码中。

根据漏洞的类型和攻击目标的不同,攻击者可能会注入数据库查询、JavaScript代码、本机应用程序代码、操作系统命令等等。成功的注入攻击可能会产生各种后果,包括数据泄露、拒绝服务、特权提升、绕过身份验证,甚至通过远程代码执行彻底破坏目标系统。

1、SQL注入 (SQLi)

绝大多数web应用都是由数据库支持的,最流行的数据库管理系统仍然使用SQL(结构化查询语言)作为数据访问语言。为了执行SQL注入攻击,网络犯罪分子将SQL语句插入到web表单、评论字段、查询字符串或其他外部用户可访问的输入通道中的数据中。恶意代码通常是用于提取敏感数据的SQL查询,但也可以用于修改数据库内容的SQL语句,包括删除(删除)数据库表。

如果目标应用程序容易受到SQL注入的攻击,它将直接将数据发送到数据库,而不检查数据是否安全。然后,数据库服务器将执行攻击者注入的恶意SQL语句,而不是存储注释或检索某些帐户数据。即使脆弱的应用程序没有直接暴露数据,攻击者也可能使用盲SQL注入来间接发现信息。

SQL注入是最古老和最危险的Web应用程序漏洞之一。在 Common Weakness Enumeration 中列为CWE-89:SQL命令中使用的特殊元素的不当中和,SQL注入在2021 年 CWE前25名中排名第6 。Invicti 检测到多种类型的SQL注入漏洞,从典型的带内 SQL注入到盲 SQL注入(包括基于布尔的)和带外SQL注入。

SQL注入是web应用程序古老而又危险的漏洞之一。在常见缺陷枚举中被列为CWE-89:在SQL命令中使用特殊元素的不当中和,SQL注入在2021年的CWE前25名中排名第6。WuKong静态软件安全测试可以在软件开发期间查找SQL注入漏洞,提高软件安全性。

2、跨站脚本(XSS)

虽然名称中没有“注入”,但跨站点脚本 (XSS)本质上是一个脚本注入漏洞。任何未能对包含脚本代码(通常是JavaScript)的用户输入进行清理的web应用程序都可能容易受到跨站脚本攻击(XSS)。要利用XSS漏洞,攻击者提供一个包含恶意代码的文本字符串,例如将其作为用户ID参数放在URL中。攻击有效负载随后由受害者的浏览器执行,而不是作为常规参数值处理。

XSS攻击可能会产生严重的后果,从将用户重定向到恶意站点,到窃取会话cookie和劫持用户会话。虽然用户输入过滤可以在一定程度上降低成功攻击的风险,但有许多方法可以规避XSS过滤器,因此编写安全代码比较稳妥。

XSS被列入CWE缺陷分类CWE-79:网页生成过程中输入的不当中和,并在2021年CWE前25个最危险的软件弱点中排名第二。

3、操作系统命令注入

Web 应用程序有时可能需要在底层操作系统中执行系统命令。如果应用程序存在命令注入漏洞,攻击者可以在用户输入中提供自己的操作系统命令。成功的命令注入(又名 shell 注入)可能非常危险,因为它可以让攻击者获取有关操作系统和服务器配置的信息,升级他们的权限,甚至执行任意系统命令以完全破坏系统。

防范胜于治疗,因此最好避免从 Web 应用程序调用系统命令。当需要执行系统命令时,仔细验证用户输入并通过白名单严格进行限制。

操作系统命令注入在CWE的前25列表中排名第5名CWE-78:操作系统命令中使用特殊元素的不当中和。

4、代码注入(远程代码执行)

如果攻击者能够提供应用程序代码作为用户输入并让服务器执行它,则应用程序存在代码注入漏洞(也称为远程代码执行或 RCE)。例如,如果易受攻击的应用程序是用 PHP 编写的,则攻击者可以注入PHP代码,这些代码由Web服务器上的PHP解释器执行。

代码注入与操作系统命令注入不同,因为注入的是应用程序代码,而不是系统命令(尽管如果应用程序接受调用系统命令的恶意代码,两者可能会导致另一个)。如果攻击者设法使远程代码执行,那么应该认为目标系统受到了破坏,因此这是一个关键的漏洞。

代码注入归类为CWE-94:代码生成的不当控制。

5、XXE注入

最后一个是XML外部实体 (XXE) 注入。如果应用程序接受XML输入并配置为支持具有弱XML解析器安全性的遗留文档类型定义 (DTD),则攻击者可以向其发送特制的 XML文档,以执行从路径遍历到服务器端请求伪造 (SSRF)和远程代码执行。

与之前的四种注入攻击不同,这次注入攻击不会利用未经验证的用户输入,而是利用 XML 解析器中固有的不安全遗留功能,因此可能特别危险。如果应用程序处理XML文档,避免此漏洞的方法是禁用对dtd的支持,或者至少禁用对外部实体的支持。

与XML外部实体相关的攻击向量被分类为CWE-611: XML外部实体引用的不当限制。XXE注入在2017年OWASP十大榜单中排名第四,2021年合并到安全配置错误类别中。

防止注入攻击

多数注入攻击都依赖于Web应用程序执行的不受信任的输入。不正确的输入验证在 CWE 前 25 名列表中排在第4位。对所有用户控制的输入进行仔细的清理、过滤和编码有助于防止绝大多数注入漏洞。

除了让开发人员注意此类安全问题外,在开发生命周期中直接集成有效的静态代码安全测试工具有助于在快速开发的节奏中及时发现并修复安全问题。接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值