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攻击是否成功 | 验证邮件内容、攻击是否如预期发生 | ★★★★☆ |
| |

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习