XSS验证

实验目的

通过本实验,掌握XSS漏洞的原理以及XSS漏洞的验证方法。

实验环境

  • 操作机:Win10
    用户名:Administrator
    密码:Sangfor!7890
  • 靶机:Apache + PHP
  • 实验地址:http://ip/xss/03/xss.html

实验原理

构造弹窗的代码提交,浏览器在执行该代码后就会执行弹框的操作,弹框的目的是验证提交的JS代码是否被执行,从而验证XSS漏洞是否存在。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/03/xss.html
image.png

2、利用验证XSS漏洞常用的弹窗语句,在文本框中输入

1
<script>alert(/xss/)\</script>

点击“搜索”按钮,验证页面是否弹框
image.png

3、页面成功弹窗
image.png

5、返回到http://ip/xss/03/xss.html页面,利用验证XSS漏洞其他弹窗语句,在文本框中输入“,点击“搜索”按钮,验证页面是否弹框
image.png

6、页面成功弹窗
image.png

7、利用验证XSS漏洞其他弹窗语句,在文本框中输入”“,点击“搜索”按钮,验证页面是否弹框
image.png

8、页面成功弹窗
image.png

实验总结

通过本实验,掌握XSS漏洞的验证方法,通过构造弹框代码提交,查看页面是否弹框,从而验证页面是否存在XSS漏洞。

XSS漏洞分类

实验目的

通过本实验,掌握XSS的原理和利用方法,通过三个类型的不同演示掌握XSS的不同分类以及之间的区别。

实验环境

  • 操作机:Win10
    用户名:Administrator
    密码:Sangfor!7890
  • 靶机:Apache + PHP
  • 实验地址:http://ip/dvwa/login.php

实验原理

借助DVWA靶场,通过不同分类的演示效果,掌握XSS不同分类之间的区别。

实验步骤

反射型XSS

1、登陆”Attack”操作机,打开浏览器,访问http://ip/dvwa/login.php
image.png

2、输入Username:admin和Password:password,登陆靶场
image.png

3、首先选中”DVWA Security”,调整级别为”Low”级别提交
image.png
image.png

4、选中”XSS(Reflected)”,跳转到反射型XSS环境下
image.png

5、在文本框内输入

1
<script>alert(666)</script>

点击“Submit”,提交输入的payload,弹框,触发XSS漏洞
image.png
image.png

6、右击,查看页面源代码
image.png
image.png

7、点击快捷键“Ctrl + F”,在代码中搜索

1
alert

发现提交的payload被写进了页面的代码中

image.png

8、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击”XSS(Reflected)”,无任何反应,说明反射型XSS是非持久性的
image.png
image.png

存储型XSS

1、选中”XSS(Stored)”,跳转到存储型XSS环境下
image.png

2、在留言板中填写payload
image.png

3、点击“Sign Guestbook”,提交填写的payload,弹框,触发XSS漏洞
image.png

4、点击“确定”,右击,查看页面源代码
image.png
image.png

5、点击快捷键“Ctrl + F”,在代码中搜索

1
alert

发现提交的payload被写进了页面的代码中
image.png

6、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击”XSS(Stored)”,再次弹框,说明存储型XSS是持久性的
image.png
image.png

DOM型XSS

1、选中”XSS(DOM)”,跳转到DOM型XSS环境下
image.png

2、点击“Select”,提交选择的数据
image.png

3、在URL中的default的值更改为

1
<script>alert(666)</script>

提交payload,弹框,触发XSS漏洞
image.png

4、点击“确定”,右击,查看页面源代码
image.png
image.png

5、点击快捷键“Ctrl + F”,在代码中搜索

1
alert

发现提交的payload未写进页面的代码中
image.png

6、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击”XSS(DOM)”,无任何反应,说明DOM型XSS是非持久性的
image.png
image.png

实验总结

通过本实验,掌握XSS的简单利用以及不同的分类之间的区别。

反射型XSS

实验目的

通过本实验,掌握XSS漏洞的原理以及根据XSS漏洞不同分类的方法,掌握反射型XSS的特点。

实验环境

  • 操作机:Win10
    用户名:Administrator
    密码:Sangfor!7890
  • 靶机:Apache + PHP
  • 实验地址:http://ip/xss/04/xss.html

实验原理

在页面的搜索框位置,输入内容后会输出到页面中,尝试构造弹窗语句,看代码是否执行,从而判断是否存在XSS漏洞。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/04/xss.html
image.png

2、在搜索框的位置,输入“sangfor”,点击搜索按钮,查看页面变化
image.png

3、提交的内容显示在页面中
image.png

4、返回搜索框页面,构造弹框语句

1
<script>alert(/xss/)\</script>

查看页面是否弹窗
image.png

5、点击“搜索”,页面成功弹窗
image.png

6、点击“确定”,右击,查看页面源代码,发现提交的payload成功写入页面中,并且是非持久型XSS,说明是反射型XSS
image.png

实验总结

通过本实验,掌握反射型XSS的特点,根据挖掘出来的该XSS漏洞是非持久性的,并且数据流量走向是浏览器到后端,再到浏览器,提交的payload成功写入页面中,结合XSS漏洞不同分类的方法,验证反射型XSS的特点。

反射型XSS

实验目的

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞属于什么类型的。

实验环境

实验原理

在页面点击,找到URL中传参位置,构造Payload使其弹框,根据不同分类特点判断漏洞类型。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/webug/pentest/test/9/
image.png

2、页面没有任何信息,只有一个超链接,点击超链接,发现URL中有传参的位置
image.png

3、将URL中的参数值更改为“xss”,发现页面中的数据更改
image.png

4、将URL中的参数值更改为XSS验证的payload

1
<script>alert(666)</script>

页面弹框
image.png
image.png

5、点击“确定”,右击,查看页面源代码,发现提交的payload被写入页面中
image.png
image.png

6、返回网站页面,点击超链接,页面未弹框,需要重新提交payload,说明该网站的XSS漏洞是非持久性的,从而判断出该网站的XSS漏洞是反射型XSS
image.png

实验总结

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞是非持久性的,且提交的payload会写入页面中,属于反射型XSS。

存储型XSS

实验目的

通过本实验,掌握XSS漏洞的原理以及根据XSS漏洞不同分类的方法,掌握存储型XSS的特点。

实验环境

  • 操作机:Win10
    用户名:Administrator
    密码:Sangfor!7890
  • 靶机:Apache + PHP
  • 实验地址:http://ip/xss/05/xss.html

实验原理

在页面的文本框位置,输入内容后会保存到数据库中,通过访问不同的id可以访问到内容,尝试构造弹窗语句插入到数据库中,再通过id访问调用弹框语句,看代码是否执行,从而判断是否存在XSS漏洞。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/05/xss.html
image.png

2、在文本框的位置,输入“sangfor”,点击提交按钮,查看页面变化
image.png

3、页面显示“1”,访问http://ip/xss/05/result.php?id=1,查看页面变化
image.png

4、页面显示提交的内容,说明通过id的访问可以将提交的内容调用,显示到页面中
image.png

5、返回提交内容页面,构造弹框语句

1
<script>alert(/xss/)\</script>

查看页面是否弹窗

image.png

6、点击“提交”,页面没有弹窗,访问http://ip/xss/05/result.php?id=3,查看页面变化
image.png

6、页面成功弹窗,并且是持久性的xss
image.png

实验总结

通过本实验,掌握存储型XSS的特点,根据挖掘出来的该XSS漏洞是持久性的,并且数据流量走向是浏览器到后端到数据库,再到后端到浏览器,提交的payload成功写入数据库中,结合XSS漏洞不同分类的方法,验证存储型XSS的特点。

存储型XSS漏洞挖掘

实验目的

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞属于什么类型的。

实验环境

实验原理

在页面留言板位置,构造Payload使其弹框,根据不同分类特点判断漏洞类型。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/webug/pentest/test/10/
image.png

2、页面只有留言板,在留言板中输入“xss”,提交留言
image.png
image.png

3、在留言板中提交payload

1
<script>alert(666)</script>

页面弹框
image.png
image.png
image.png

4、点击“确定”,刷新页面,再次弹框,不需要重新提交payload,说明该网站的XSS漏洞是持久性的,从而判断出该网站的XSS漏洞是存储型XSS
image.png

实验总结

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞是持久性的,用户每次访问该页面都会触发弹框,属于存储型XSS。

DOM型XSS

实验目的

通过本实验,掌握XSS漏洞的原理以及根据XSS漏洞不同分类的方法,掌握DOM型XSS的特点。

实验环境

实验原理

在页面URL的位置,传入”message”参数,从而构造Payload使其弹框,掌握DOM型XSS的特点。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/06/index.php
image.png

2、页面没有任何有用信息,只是把URL地址输入在页面中,右键,查看页面源代码
image.png
image.png

3、从代码中可以看出需要传递“message”的参数,并截取参数后的值写入到页面中,返回页面给“message”参数传递一个值
image.png

4、将“message”参数的值改为payload

1
<script>alert(666)</script>

弹框

image.png
image.png

5、点击“确定”,右击,查看页面源代码,发现提交的payload未写入页面中,说明是DOM型XSS
image.png

实验总结

通过本实验,掌握DOM型XSS的特点,根据挖掘出来的该XSS漏洞是非持久性的,并且数据流量走向是URL到浏览器,未经过后端,提交的payload未写入页面中,结合XSS漏洞不同分类的方法,验证DOM型XSS的特点。

DOM型XSS漏洞挖掘

实验目的

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞属于什么类型的。

实验环境

  • 操作机:Win10
    用户名:Administrator
    密码:Sangfor!7890
  • 靶机:Apache + PHP
  • 实验地址:http://ip/xss/06/dom1.php

实验原理

在页面URL的位置,传入”name”参数,从而构造Payload使其弹框,掌握DOM型XSS的特点。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/06/dom1.php
image.png

2、页面没有任何有用信息,在URL中传入name参数并赋值,访问http://ip/xss/06/dom1.php?name=sangfor,页面显示name参数的值
image.png

3、构造XSS验证语句,传入name参数,成功弹框
image.png

实验总结

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,构造XSS验证语句,使页面弹框;判断挖掘出来的XSS漏洞是非持久性的,用户每次访问该页面都需要构造一次payload才会触发弹框,属于DOM型XSS。

DOM型XSS漏洞挖掘

实验目的

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞属于什么类型的。

实验环境

  • 操作机:Win10
    用户名:Administrator
    密码:Sangfor!7890
  • 靶机:Apache + PHP
  • 实验地址:http://ip/xss/06/dom2.php

实验原理

在页面文本框的位置,传入提交的数据,从而构造Payload使其弹框,掌握DOM型XSS的特点。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/06/dom2.php
image.png

2、在文本框中输入任意字符串,比如“xss”,然后点击“替换”,页面字符串发生替换
image.png

3、构造XSS验证语句

1
<img src=1  _onerror=alert(1)>

输入文本框,成功弹框
image.png

实验总结

通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,构造XSS验证语句,使页面弹框;判断挖掘出来的XSS漏洞是非持久性的,用户每次访问该页面都需要构造一次payload才会触发弹框,属于DOM型XSS。

XSS Payload构造及变形

实验目的

通过本实验,掌握构造各种XSS的Payload,从而绕过XSS的防护,使其弹框,挖掘XSS漏洞。

实验环境

实验原理

在页面中,网站通常会对用户的输入进行过滤,可以构造各种不同的Payload以及对Payload进行变形,使其绕过验证进行弹框,挖掘XSS漏洞。

实验步骤

1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/07/index.php
image.png

Payload构造

2、在文本域中输入构造的Payload,利用【<>】构造标签
image.png
image.png

3、利用HTML标签的属性值
image.png
image.png
image.png

4、利用事件
image.png
image.png
image.png
image.png
image.png

Payload变形

5、大小写
image.png
image.png
image.png
image.png

6、引号
image.png
image.png
image.png
image.png
image.png
image.png

7、【/】代替空格
image.png
image.png

8、Tab与回车
image.png
image.png
image.png
image.png
image.png

9、编码
image.png
image.png
image.png
image.png
image.png
image.png

实验总结

通过本实验,掌握Web网站在对用户输入进行过滤,但是过滤不严格时,可以构造各种不同的Payload以及对XSS的Payload进行变形,使其绕过过滤机制,使网站弹框,从而挖掘XSS漏洞。