xss学习6

一、获得Cookie发送邮件
1. 编写mail.js
  • 目的: 创建一个JavaScript脚本,用于获取cookie并通过邮件发送。
  • 代码实现:
    • 创建一个图片元素 img,设置其宽度和高度为0,使其不可见。
    • 将图片的 src 属性设置为指向 sendmail.php 的URL,并附带当前页面的cookie作为参数。
2. 编写sendmail.php
  • 目的: 编写PHP脚本,接收JavaScript传来的cookie,并通过邮件发送。
  • 代码实现:
    • 使用PHPMailer组件发送邮件。
    • 从GET请求中获取cookie。
    • 配置邮件服务器(如SMTP服务器、端口、用户名、密码等)。
    • 设置邮件内容并发送。
3. 修改PHP版本
  • 注意: PHP版本必须为7,否则邮件发送功能无法正常工作。
  • 修改方法: 在PHP集成环境(如phpstudy)中调整PHP版本。
4. 修改邮箱账号和授权码
  • 目的: 配置邮件发送所需的邮箱账号和授权码。
  • 配置内容:
    • 发件人邮箱地址和授权码。
    • 收件人邮箱地址(可与发件人相同)。
  • 授权码获取: 登录邮箱账号,在账户设置中的POP3/SMTP服务中开启并获取授权码。
5. 注入脚本
  • 目的: 将编写好的JavaScript脚本注入到目标网页中,以便获取cookie。
  • 注入方式: 将脚本代码插入到网页的HTML中,通常通过XSS漏洞实现。
6. 生成Cookie
  • 目的: 在目标域名下生成cookie,以便JavaScript脚本能够获取。
  • 代码实现:
    • 使用PHP的 setcookie 函数设置cookie。
    • Cookie的名称为 name,值为用户名,并设置过期时间。
7. 查看Cookie
  • 目的: 确认cookie已成功生成,并查看cookie的内容。
  • 查看方式:
    • 通过浏览器的开发者工具查看当前页面的cookie。
    • 确认存在名为 name 的cookie,并检查其值是否正确。
  • 结果: 成功获取到cookie,并通过邮件发送。邮件内容包含cookie信息,如 name:wuuuuyaaaa='s cookie'。
二、知识小结

|----------------|------------------------------------------|----------------------|-------|
| 知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
| JavaScript脚本注入 | 通过JavaScript脚本注入到网页,获取用户cookie | 如何制作并执行注入脚本 | ★★★☆☆ |
| Cookie获取与邮件发送 | 使用JavaScript获取cookie,并通过PHP mailer组件发送邮件 | PHP版本要求、邮箱授权码获取与配置 | ★★★★☆ |
| PHP版本调整 | 在PHP study集成环境中调整PHP版本至7 | PHP版本对邮件发送的影响 | ★★☆☆☆ |
| 邮箱授权码 | 在QQ邮箱中开启POP3/SMTP服务,获取授权码 | 授权码与QQ密码的区别及安全性 | ★★★☆☆ |
| 存储型XSS攻击 | 在网页中注入恶意脚本,当用户访问时执行 | 如何避免XSS攻击被过滤、确保脚本执行 | ★★★★☆ |
| Cookie生成与测试 | 手动设置cookie以测试XSS攻击效果 | 为什么需要手动设置cookie、如何设置 | ★★★☆☆ |
| 攻击效果验证 | 通过邮件接收情况验证XSS攻击是否成功 | 验证邮件内容、攻击是否如预期发生 | ★★★★☆ |
| |

相关推荐
月盈缺6 分钟前
学习嵌入式的第四十四天——ARM——I2C
arm开发·学习
百锦再34 分钟前
从 .NET 到 Java 的转型指南:详细学习路线与实践建议
android·java·前端·数据库·学习·.net·数据库架构
ASKED_20191 小时前
ChatGPT From Zero To Hero - LLM学习笔记(一)
笔记·学习·chatgpt
GoldenaArcher1 小时前
Postman 学习笔记 III:CLI 自动化测试与 Jenkins CI/CD 实践
笔记·学习·postman
一只小风华~2 小时前
命名视图学习笔记
前端·javascript·vue.js·笔记·学习
(●—●)橘子……2 小时前
记力扣2271.毯子覆盖的最多白色砖块数 练习理解
数据结构·笔记·python·学习·算法·leetcode
ThreeYear_s2 小时前
【FPGA+DSP系列】——(3)中断学习(以定时器中断为例)
单片机·学习·fpga开发
LFly_ice3 小时前
学习React-20-useId
前端·学习·react.js
eqwaak03 小时前
科技信息差(9.29)
开发语言·科技·学习·算法
脑洞代码4 小时前
20250929的学习笔记
笔记·学习