- 博客(122)
- 收藏
- 关注
原创 jwt安全问题
JWT的全称是,遵循JSON格式,跨域认证解决方案,声明被存储在客户端,而不是在服务器内存中,服务器不保留任何用户信息,只保留密钥信息,通过使用特定加密算法验证token,通过token验证用户身份,基于token的身份验证可以替代传统的cookie+session身份验证方法。jwt就是可以用来验证身份的东西。
2023-09-01 10:58:54
530
1
原创 [NSSCTF 2nd]
Apache HTTP Server 存在路径遍历漏洞,该漏洞源于发现 Apache HTTP Server 2.4.50 版本中对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。的指定端口发送信息,所以我们可以伪造一个post数据包,去探测80端口。可以任意文件写入,但是需要绕过waf,这里重点是。,这个版本有一个rce漏洞。
2023-08-30 22:01:33
675
原创 jwt安全问题
JWT的全称是,遵循JSON格式,跨域认证解决方案,声明被存储在客户端,而不是在服务器内存中,服务器不保留任何用户信息,只保留密钥信息,通过使用特定加密算法验证token,通过token验证用户身份,基于token的身份验证可以替代传统的cookie+session身份验证方法。jwt就是可以用来验证身份的东西。
2023-08-30 18:54:31
284
原创 [HarekazeCTF2019]Easy Notes-代码审计
会被替换为空,所以最终文件名就符合session文件的格式了,session文件名可控。目录下面,所以我们可以尝试session伪造一下,伪造一个session文件。如果我们能够控制session文件,就可以拿到flag了。登录之后有几个功能点,可以添加节点,然后使用。我们发现想要拿到flag的条件时。这里可以看到,导出的文件也是写到。会生成16进制字符串,
2023-08-24 21:18:13
305
原创 【java安全】FastJson反序列化漏洞浅析
前面我们学习了RMI和JNDI知识,接下来我们就可以来了解一下FastJson反序列化了FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以将JSON字符串反序列化到JavaBean。
2023-08-24 16:27:40
2024
原创 【java安全】JNDI注入概述
是Java提供的Java命名和目录接口。通过调用JNDI的API可以定位资源和其他程序对象。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。
2023-08-24 16:26:56
1623
原创 FFI绕过disable_functions
如果我们要调用C标准库里面的system函数(先不考虑PHP自己实现了system函数),我们就使用cdef去加载,cdef会把存放system函数功能的动态链接库libc加载到内存里面,这样PHP的进程空间里就有了这个system,这也是disable_functions里面过滤了system函数,但是结果的payload里面仍然还使用了system的原因,因为我们是。所以此处的思想就是使用PHP代码来调用c代码的方式,先声明c中的命令执行函数,然后通过FFI变量调用该c函数即可bypass。
2023-08-24 16:25:44
726
原创 【java安全】Log4j反序列化漏洞
Log4j是Apache的开源项目,可以实现对System.out等打印语句的替代,并且可以结合spring等项目,实现把日志输出到控制台或文件等。本文介绍的Log4j反序列化漏洞都是由于未对传入的需要发序列化的数据进行过滤,导致了恶意构造从而造成相关的反序列化漏洞。方法进行反序列化,并且整个步骤没有任何过滤,因此当我们传入的数据为恶意的cc链就可以触发反序列化漏洞了。我们运行一下这个类,它会监听本地的7777端口,然后我们需要将数据传递进去。这里和上面类似,也会将接受到的数据以。的构造方法,返回一个。
2023-08-18 14:13:24
2445
原创 环境变量提权
PATH是Linux和类Unix操作系统中的环境变量,它指定了存储所有可执行程序的bin和sbin目录。当用户在终端运行任何命令时,它向shell发出请求,在环境变量的帮助下搜索可执行文件以响应用户执行的命令。超级用户通常还具有/sbin和/usr /sbin条目,以便轻松执行系统管理命令。使用echo命令就能轻易的查看和当前用户相关的环境变量。
2023-08-16 15:11:33
359
原创 【NepCTF2023】复现
复现完这题学到了很多关于内网中代理等知识,学到了venom工具构造socks5代理,使用proxifier的方式打开工具,有点像给系统加了一个代理。
2023-08-16 14:29:31
5266
2
原创 [内网渗透]CFS三层靶机渗透
在MSF中开启监听,与Target2建立连接,这里需要注意,上一次代理使用的reverse_tcp是MSF作为监听,让Target1连到我们,而这次代理使用的bind_tcp是Target2作为监听,我们需要连到Target2,这个逻辑正好是相反的。我们可以设置一个路由,然后把我们的请求通过Target1的vmnet1网段发出,然后重定向转发到vmnet2网段,这样kali的msf就可以与22网段(Target2)互通了。(新开一个终端后,我们需要在这个新开的msf终端上配置一个代理,然后修改。
2023-08-12 21:10:24
1443
原创 [RoarCTF 2019Online Proxy]sql巧妙盲注
如果我们传递一个sql进入XFF中,然后第二次随便输入一个值,将sql存入数据库,第三次再输入同一个值,就会发生sql查询,将之前的sql语句查询出来,造成。就是将字符串转为16进制,再转为10进制,读出来,最后重新将10进制转为16进制,最后转为字符串,利用的就是。首先通过sql查询,将部分结果拿出,然后转为16进制,再转为10进制。这个函数是将16进制数字转为字节,然后decode()解码为字符。这个脚本非常的巧妙,与我之前接触的脚本不同,这个脚本可以通过。的返回结果取出,转为16进制,最后转为字符。
2023-08-09 22:48:08
678
原创 Misc取证学习
Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证。Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。这里就有个盲区知识点,在挂载输入密码的时候,不同的密码可以进入不同的文件系统。首先我们拿到镜像的题目的第一步是需要判断当前的镜像信息,分析是哪个操作系统。
2023-08-06 22:56:53
608
原创 [剑龙]stegosaurus隐写
隐写,使用github的脚本:https://github.com/AngelKitty/stegosaurus。有密码了并且还有一张照片,我们就会想到一些需要密码的隐写了:steghide、outguess等。
2023-08-06 15:57:15
719
原创 [BabysqliV3.0]phar反序列化
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ST1jvadM-1691302941344)(https://raw.githubusercontent.com/leekosss/photoBed/master/202308032140269.png)]我们可以控制文件名的参数,并且获取文件名的文件内容。就会将phar反序列化,获得flag。随便上传一个文件,获取token。难点主要是需要绕过:token。开始以为是sql注入。
2023-08-06 14:22:59
732
原创 [Web_Unagi]xxe注入过滤绕过
提示我们需要上传文件,并且flag在根目录下,但是上传上去发现被过滤了,我们需要想办法绕过。编码,所以我们可以把文件转为。很明显使用xxe注入。
2023-08-06 14:21:41
640
原创 NodeJS vm&vm2沙箱逃逸
在讲沙箱逃逸之前,我们需要了解一下什么是沙箱。沙箱就是一个集装箱,把你的应用装到沙箱里去运行,这样应用与应用之间就产生了边界,不会相互影响。当我们运行一些可能产生危害的程序时,我们不能直接在主机上运行。我们可以单独开辟一个运行代码的环境,这个环境就是沙箱,它与主机相互隔离,但使用主机的资源,但有危害的代码在沙箱内运行只会对沙箱内部产生一些影响,不影响主机的功能。
2023-08-05 15:58:58
1825
原创 【java安全】原生反序列化利用链JDK7u21
进行反序列化利用。我们肯定会想,如果不利用第三方类库,能否进行反序列化利用链呢?这里还真有:JDK7u21。但是只适用于java 7u及以前的版本在使用这条利用链时,需要设置jdk为jdk7u21。
2023-08-03 18:18:35
3607
1
原创 【java安全】无Commons-Collections的Shiro550反序列化利用
如果两个不同版本的库使用了同一个类,而这两个类可能有一些方法和属性有了变化,此时在序列化通 信的时候就可能因为不兼容导致出现隐患。因此,Java在反序列化的时候提供了一个机制,序列化时会 根据固定算法计算出一个当前类的serialVersionUID值,写入数据流中;反序列化时,如果发现对方的环境中这个类计算出的serialVersionUID不同,则反序列化就会异常退出,避免后续的未知隐患。
2023-08-03 11:59:49
2027
原创 【java安全】CommonsBeanUtils1
在之前我们学习了,它是java中的一个优先队列,队列的每个元素都有优先级,在反序列化这个对象的时候,为了保证队列顺序,会将队列中的元素进行排序,从而调用了接口的compare()方法,进而执行恶意反序列化操作我们能不能找到除了之前提到的类以外的其他可以利用的对象?我们需要了解一下。
2023-08-02 17:47:45
1297
原创 [安洵杯-不是文件上传]代码审计+文件上传+insert注入
的话,当helper对象会序列化就会读取flag的内容,并且输出,这是利用点。如图成功转为字符串,所以我们插入16进制就会转为字符串插入到数据库,这样取出来就可以成功反序列化啦。经过序列化后的值,所以我们需要构造一下,将该值替换为恶意构造的序列化串。在这个函数中会执行sql语句,将输入插入到字符串,但是这里存在。默认的值是图片的宽高数组序列化后的值,没法控制输入。在upload()函数中,会将相关信息保存在。我们需要构造一个特定值序列化后的串,然后经过。属性的值先替换一下然后反序列化,这个属性就是。
2023-07-31 13:29:31
386
原创 session反序列化+SoapClientSSRF+CRLF
从一道题分析通过session反序列化出发SoapClientSSRF利用CRLF解题这一个题目的综合性还是挺强的,感觉挺巧妙,用到了session反序列化,php内置类SSRF+CRLF的技巧。
2023-07-31 02:02:13
929
原创 php://filter绕过死亡exit
最近写了一道反序列化的题,其中有一个需要通过去绕过死亡exit()的小trick,这里通过一道题目来讲解。
2023-07-30 21:41:12
1396
原创 [内网渗透]SUID提权
suid(set uid)是linux中的一种特殊权限,suid可以让调用者以文件拥有者身份运行该文件,所以利用suid提权的核心就是运行root用户所拥有的suid的文件,那么运行该文件的时候就得获得root用户的身份了。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义在执行过程中,调用者会暂时获得该文件的属主权限,且该权限只在程序执行的过程中有效。通俗的来讲,假设我们现在有一个可执行文件/bin/find,其属主为root。当我们通过非root用户登录时,如果。
2023-07-28 20:47:24
887
原创 CTF线下赛AWD知识点【持续完善ing】
即攻防对抗,比赛中每个队伍维护多台服务器(一般两三台,视小组参赛人数而定),服务器中存在多个漏洞(web层、系统层、中间件层等),利用漏洞攻击其他队伍可以进行得分,加固时间段可自行发现漏洞对服务器进行加固,避免被其他队伍攻击失分。在AWD中,一般都需要专门防御加固自己服务器的环节,但加固的很多操作都会涉及到root权限,如果直接给root权限最好,但一般只会给一个普通权限账号,这时候往往就需要给服务器提权了。,可以利用脚本发生大量垃圾数据包,混淆视觉,给对方人员增加检测的难度,浪费对方的时间。
2023-07-28 15:51:04
1957
原创 [vulnhub]DC2
即受限制的 bash经过查询发现可以使用rbash逃逸在这个靶机中我们可以使用这种方法:在vi:shell或者通过DC2靶机了解到了很多东西,例如cewl工具可以根据网页的关键字生成自定义字典,例如想要寻找WordPress的漏洞可以使用wpscan工具来扫描,想要破解密码可以使用hydrarbash,需要rbash提权到bash来,还了解了一个git提权,当sudo -l列出的可特权执行的命令中git不需要密码,就可以git提权。
2023-07-26 19:28:29
736
原创 【java安全】RMI
RMI远程方法调用,是java独立的一种机制。RMI的作用就是在一个java虚拟机调用另一个java虚拟机上对象的方法在网络传输的过程中,RMI中对象是通过序列化的形式进行编码传输,既然有序列化,必然会有反序列化,RMI服务端在接收到序列化后的会将对象进行反序列化。在反序列化攻击中,我们可能找不到反序列化的点,那么使用RMI就可以作为反序列化利用链的触发点 *****
2023-07-25 16:41:08
1441
原创 pearcmd.php文件包含妙用
是PHP中用于管理扩展而使用的命令行工具,而pear是pecl依赖的类库。在7.4及以后,需要我们在编译PHP的时候指定。这样我们就可以从远程服务器上下载shell到靶机上了,使用文件包含注意将路径url编码。不过,在Docker任意版本镜像中,pcel/pear都会被默认安装,安装的路径在。必须传入两个参数,第一个参数传入绝对路径,第二个参数传入想要保存的文件名。运行,如果存在文件包含漏洞,就可以运行这个命令行工具。此处我们传入的第一个参数不是一个绝对路径,所以不行。这样,在文件包含下,我们就可以运行。
2023-07-24 22:59:15
1905
原创 xpath注入漏洞
今天碰到一个ctf题目,是有关xpath盲注的,之前从没了解过,所以学习了一下,写博客记录下来XPath即为XML路径语言,它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力xpath注入类似于sql注入,是由于解释器的容错特性导致,当网站使用未经正确处理的用户输入查询 XML 数据时,可能发生 XPATH 注入easy,不难,熟练一下就好了,重要的要写盲注脚本。
2023-07-24 19:58:43
520
原创 [巅峰极客2023]wp复现
简单的说,就是通过查询多个大的表,导致产生笛卡尔积,造成查询数量多,所以会产生延时的效果。没写出这题的原因,以为只能通过逃逸改变属性值,结果可以反序列化对象里的对象。都被过滤了,我们怎么才能够一边查询多表导致笛卡尔积,一边进行盲注呢?等等,普通的延时注入肯定不行,关键词都被ban了。对象的序列化字符串,由于对象成员变量的权限是。序列化后字符串的形式了,接下来我们只需要闭合。,这个是8进制的写法,然后编码之后就能转为。的字符,该字符不可见(也算作一个字符)可以重复14次,就逃逸出28个字符了,
2023-07-24 16:33:06
1029
原创 [内网渗透]DC1
这个代码可以获得交互式的shell这个命令是一个基于 Python 的简单技巧,用于在当前终端创建一个交互式的伪终端(PTY)。它可以用于提升当前终端的特权,以便执行更高级的操作。具体来说,这个命令的作用是导入pty模块,并使用函数来创建一个交互式的 Bash shell。/bin/bash是一个常见的 Bash shell 的路径,在这个命令中被传递给函数。执行这个命令后,会话将转变为一个具有完整的交互式 Shell 功能的终端,您可以在其中执行各种命令,浏览文件系统,编辑文件等等。
2023-07-21 21:41:19
96
原创 [内网渗透]oscp(SUID提权)
命令时,应谨慎行事,确保只在必要的情况下使用超级用户权限,并仔细验证和审查要执行的命令,以防止意外或不安全的操作。SUID可以让程序调用者以文件拥有者的身份运行该文件,当我们以一个普通用户去运行一个root用户所有的SUID文件,那么运行该文件我们就可以获取到root权限。需要在脚本中以特权身份运行某些命令:如果您正在编写一个Shell脚本,并且需要在脚本中执行一些需要特权的命令,可以将。这样做后,您可以在该特权的Bash shell中运行命令,拥有更高的系统权限。需要注意的是,在使用。
2023-07-20 23:09:11
512
原创 [java安全]CommonsCollections2
是一个重要的辅助开发库。包含了⼀些Java中没有的数据结构和和辅助方法,不过随着Java 9以后的版本中原⽣库功能的丰富,以及反序列化漏洞的影响,它也在逐渐被升级或替代。在2015年cc链被提出时,commons-collections:commons-collections(当时版本3.2.1)org.apache.commons:commons-collections4(当时版本4.0)
2023-07-20 17:05:51
744
原创 [java安全]TemplatesImpl在Shiro550反序列化
其实Shiro550反序列化的不同点就是不能为数组,但是我们经过链子的巧妙传参发现可以去除掉,这样原本两个元素的数组变成一个元素,就不需要使用数组了文末我编写了一个结合的POC,可以在jdk1.7、1.8的某些版之前使用(貌似是8u71),没有使用,而是改用了。
2023-07-20 00:09:36
227
原创 [java安全]类加载器&CommonsCollections3
前面我们学习了等等cc链,这里我们学习第三条链子,这里需要用到类,由于这个类会使用到一些类加载器中相关的知识,所以我们需要先学习一些类加载器知识需要注意的是,类对加载的字节码是有要求的,这个字节码对应的类必须是类的子类所以我们构造一个特殊的类,继承类我们执行一下,得到结果:是一个可以加载字节码的类,通过调用方法,可以执行这段字节码的类构造方法。
2023-07-18 23:26:44
789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人