网络攻击技术

2021/11/26 ComputerNetwork 共 2057 字,约 6 分钟

网络攻击技术

小结

  • XSS 利用的是用户对指定网站的信任,代码注入到评论框这样,可cookie httponly 和输入过滤解决
  • CSRF 利用的是网站对用户浏览器的信任,改URL伪造用户请求,可加token和验证码等解决。
  • SQL注入,评论框里加where true条件,可预编译sql和输入转义过滤解决。
  • Dos攻击,大量请求导致瘫痪,可IP限制、黑名单解决。
  • SYN, 三次握手搞一半,可有特定cookie才建连和缩短超时时间、限制ip连接数量解决。

XSS跨站脚本技术

XSS(Cross-Site Scripting)是一种代码注入攻击,攻击者在网页中插入恶意 JavaScript,使受害者的浏览器执行恶意脚本。

攻击原理

  • 攻击者在 不安全的输入点(如评论区、搜索框)插入恶意 JavaScript 代码。
  • 受害者访问页面时,浏览器执行攻击者的脚本,导致 信息窃取、页面篡改、会话劫持 等问题。

防范措施

✅ 输入过滤:对用户输入进行 HTML 转义(如 < 代替 <)。 ✅ 内容安全策略(CSP):限制页面执行外部脚本。 ✅ 使用 HttpOnly Cookie:防止 JavaScript 访问 Cookie,减少会话劫持风险。这个是Cookie的一个属性 ✅ 不信任用户输入:避免 innerHTML 直接插入未过滤的内容。

CSRF跨站请求伪造

概念

CSRF(Cross-Site Request Forgery)利用用户 已认证的身份 向目标网站发送恶意请求,导致用户数据被篡改或账户被操控。

攻击原理

  • 受害者已登录某网站 A,并持有有效的 Cookie。
  • 攻击者诱导受害者点击恶意链接(或访问带有 CSRF 代码的页面),该链接伪造用户请求向 A 服务器发送恶意请求。
  • 服务器误以为是用户正常请求,执行危险操作(如修改密码、转账等)。

防范措施

✅ CSRF Token:每个请求添加随机 Token,服务端校验其有效性。 ✅ SameSite Cookie:限制 Cookie 仅在同源站点间发送(SameSite=Strict|Lax)。 ✅ Referer 检查:服务器检查请求来源,拒绝非可信域的请求。 ✅ 验证码:在敏感操作(如支付、修改密码)添加验证码确认。

SQL 注入攻击

概念

SQL 注入(SQL Injection)是通过在输入字段中注入 SQL 代码,从而执行未授权的数据库查询,导致数据泄露、篡改或删除。

攻击原理

  • 攻击者在输入字段(如用户名、搜索框)插入

      
    ' OR '1'='1  --  # 绕过登录验证
    
  • 服务器直接拼接 SQL 语句,执行后导致数据泄露或操作未授权账户:

      
    SELECT * FROM users WHERE username = '' OR '1'='1' --' AND password = '123456';
    

防范措施

✅ 使用预编译查询(Prepared Statements),避免 SQL 语句拼接:

python


CopyEdit
cursor.execute("SELECT * FROM users WHERE username = ?", (username,))

✅ 对用户输入进行严格的过滤和转义。 ✅ 限制数据库用户权限,即便被注入,也降低数据损害风险。 ✅ Web 应用防火墙(WAF),拦截异常 SQL 语句请求。

DoS拒绝服务攻击

概念

DoS(Denial of Service)攻击通过大量请求使目标服务器资源耗尽,导致服务不可用。

攻击原理

  • 流量攻击:发送大量数据包占满服务器带宽。
  • 资源消耗:发送大量合法请求,占用 CPU、内存,导致服务器崩溃。
  • 应用层攻击:如不断发送 HTTP GET 请求,耗尽 Web 服务器资源。

防范措施

✅ 流量限制:使用 速率限制(Rate Limiting),限制单 IP 访问频率。 ✅ 黑名单机制:拦截可疑 IP,使用 WAF(Web 防火墙)。 ✅ DDoS 防护:使用 CDN(如 Cloudflare) 分流恶意流量。 ✅ 分布式架构:增加服务器集群,缓解攻击压力。

SYN 泛洪攻击

概念

SYN Flood(SYN 泛洪)是一种 特殊的 DoS 攻击,攻击者伪造大量半开连接,耗尽服务器 TCP 连接资源,使其无法接受正常连接。

在 SYN 泛洪攻击中,恶意客户端发送大量 SYN 数据包(通常在握手的第一部分),但永远不会发送确认以完成握手。这使得服务器一直等待对于这些半开放的 TCP 连接的响应,而这些连接最终会耗尽容量,造成服务器无法接受跟踪连接状态的新连接。

攻击原理

  1. 攻击者伪造源 IP,不断向服务器发送 SYN 请求,诱导服务器创建 TCP 连接。
  2. 服务器返回 SYN-ACK 并等待客户端响应(正常情况下客户端应回复 ACK)。
  3. 攻击者不回复 ACK,导致服务器一直等待,最终资源耗尽。

防范措施

✅ SYN Cookie:服务器在收到 SYN 请求时,不立即分配资源,而是计算一个加密的 Cookie 作为客户端的初步身份验证,只有合法的客户端返回正确的 Cookie,服务器才真正建立连接,从而防止恶意攻击者耗尽服务器资源。 ✅ 缩短超时时间:减少未完成连接的保持时间,释放资源。 ✅ 防火墙规则:限制单 IP 的 TCP 连接数。 ✅ 启用 DDoS 保护服务:如 Cloudflare、AWS Shield,检测异常流量并进行自动缓解。

参考

Search

    Table of Contents