web常见的攻击方式有哪些?如何防御?

06-01 1233阅读

Web常见攻击方式及防御策略

SQL注入 (SQL Injection)

详细解析:

SQL 注入是一种利用应用程序未正确验证用户输入的漏洞,通过向应用传递恶意 SQL 查询来操纵数据库的行为。这种攻击可能导致敏感数据泄露、篡改或删除。

步骤:

  1. 攻击者找到可接受动态参数的应用程序入口点。
  2. 输入恶意 SQL 语句作为查询的一部分。
  3. 数据库执行该恶意查询,可能暴露敏感信息或允许未经授权的数据修改。

示例:

假设有一个登录表单,其后台代码如下:

$query = "SELECT * FROM users WHERE username='" . $_POST['username'] . "' AND password='" . $_POST['password'] . "'";

如果用户名字段被设置为 admin' --,则最终查询变为:

SELECT * FROM users WHERE username='admin' -- AND password=''

这会绕过密码验证。

防御方法:

  • 使用预处理语句(Prepared Statements)和参数化查询。
  • 对所有外部输入进行严格的校验和清理。
  • 避免显示详细的错误消息给终端用户。
    跨站脚本攻击 (XSS)

    详细解析:

    跨站脚本攻击是指攻击者将恶意 JavaScript 或其他类型的客户端脚本嵌入网页中,在受害用户的浏览器环境中运行这些脚本。它分为反射型 XSS 和存储型 XSS。

    步骤:

    对于 存储型 XSS, 参考引用中的描述:

    1. 攻击者将恶意代码提交到目标网站的数据库中。
    2. 用户访问页面时,服务器从数据库提取内容并将其渲染成 HTML 响应。
    3. 浏览器加载此响应后执行嵌入的恶意脚本。

    示例:

    在留言板功能中,攻击者发布一条包含 alert('Hacked') 的评论。当其他用户浏览这条留言时,他们的浏览器会弹出警告框。

    防御方法:

    • 实现上下文感知编码(Context-Aware Encoding),例如 HTML 编码、JavaScript 编码等。
    • 启用 Content Security Policy (CSP),限制哪些资源可以在页面上加载和执行。
      特点描述预防方法
      利用了HTML标签特性将恶意脚本插入到正常页面中被执行上下文编码, CSP

      跨站点请求伪造 (CSRF)

      详细解析:

      CSRF 是一种强制已认证用户在其不知情的情况下发起恶意请求的技术。由于大多数 Web 应用依赖 cookies 来维持身份验证状态,因此 CSRF 攻击能够轻易伪装合法操作。

      步骤:

      1. 攻击者诱导受害者点击链接或加载特定图像。
      2. 此动作触发了一个指向易受攻击网站的有效 HTTP 请求。
      3. 如果受害者当前处于登录状态,则该请求会被视为有效命令而被执行。

      示例:

      假设有银行转账接口 /transfer?amount=100&toAccount=attacker_account, 当用户访问了攻击者的恶意站点时,可能会自动发出这样的 GET 请求,从而完成资金转移。

      防御方法:

      • 添加一次性令牌至每个重要请求,并由服务器端验证。
      • 检查 Referer 头部以确认请求来源可信度。
        文件上传漏洞

        详细解析:

        文件上传漏洞发生在开发者未能充分过滤用户上传的内容类型及时机情况下发生的安全隐患。一旦成功利用,就有可能实现远程代码执行(RCE)或其他破坏行为。

        步骤:

        1. 提供一个看似无害却隐藏危险逻辑的文件(比如PHP木马).
        2. 成功上传之后尝试让服务端解释执行.

        示例:

        假如上传机制只简单检查扩展名为 .jpg 即认为安全,但实际上内部仍可能是 PHP 脚本形式存在的话,那么就可以轻松突破防线。

        防御方法:

        • 设置白名单限定允许上传的具体 MIME 类型.
        • 执行额外扫描检测潜在威胁成分.
        • 不直接保留原始命名路径以防目录遍历风险.
          特点描述预防方法
          关键在于文件性质判断失误导致非法文件得以存留并生效白名单控制,MIME匹配,病毒查杀工具辅助

          总结表格
          攻击名称特点描述预防方法
          SQL注入动态构建SQL字符串黑客可以通过构造特殊字符组合影响DB交互过程参数绑定/预编译;严格输入验证
          XSS客户端脚本植入在网页内嵌入恶意JS片段造成连锁反应输出转义;启用CSP
          CSRF冒充真实用户提交指令让授权下的账户无意间做出违背意愿的动作加密token随附关键交易环节
          文件上传漏洞错误识别所接收文档属性授权后的不当权限授予使得任意格式均可落地设定明确许可列表;二次审查

          图表总结

          web常见的攻击方式有哪些?如何防御?

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码