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
2、利用验证XSS漏洞常用的弹窗语句,在文本框中输入
1 |
|
点击“搜索”按钮,验证页面是否弹框
3、页面成功弹窗
5、返回到http://ip/xss/03/xss.html页面,利用验证XSS漏洞其他弹窗语句,在文本框中输入““,点击“搜索”按钮,验证页面是否弹框
6、页面成功弹窗
7、利用验证XSS漏洞其他弹窗语句,在文本框中输入”“,点击“搜索”按钮,验证页面是否弹框
8、页面成功弹窗
实验总结
通过本实验,掌握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
2、输入Username:admin和Password:password,登陆靶场
3、首先选中”DVWA Security”,调整级别为”Low”级别提交
4、选中”XSS(Reflected)”,跳转到反射型XSS环境下
5、在文本框内输入
1 |
|
点击“Submit”,提交输入的payload,弹框,触发XSS漏洞
6、右击,查看页面源代码
7、点击快捷键“Ctrl + F”,在代码中搜索
1 |
|
发现提交的payload被写进了页面的代码中
8、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击”XSS(Reflected)”,无任何反应,说明反射型XSS是非持久性的
存储型XSS
1、选中”XSS(Stored)”,跳转到存储型XSS环境下
2、在留言板中填写payload
3、点击“Sign Guestbook”,提交填写的payload,弹框,触发XSS漏洞
4、点击“确定”,右击,查看页面源代码
5、点击快捷键“Ctrl + F”,在代码中搜索
1 |
|
发现提交的payload被写进了页面的代码中
6、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击”XSS(Stored)”,再次弹框,说明存储型XSS是持久性的
DOM型XSS
1、选中”XSS(DOM)”,跳转到DOM型XSS环境下
2、点击“Select”,提交选择的数据
3、在URL中的default的值更改为
1 |
|
提交payload,弹框,触发XSS漏洞
4、点击“确定”,右击,查看页面源代码
5、点击快捷键“Ctrl + F”,在代码中搜索
1 |
|
发现提交的payload未写进页面的代码中
6、切换为靶场页面,点击其他任意位置,比如点击“CSRF”,然后再点击”XSS(DOM)”,无任何反应,说明DOM型XSS是非持久性的
实验总结
通过本实验,掌握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
2、在搜索框的位置,输入“sangfor”,点击搜索按钮,查看页面变化
3、提交的内容显示在页面中
4、返回搜索框页面,构造弹框语句
1 |
|
查看页面是否弹窗
5、点击“搜索”,页面成功弹窗
6、点击“确定”,右击,查看页面源代码,发现提交的payload成功写入页面中,并且是非持久型XSS,说明是反射型XSS
实验总结
通过本实验,掌握反射型XSS的特点,根据挖掘出来的该XSS漏洞是非持久性的,并且数据流量走向是浏览器到后端,再到浏览器,提交的payload成功写入页面中,结合XSS漏洞不同分类的方法,验证反射型XSS的特点。
反射型XSS
实验目的
通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞属于什么类型的。
实验环境
- 操作机:Win10
用户名:Administrator
密码:Sangfor!7890 - 靶机:Apache + PHP
- 实验地址:http://ip/webug/pentest/test/9/
实验原理
在页面点击,找到URL中传参位置,构造Payload使其弹框,根据不同分类特点判断漏洞类型。
实验步骤
1、登陆”Attack”操作机,打开浏览器,访问http://ip/webug/pentest/test/9/
2、页面没有任何信息,只有一个超链接,点击超链接,发现URL中有传参的位置
3、将URL中的参数值更改为“xss”,发现页面中的数据更改
4、将URL中的参数值更改为XSS验证的payload
1 |
|
页面弹框
5、点击“确定”,右击,查看页面源代码,发现提交的payload被写入页面中
6、返回网站页面,点击超链接,页面未弹框,需要重新提交payload,说明该网站的XSS漏洞是非持久性的,从而判断出该网站的XSS漏洞是反射型XSS
实验总结
通过本实验,掌握挖掘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
2、在文本框的位置,输入“sangfor”,点击提交按钮,查看页面变化
3、页面显示“1”,访问http://ip/xss/05/result.php?id=1,查看页面变化
4、页面显示提交的内容,说明通过id的访问可以将提交的内容调用,显示到页面中
5、返回提交内容页面,构造弹框语句
1 |
|
查看页面是否弹窗
6、点击“提交”,页面没有弹窗,访问http://ip/xss/05/result.php?id=3,查看页面变化
6、页面成功弹窗,并且是持久性的xss
实验总结
通过本实验,掌握存储型XSS的特点,根据挖掘出来的该XSS漏洞是持久性的,并且数据流量走向是浏览器到后端到数据库,再到后端到浏览器,提交的payload成功写入数据库中,结合XSS漏洞不同分类的方法,验证存储型XSS的特点。
存储型XSS漏洞挖掘
实验目的
通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞属于什么类型的。
实验环境
- 操作机:Win10
用户名:Administrator
密码:Sangfor!7890 - 靶机:Apache + PHP
- 实验地址:http://ip/webug/pentest/test/10/
实验原理
在页面留言板位置,构造Payload使其弹框,根据不同分类特点判断漏洞类型。
实验步骤
1、登陆”Attack”操作机,打开浏览器,访问http://ip/webug/pentest/test/10/
2、页面只有留言板,在留言板中输入“xss”,提交留言
3、在留言板中提交payload
1 |
|
页面弹框
4、点击“确定”,刷新页面,再次弹框,不需要重新提交payload,说明该网站的XSS漏洞是持久性的,从而判断出该网站的XSS漏洞是存储型XSS
实验总结
通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,判断挖掘出来的XSS漏洞是持久性的,用户每次访问该页面都会触发弹框,属于存储型XSS。
DOM型XSS
实验目的
通过本实验,掌握XSS漏洞的原理以及根据XSS漏洞不同分类的方法,掌握DOM型XSS的特点。
实验环境
- 操作机:Win10
用户名:Administrator
密码:Sangfor!7890 - 靶机:Apache + PHP
- 实验地址:http://ip/xss/06/index.php
实验原理
在页面URL的位置,传入”message”参数,从而构造Payload使其弹框,掌握DOM型XSS的特点。
实验步骤
1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/06/index.php
2、页面没有任何有用信息,只是把URL地址输入在页面中,右键,查看页面源代码
3、从代码中可以看出需要传递“message”的参数,并截取参数后的值写入到页面中,返回页面给“message”参数传递一个值
4、将“message”参数的值改为payload
1 |
|
弹框
5、点击“确定”,右击,查看页面源代码,发现提交的payload未写入页面中,说明是DOM型XSS
实验总结
通过本实验,掌握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
2、页面没有任何有用信息,在URL中传入name参数并赋值,访问http://ip/xss/06/dom1.php?name=sangfor,页面显示name参数的值
3、构造XSS验证语句,传入name参数,成功弹框
实验总结
通过本实验,掌握挖掘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
2、在文本框中输入任意字符串,比如“xss”,然后点击“替换”,页面字符串发生替换
3、构造XSS验证语句
1 |
|
输入文本框,成功弹框
实验总结
通过本实验,掌握挖掘XSS漏洞的方法以及根据XSS漏洞不同分类的特点,构造XSS验证语句,使页面弹框;判断挖掘出来的XSS漏洞是非持久性的,用户每次访问该页面都需要构造一次payload才会触发弹框,属于DOM型XSS。
XSS Payload构造及变形
实验目的
通过本实验,掌握构造各种XSS的Payload,从而绕过XSS的防护,使其弹框,挖掘XSS漏洞。
实验环境
- 操作机:Win10
用户名:Administrator
密码:Sangfor!7890 - 靶机:Apache + PHP
- 实验地址:http://ip/xss/07/index.php
实验原理
在页面中,网站通常会对用户的输入进行过滤,可以构造各种不同的Payload以及对Payload进行变形,使其绕过验证进行弹框,挖掘XSS漏洞。
实验步骤
1、登陆”Attack”操作机,打开浏览器,访问http://ip/xss/07/index.php
Payload构造
2、在文本域中输入构造的Payload,利用【<>】构造标签
3、利用HTML标签的属性值
4、利用事件
Payload变形
5、大小写
6、引号
7、【/】代替空格
8、Tab与回车
9、编码
实验总结
通过本实验,掌握Web网站在对用户输入进行过滤,但是过滤不严格时,可以构造各种不同的Payload以及对XSS的Payload进行变形,使其绕过过滤机制,使网站弹框,从而挖掘XSS漏洞。