xss测试题的小总结

本文作者通过一道XSS测试题,探讨了浏览器对script标签的解析规则,并利用正则表达式的过滤特性进行了一系列测试。在发现不闭合标签可以避免过滤后,作者选择了img标签并利用onerror事件触发XSS攻击,最终成功弹出对话框。文章强调了在遇到问题时灵活思考的重要性,同时指出XSS与前端安全的密切关系,提醒读者要加强HTML和JavaScript的学习。
部署运行你感兴趣的模型镜像

function escape(input) {
    // tags stripping mechanism from ExtJS library
    // Ext.util.Format.stripTags
    var stripTagsRE = /<\/?[^>]+>/gi;
    input = input.replace(stripTagsRE, '');

    return '<article>' + input + '</article>';
}        

一开始拿到这道题觉得很懵,因为自己对正则表达式那一块不太熟练,只能读懂函数的大概意思是:将input这个字符串替换为与正则表达式匹配的字符串,百度了好久无果,开始在下面的输入框测试

这里写图片描述
这样就会看到,只要加了script标签并且给它闭合后,无论输入什么内容,浏览器在解析的时候都会自动把article标签下的script标签过滤掉只显示中间的文本内容,大致就可以推测出上文中的那一段代码中看不懂的正则表达式的目的也就是把一些东西过滤掉,于是又进行了下面的测试
这里写图片描述
可以看到只要不把标签闭合掉,在article标签下浏览器可以正常解析,但是script标签是需要闭合并且还要加反斜杠闭合的,因此,可以换另一种方法尝试,由于浏览器在解析html的时候会自动把标签后面闭合,于是我选择那种单个标签不需要反斜杠闭合的,例如选择 img 这个标签,再次进行测试
这里写图片描述
这次选择用alert方式去测试是否存在xss,页面出现弹框,表示测试成功(注意:#和onerror中间要用空格隔开),下面只需要将脚本中的alert(1)换成prompt(1)就好了
这里写图片描述

可以看到实验西成功了,这只是一个小小的实验,但是需要我们及时的去变通,有的啥时候换个方法就可以柳暗花明。通过这个小小的实验也可以看出xss真的是跟前端紧密相连,自己在html、以及js还有很多不会的东西,需要赶紧查漏补缺了。

-

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值