第四天作业

一、反射型、存储型、DOM型XSS特点和区别

  1. 反射型XSS

    • 特点:攻击者将恶意脚本嵌入到URL中,当用户访问该URL时,浏览器会执行其中的脚本。这种类型的XSS攻击通常用于钓鱼网站或诱使用户点击恶意链接。
    • 工作原理:攻击者构造一个包含恶意脚本的链接,诱使用户点击。用户点击后,服务器将恶意脚本反射到响应中,用户的浏览器执行这些脚本。
  2. 存储型XSS

    • 特点:攻击者在目标网站的数据存储区(如数据库、评论区等)中注入恶意脚本。一旦这些脚本被保存并显示给其他用户,任何访问该页面的人都会执行恶意脚本。
    • 工作原理:攻击者将恶意脚本注入到网站的数据库或文件系统中。当其他用户浏览受影响的页面时,恶意脚本从服务器端获取并执行。
  3. DOM型XSS

    • 特点:攻击者通过修改DOM结构,在用户的浏览器中执行恶意脚本。这种类型的XSS攻击通常发生在动态网页中,攻击者通过构造特定的URL或操作DOM元素来触发脚本执行。
    • 工作原理:恶意脚本在浏览器端执行,而不是在服务端执行。攻击者构造特殊的URL,将恶意代码注入到用户的浏览器中,当用户访问该URL时,浏览器解析并执行恶意代码。

防御措施

  • 对用户输入进行验证和过滤,确保数据符合预期格式,并对特殊字符进行转义或过滤。
  • 输出编码,对从数据库或用户输入中获取的数据进行输出编码,正确转义特殊字符。
  • 使用内容安全策略(CSP)限制资源加载和执行。
  • 设置cookie为HttpOnly,防止通过JavaScript访问cookie。

二、关于字典

各类字典:GitHub - oldboot/FuzzDicts: FuzzDicts 字典,一个就够了。icon-default.png?t=N7T8https://github.com/oldboot/FuzzDicts

字典的生成工具:

UserNameDictTools是一款能根据用户姓名、生日等信息。生成输入自己的专属密码字典。同时支持将中文汉字姓名转换为拼音格式,支持多达11种拼音格式的转换。

工具特色
  • 综合处理速度和准确度,选用了最新的拼音转换支持库。

  • 支撑转成11种格式的用户名拼音(大家有什么好的建议,可以在公众号后台给我发消息留言)

  • 对读入的中文汉字姓名列表文件进行编码识别,避免出现中文乱码问题。

  • 对生成的字典进行文本去重,保证没有重复结果。

  • 软件根目录放置了一个中文姓名字典,供大家使用。

使用指南

在作者的项目地址下载最新的工具包

项目地址:https://github.com/abc123info/UserNameDictTools/releases

三、打靶训练

开始,靶场网址欢迎来到XSS挑战 (tesla-space.com)

第一关

发现修改标签,网页也会随之改变

查看网站源码,可以发现get传参name的值test插入了html里头

输入<script>alert()</script>

第二关

查看源码

需要闭合掉双引号,构造payload

第三关

尝试搜索

再查看源码

符号也被实体化了,我们利用这个事件来绕过<>号的过滤已达到执行js的目的,构造payload           ' οnfοcus=javascript:alert() '

再次点击触发事件

第四关

查看源码

跟第三关用一样的,利用onfocus事件,构建payload

第五关

输入js语句,没有反应,发现语句被破坏

查看源码中,语句确实被破坏

用a标签的href 属性来构造

"><a href=javascript:alert(1)>test</a>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值