跨站脚本攻击(XSS)
XSS(Cross Site Scripting)攻击全称跨站脚本攻击,XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.
XSS原理
攻击者通过将代码注入被攻击者的网站中,用户一旦访问访问网页便会执行被注入的恶意脚本。
XSS防范
- 代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过滤;
- 避免直接在Cookie 中泄露用户隐私,例如email、密码等;并为Cookie添加HTTPOnly
- 变量输出到HTML时进行编码或转义
- 处理富文本(通过白名单,限制事件和标签的使用)
反射型:
反射型,又称非持久型,攻击具有一次性.
攻击方式:
通过邮件等形式将包含XSS代码的链接发送给正常用户,用户点击时,服务器接受请求并处理,然后把带有XSS的代码发送给用户,浏览器解析执行代码,触发XSS.
攻击示例:
盗取Cookie:
将恶意链接拼接到URL中,如:
http://172.0.0.1/Register.aspx?Company=
在链接被点击的时候加载成为页面最终显示的HTML文本,从而导致XSS攻击发生
如:
< http://172.0.0.1/Register.aspx?Company=1XSS is vulerable!!!!!!!!!!!! >
会在页面company中插入<1XSS%20is%20vulerable!!!!!!!!!!!! >
XSS检测:
构造一个独一无二且不会被识别为恶意代码的字符串用来提交到页面使用浏览器审查工具来进行审查,看构造的字符串是否在页面中显示
构造Payload
尝试大小写
使用
标签
<img src="1" onerror=eval("alert(/XSS/)")
使用标签
qq
test
aa
a
aa
<a href=kycg.asp?ttt=1000 onmouseover=prompt(/XSS/) y=2016>aa
使用标签
<input type="text" onkeyup="alert(/XSS/)"
使用标签
<from method=post action=aa.asp?onmouseover=prompt(/XSS/)><from method=post action=aa.asp?on<>mouseover=alert(/XSS/)
使用
使用
使用标签
使用
使用
标签
XSS
<p onmouseup="alert(/XSS/)"XSS
浙公网安备 33010602011771号