​# XSS漏洞(XSS跨站脚本攻击)

一、介绍

客户端攻击:客户端执行js恶意的脚本代码,从而影响客户端使用

服务端攻击:服务端管理员加载管理页面也可能受到攻击

HTTP方式访问:

1
2
3
钓鱼网站
游戏--游戏币--QQ上好友发送信息
www.qq.cn ---页面信息 --- 登录信息 --- 发送到邮箱

HTTPS方式访问:

1
www.qq.com --xss-- www.qq.com/test.php?javascripts恶意代码

二、产生原因

网站页面没有对输入输出的信息进行严格控制 可以加载恶意代码信息,从而对客户端用户造成威胁

三、造成的危害

1
2
3
4
5
1.会获取用户cookie信息
2.会让用户数据信息泄露
3.会获取用户登录信息
4.会让用户电脑加载木马程序
5.会记录用户键盘操作行为

四、跨站脚本攻击分类

1、反射型XSS或不持久型XSS(中危漏洞)

交互的数据一般不会被存在数据库里,只是简单的把用户输入的数据反射给浏览器,一次性,所见即所得

2、存储型XSS或持久型XSS(高危漏洞)

交互的数据会被存储在数据库里,永久性储存,具有很强的稳定性。会对访问网站页面的所有用户产生影响。

3、DOM XSS(低危漏洞/中危漏洞)

会在网站页面生成超链接信息,超链接信息中会自动加载恶意代码。

五、跨站脚本攻击存在的地方

  • HTML context 会出现javascripts恶意代码

    1、在HTML代码中包含对应的XSS漏洞代码信息:

1
2
3
4
5
6
7
<p> 
Hello {{Untrusted Date}} 变量=值(payload)
</p>

<p>
Hello script>alert("xss*)</script>
</p>
  • Attribute context
1
2
3
<img src =" image.png" alt=" {{Untruted Data}}”>
<input type =” text” value=" {{Untruted Data}}”>
<body onload=" {{Untruted Data}}">
  • URL Context

  • Style Context

六、跨站脚本攻击测试方法

  • 工具扫描:APPscan 、AWVS
  • 手工方式

补充:XSS跨站脚本攻击的原理?

  • 利用原有网站URL地址获取用户数据信息 cookie 用户登录信息
  • 利用自己网站URL地址获取用户数据信息 cookie 用户登录信息

七、Xss漏洞攻击payload

攻击代码:

1
<script>alert(1)</script>
1
onclick="alert(1)"
1
<Script>alert(1)</Script>
1
javascript:alert(1)