VM2沙箱逃逸
前置知识
JavaScript 和 Nodejs 之间有什么区别:JavaScript 用在浏览器前端,后来将 Chrome 中的 v8 引擎单独拿出来为 JavaScript 单独开发了一个运行环境,因此 JavaScript 也可以作为一门后端语言,写在后端(服务端)的 JavaScript 就叫叫做 Nodejs 。
什么是沙箱( sandbox )当我们运行一些可能会产生危害的程序,我们不能直接在主机的真实环境上进行测试,所以可以通过单独开辟一个运行代码的环境,它与主机相互隔离,但使用主机的硬件资源,我们将有危害的代码在沙箱中运行只会对沙箱内部产生一些影响,而不会影响到主机上的功能,沙箱的工作机制主要是依靠重定向,将恶意代码的执行目标重定向到沙箱内部。
沙箱( sandbox )和 虚拟机( VM )和 容器( Docker )之间的区别:sandbox 和 VM 使用的都是虚拟化技术,但二者间使用的目的不一样。沙箱用来隔离有害程序,而虚拟机则实现了我们在一台电脑上使用多个操作系统的功能。Docker 属于 sandbox 的一种,通过创造一个有边界的运行环境将程序放在里面,使 ...
MySQL UDF提权
漏洞介绍UDF( user defined function )用户自定义函数,是 MySQL 的一个扩展接口,称为用户自定义函数,是用来拓展 MySQL 的技术手段,用户通过自定义函数来实现在 MySQL 中无法实现的功能。文件后缀为 .dll 或 .so ,常用 c 语言编写。拿到一个 WebShell 之后,在利用操作系统本身存在的漏洞提权的时候发现补丁全部被修补。这个时候需要利用第三方应用提权。当 MYSQL ==权限比较高== 的时候我们就可以利用 udf 提权。
udf 提权本质上并不是真正意义上的提权,只是通过当前 mysql的运行权限 去执行系统命令,如果mysql 运行权限太低的话同样也没有特别大的意义!!!
利用前提
mysql 允许导入导出文件,也就是 secure_file_priv 的值为空(为空不是为 NULL )
高权限用户启动,如 root 。该账号需要有对数据库 mysql 的 insert 和 delete 权限,其实是操作里面的func 表,所以 func 表也必须存在。而且这样才能有权限写入文件到目标文 ...
代理模式
概念代理模式 Java 当中最常用的设计模式之一。其特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。而Java的代理机制分为静态代理和动态代理,而这里我们主要重点学习 java 自带的 jdk 动态代理机制。
静态代理在讲动态代理之前,我们先了解下什么是静态代理。静态代理在编译使用时,定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类。我们用一个出租房子作为实例讲解。
==静态代理的本质就是多态。==
定义一个接口:
123public interface Rental { public void sale();}
委托类,实现接口的方法
123456public class Entrust implements Rental{ @Override public void sale() { System.out.println("出租房子"); ...