1. HTTP 请求走私的演进与变体
攻击者利用服务器和代理之间对 HTTP 请求处理方式的差异,走私隐藏请求,导致中间件或后端服务器执行恶意指令。GET /index.htmlHTTP/1.1
Host: vulnerable.com
Transfer-Encoding: chunked
Content-Length: 0
0
GET /admin HTTP/1.1
Host: vulnerable.com
X-Exploit: <script>alert(1)</script>
HttP
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
入选原因:具备强大的绕过和隐蔽性,能够绕过前端 WAF,影响后端逻辑,危害范围广。
2. SSRF 的新用法
攻击者诱使服务器向外部或内部资源发起请求,从而获取敏感信息、绕过安全限制或执行任意代码。GET /ssrf?url=file:///etc/passwd HTTP/1.1
HttP
代码解析:
攻击者利用服务器的请求功能,读取本地文件,获取敏感信息。
入选原因:攻击者利用服务器的请求功能,读取本地文件,获取敏感信息。
3. GraphQL API 漏洞利用
GraphQL API 不像 RESTful API 结构固定,攻击者可以通过构造恶意查询,滥用API接口,泄露敏感数据或导致拒绝服务。query {
__schema {
types {
name
fields {
name
type {
name
}
}
}
}
}
Graphql
代码解析:
攻击者利用GraphQL的内省功能,获取API的schema信息,从而发现隐藏的接口或漏洞。
入选原因:GraphQL API 使用越来越广泛,其固有的灵活性导致漏洞难以被发现和防御。
4. WebSocket 漏洞的利用
WebSocket 是一种全双工的通信协议,允许客户端和服务端之间进行实时双向通信。攻击者可以利用 WebSocket 的安全漏洞,例如未授权的访问,消息伪造,进行数据窃取,劫持会话等。import websocket
import ssl
ws = websocket.create_connection("wss://vulnerable.com/ws",
sslopt={"cert_reqs": ssl.CERT_NONE})
whileTrue:
result = ws.recv()
print(result)
# 修改服务端消息
ws.send(modified_result)
Python
代码解析:
利用代码模拟WebSocket连接并拦截服务端响应,修改服务端发来的消息,发送给客户端,造成中间人攻击。
入选原因:WebSocket作为现代应用中常用的协议,其安全漏洞的利用难度低,危害性高,是值得关注的方向。
5. 客户端原型链污染(Client-Side Prototype Pollution)
攻击者通过修改 JavaScript 对象原型,影响 JavaScript 运行时的行为,导致 XSS、权限提升或逻辑错误。let maliciousData= '{"__proto__":{"isAdmin":true}}';
JSON.parse(maliciousData);
console.log({}.isAdmin) // Output: true
JavaScript
代码解析:
通过JSON.parse修改了Object.prototype, 使得所有对象拥有isAdmin的属性,这会导致权限绕过。
入选原因:客户端原型链污染利用了 JavaScript 的特性,难以被发现和防御,危害范围广。
6. HTTP 协议异步攻击的变体
HTTP Desync 是 HTTP 请求走私的一种变体, 利用不同的服务器对 HTTP 请求头的解析不一致,导致后端服务器被欺骗,从而实施恶意攻击。代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
0
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
1
入选原因:在复杂的网络环境中,例如使用了CDN或者反向代理的场景,更容易出现HTTP协议的异步问题,使攻击者可以进行隐蔽的攻击。
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
2
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
3
入选原因:SSTI利用范围广,且难以防御,对于各种类型的Web应用程序都存在威胁。
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
4
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
5
入选原因:利用缓存的攻击难以被追踪和防御,影响范围广,是很多企业头疼的问题。
9. 基于WebAssembly的攻击
WebAssembly 是一种用于在 Web 浏览器中运行高性能代码的新技术。攻击者可以利用 WebAssembly 的漏洞,进行远程代码执行或绕过客户端安全限制。代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
6
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
7
入选原因:WASM 逐渐流行,其安全性需要重视,其二进制特性也提高了分析的难度。
10. Web 应用中的逻辑漏洞的高级利用
攻击者利用 Web 应用的业务逻辑缺陷,绕过安全措施,实现非法操作,例如越权访问,数据篡改,或资金盗窃。代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
8
代码解析:
客户端发送一个伪装成合法请求的请求,但实际上在 chunked 编码的末尾注入了一个新的请求,并附带 XSS payload。这能绕过前端的检查,让后端执行恶意的请求。
9
入选原因:逻辑漏洞难以通过传统安全扫描工具发现,需要红队深入理解业务逻辑,才能发现和利用漏洞。
总结:
从这些提名技术中可以看出,2024 年 Web 安全的攻击趋势呈现以下特点:
攻击面扩展: 攻击者不再局限于传统的 Web 应用漏洞,而是将目光投向新兴技术 (如 GraphQL, WebSocket, HTTP/3) 和基础设施 (如云服务)。
攻击链复杂化:攻击者倾向于结合多种漏洞 (如 SSRF + GraphQL,HTTP Request Smuggling + XSS),形成复杂的攻击链。
利用“信任”关系:攻击者通过供应链攻击,利用用户对第三方组件的信任。
防御难度加大:新兴技术和协议的出现,使防御变得更加复杂和困难,需要安全从业者不断学习和研究。
这些技术都体现了攻击者不断创新的思路和精益求精的攻击手法,因此入选提名当之无愧。作为安全技术从业人员,我们需要不断学习和掌握这些新的攻击技术,才能更好地进行渗透测试和安全防护。
希望以上分析与解读对您有所帮助!如果您想了解更多技术细节,请参考原文。
原文链接:
如果您觉得文章对您有所帮助,请您点赞+关注!推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...