常见黑客攻击类型

本文介绍了当前常见的五种黑客攻击手法,包括网络报文嗅探、IP地址欺骗、密码攻击、拒绝服务攻击及应用层攻击。文章详细阐述了每种攻击手段的工作原理、攻击方式以及可能造成的后果。
虽然黑客攻击的手法多种多样,但就目前来说,绝大多数中初级黑客们所采用的手法和工具仍具有许多共性。从大的方面来划分的话,归纳起来一般不外乎以下几种:
1. 网络报文嗅探
网络嗅探其实最开始是应用于网络管理的,就像远程控制软件一样,但随着黑客们的发现,这些强大的功能就开始被客们利用。最普遍的安全威胁来自内部,同时这些威胁通常都是致命的,其破坏性也远大于外部威胁。其中网络嗅探对于安全防护一般的网络来说,使用这种方法操作简单,而且同时威胁巨大。很多黑客也使用嗅探器进行网络入侵的渗透。网络嗅探器对信息安全的威胁来自其被动性和非干扰性,使得网络嗅探具有很强的隐蔽性,往往让网络信息泄密变得不容易被发现。
嗅探器是利用计算机的网络接口,截获目的计算机数据报文的一种技术。不同传输介质的网络的可监听性是不同的。一般来说,以太网被监听的可能性比较高,因为以太网是一个广播型的网络;FDDI Token被监听的可能性也比较高,尽管它不是一个广播型网络,但带有令牌的那些数据包在传输过程中,平均要经过网络上一半的计算机;微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易的截获。
嗅探器工作在网络的底层,把受影视的计算机的网络传输全部数据记录下来。虽然嗅探器经常初网管员用来进行网络管理,可以帮助网络管理员查找网络漏洞和检测网络性能、分析网络的流量,以便找出所关心的网络中潜在的问题。但目前却在黑客中的应用似乎更加广泛,使人们开始对这类工具敬而远之。
2. IP地址欺骗
IP地址欺骗攻击是黑客们假冒受信主机(要么是通过使用你网络IP地址范围内的IP,要么是通过使用你信任,并可提供特殊资源位置访问的外部IP地址)对目标进行攻击。在这种攻击中,受信主机指的是你拥有管理控制权的主机或你可明确做出信任决定允许其访问你网络的主机。通常,这种IP地址欺骗攻击局限于把数据或命令注入到客户/服务应用之间,或对等网络连接传送中已存在的数据流。为了达到双向通讯,攻击者必须改变指向被欺骗IP地址的所有路由表。
IP地址攻击可以欺骗防火墙,实现远程攻击。
以上介绍的报文嗅探,IP欺骗的攻击者不限于外部网络,在内部网络中同样可能发生,所以在企业网络内部同样要做好相关防御措施。 
3. 密码攻击
密码攻击通过多种不同方法实现,包括蛮力攻击(brute force attack),特洛伊木马程序,IP欺骗和报文嗅探。尽管报文嗅探和IP欺骗可以捕获用户账号和密码,但密码攻击通常指的反复的试探、验证用户账号或密码。这种反复试探称之为蛮力攻击。
通常蛮力攻击使用运行于网络上的程序来执行,并企图注册到共享资源中,例如服务器。当攻击者成功的获得了资源的访问权,他就拥有了和那些账户被危及以获得其资源访问权的用户有相同的权利。如果这些账户有足够夺得特权,攻击者可以为将来的访问创建一个后门,这样就不用担心被危及用户账号的任何身份和密码的改变。
4. 拒绝服务攻击
拒绝服务Denial of ServiceDoS攻击是目前最常见的一种攻击类型。从网络攻击的各种方法和所产生的破坏情况来看,DoS算是一种很简单,但又很有效的进攻方式。它的目的就是拒绝你的服务访问,破坏组织的正常运行,最终使你的网络连接堵塞,或者服务器因疲于处理攻击者发送的数据包而使服务器系统的相关服务崩溃、系统资源耗尽。
DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。DoS攻击的基本过程:首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息。由于地址是伪造的,所以服务器一直等不到回传的消息,然而服务器中分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽。
这类攻击和其他大部分攻击不同的是,因为他们不是以获得网络或网络上信息的访问权为目的,而是要使受攻击方耗尽网络、操作系统或应用程序有限的资源而崩溃,不能为其他正常其他用户提供服务为目标。这就是这类攻击被称之为拒绝服务攻击的真正原因。 
  当涉及到特殊的网络服务应用,象HTTPFTP服务,攻击者能够获得并保持所有服务器支持的有用连接,有效地把服务器或服务的真正使用者拒绝在外面。大部分拒绝服务攻击是使用被攻击系统整体结构上的弱点,而不是使用软件的小缺陷或安全漏洞。然而,有些攻击通过采用不希望的、无用的网络报文掀起网络风暴和提供错误的网络资源状态信息危及网络的性能。
DDoSDistributed Denial of Service,分布式拒绝服务)是一种基于DoS的特殊形式的分布、协作式的大规模拒绝服务攻击。也就是说不再是单一的服务攻击,而是同时实施几个,甚至十几个不同服务的拒绝攻击。由此可见,它的攻击力度更大,危害性当然也更大了。它主要瞄准比较大的网站,象商业公司,搜索引擎和政府部门的Web站点。
要避免系统遭受DoS攻击,从前两点来看,网络管理员要积极谨慎地维护整个系统,确保无安全隐患和漏洞;而针对第三点的恶意攻击方式则需要安装防火墙等安全设备过滤DoS攻击,同时强烈建议网络管理员定期查看安全设备的日志,及时发现对系统存在安全威胁的行为。
具体的防火墙如何防御拒绝服务攻击的方法将在本书第三章详细介绍。
5. 应用层攻击
应用层攻击能够使用多种不同的方法来实现,最平常的方法是使用服务器上通常可找到的应用软件(如SQL ServerSendmailPostScriptFTP)缺陷。通过使用这些缺陷,攻击者能够获得计算机的访问权,以及该计算机上运行相应应用程序所需账户的许可权。
应用层攻击的一种最新形式是使用许多公开化的新技术,如HTML规范、Web浏览器的操作性和HTTP协议等。这些攻击通过网络传送有害的程序,包括JAVA appletActive X控件等,并通过用户的浏览器调用它们,很容易达到入侵、攻击的目的。虽然微软公司前段时间提供的代码验证技术可以使用户的Active X控件因安全检查错误而暂停这类攻击,但攻击者已经发现怎样利用适当标记和有大量漏洞的Active X控件使之作为特洛伊木马实施新的攻击方式。这一技术可使用VBScript脚本程序直接控制执行隐蔽任务,如覆盖文件,执行其他文件等,预防、查杀的难度更大。
在应用层攻击中,容易遭受攻击的目标包括路由器、数据库、WebFTP服务器和与协议相关的服务,如DNSWINSSMB
<think>我们正在分析一个HTTP请求片段,判断它是否可能是黑客攻击行为。给定的请求片段是: ------WebKitFormBoundaryl7d1B1aGsV2wcZwF\0d\0aContent-Disposition: form-data; name="id"\0d\0a\0d\0a%{\0d\0a(#request ### 步骤1:理解请求结构 这是一个`multipart/form-data`请求的一部分,其中: - 边界为`------WebKitFormBoundaryl7d1B1aGsV2wcZwF` - 表单字段名为`id` - 字段值为:`%{\n(#request` ### 步骤2:识别可疑内容 重点观察字段值`%{\n(#request`: 1. **表达式语法**:`%{ ... }`是许多模板引擎(如Freemarker、Thymeleaf)或表达式语言(如OGNL、SpEL)的常见语法,用于执行动态表达式。 2. **`(#request`**:这看起来像是一个表达式的一部分,可能试图访问请求对象。在模板注入攻击中,攻击者经常尝试访问底层对象(如请求、会话、应用程序上下文)来执行恶意操作。 ### 步骤3:判断是否为攻击行为 根据经验,这种片段高度可疑: - **模板注入攻击特征**:攻击者通过提交模板表达式尝试在服务器端执行任意代码。例如: - Freemarker注入:`<#assign ex="freemarker.template.utility.Execute"?new()> ${ ex("rm -rf /") }` - OGNL注入(如Struts2漏洞):`%{(#_memberAccess['allowStaticMethodAccess']=true).(#cmd='whoami').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(@org.apache.commons.io.IOUtils@toString(#process.getInputStream()))}` - **当前片段匹配**:片段以`%{`开头,紧接着是`(#request`,这与OGNL表达式结构高度相似(特别是`#request`是OGNL中访问请求对象的语法)。 ### 步骤4:攻击意图分析 如果服务器端使用支持OGNL的框架(如Struts2)处理该参数,且未做严格过滤,攻击者可能通过构造完整的表达式实现: - 读取/篡改敏感数据(如`#session`、`#parameters`) - 执行系统命令(如上述示例) - 远程控制服务器 ### 结论 **该请求片段属于黑客攻击行为**,具体为**表达式注入攻击(如OGNL注入)**,旨在利用服务器端表达式解析漏洞执行恶意操作。 --- ### 防御建议 1. **输入过滤**:对所有用户输入进行严格校验,过滤或转义特殊字符(如`%{}`、`$`等)。 2. **框架升级**:确保使用的框架(如Struts2)已更新到最新安全版本。 3. **禁用危险功能**:在表达式引擎中禁用敏感类和方法(如`java.lang.Runtime`)。 4. **最小权限运行**:应用程序使用低权限账户运行,限制命令执行危害。 --- ### 相关问题 1. 如何检测和防御表达式注入攻击? 2. Struts2框架中OGNL注入漏洞的原理是什么? 3. 常见的Web应用攻击类型有哪些? 4. 如何通过日志分析识别恶意请求?</think>### 分析:该请求片段是否为黑客攻击行为 #### 1. **关键特征分析** - **可疑表达式结构**:`%{\n(#request` 符合 **表达式注入攻击** 的典型特征: - `%{...}` 是多种模板引擎(如 OGNL、SpEL)的表达式语法[^1] - `#request` 试图访问服务器请求对象(常见于 Struts2 漏洞攻击)[^2] - **攻击载荷特征**: - 片段以未闭合的表达式开头(`%{`),暗示后续可能包含恶意操作 - 常见攻击链:`#request` → `#parameters` → 命令执行(如 `@java.lang.Runtime@exec()`)[^3] - **异常编码**: - `\0d\0a` 是 URL 编码的换行符(`%0D%0A`),常用于绕过基础检测 - 字段名 `"id"` 伪装成普通参数,但值包含攻击载荷 #### 2. **攻击类型判断** ✅ **高度可能属于以下攻击**: 1. **OGNL 表达式注入**(Struts2 经典漏洞) - 利用模式:`%{(#malicious_code)}` - 危害:直接执行系统命令或读取敏感文件[^2] 2. **服务端模板注入**(SSTI) - 特征:通过 `#request` 访问模板引擎上下文对象 - 典型攻击:`{{#request}}`(Thymeleaf/Freemarker) 3. **命令注入前置探测** - 片段可能是攻击链的第一阶段,探测服务器是否解析表达式 #### 3. **与正常请求的对比** | **特征** | 正常请求 | 当前请求片段 | |------------------|----------------------------|--------------------------------| | **字段值内容** | 纯文本/数字(如 `id=123`) | 含表达式符号(`%{`, `#`) | | **结构完整性** | 完整数据(如 JSON/XML) | 未闭合的表达式(暗示后续攻击载荷)| | **字符使用** | 可见字符集 | 包含编码字符(`\0d\0a`) | #### 4. **防御建议** 1. **立即拦截**: - 在 WAF 规则中添加拦截:`/(%\{|\#request)/` - 返回 `403 Forbidden` 并记录攻击者 IP 2. **服务器加固**: ```java // 在Struts2中禁用危险表达式 struts.ognl.excludedClasses = java.lang.Runtime ``` 3. **输入过滤**(以 Java 为例): ```java if (paramValue.matches(".*[%{#].*")) { throw new SecurityException("非法表达式"); } ``` ### 结论 **该请求片段属于高危黑客攻击行为**,是典型的表达式注入攻击载荷,需立即阻断并审计服务器是否存在相关漏洞(如 Struts2、Spring 表达式解析)。 --- ### 相关问题 1. 如何识别和防御 OGNL 表达式注入攻击? 2. Struts2 框架有哪些已知的安全漏洞? 3. Web 应用防火墙(WAF)如何配置规则拦截表达式注入? 4. 服务端模板注入(SSTI)的原理和防御方法是什么? 5. 如何通过日志分析追踪攻击者的入侵路径? [^1]: 表达式语法特征符合 OWASP 定义的注入攻击模式 [^2]: `#request` 访问请求对象是 Struts2 漏洞利用关键步骤 [^3]: 未闭合表达式结构暗示后续可能存在命令执行载荷
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值