开启靶场,访问主页,看到了这么个博客,用Wappalyzer简单的做了一下指纹识别,再配合F12查看源码,最终找到了博客的框架版本。上网搜索一下Typecho 1.0/14.10.10的nday利用,最终找到这么一篇文章:https://blog.csdn.net/weixin_43886198/article/details/111474906,完美符合条件,搭配上文章中提到的poc,我们向install.php发送特定请求,数据包内容如下
123456789101112131415POST /install.php?finish HTTP/1.1Host: 106.14.212.180User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Langua...
靶机:10.10.10.213,只开了80和135这两个端口。
访问一下http服务,没发现什么比较有趣的东西,是个静态站,扫目录也没扫出来什么东西,基本不考虑从web端撕口子了,去看一下RPC服务
试着用rpcclient匿名访问裸连,失败无果
1rpcclient -U "" -N 10.10.10.213
再试着用下rpcmap尝试获取远程RPC的端点信息,重点关注我单列出来的MSDCOM这里,经过brute-opnums最终发现 99FCFEC4-5260-101B-BBCB-00AA0021347A存在可调用的操作数(就是存在可调用的方法),我们去官网查一查它的资料 。(诶,为什么MS-RPCE不查呢?我感觉这两个对象差不多啊)
12345678impacket-rpcmap ncacn_ip_tcp:10.10.10.213[135]//查询服务器10.10.10.213上端口135的RPC服务的。它会显示每个服务的UUID,版本号,绑定字符串和注释绑定字符串是用来描述如何连接到RPC服务的信息,比如协议,地址,端口等。[ncacn_ip_t...
打开靶机,得到IP:10.10.11.181。用nmap扫描一下,因为我其实是看着wp写的,这里就不装模做样的等着从头开始扫了。不管怎么说,最后得到的结果如下
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748PORT STATE SERVICE VERSION53/tcp open domain Simple DNS Plus80/tcp open http Microsoft IIS httpd 10.0|_http-server-header: Microsoft-IIS/10.0|_http-title: Absolute| http-methods: |_ Potentially risky methods: TRACE88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2023-09-21 16...
原理什么的,都还算比较简单,其中一部分可以归类到任意setter/getter调用这一块
环境准备java环境是jdk8u66的pom.xml
123456789101112131415161718192021<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <...
启动靶机得到IP:10.10.10.161,常规套路nmap扫一下得到以下端口信息
12345678910111213PORT STATE SERVICE VERSION 53/tcp open domain Simple DNS Plus 88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2023-03-31 07:49:08Z) 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: htb.local, Site: Default-First-Site-Name) 445/tcp open microsoft-ds Window...
恍惚中,7月闲谈,已是将近两个月前的事情了。为匹配这两个月来百无聊赖的空茫时光,也为了疏散一下心中的郁积,终究还是决定把手搁在键盘上,敲一些萎靡木讷似是而非的文字,以此来记录一下近两个月的生活。
时间线可以追溯到7月闲谈写完的第三天,或者说,追溯到8月的第一通电话。电话的对面是个男人,虽然并未谋面,但仅凭声音也能知道此人绝非善茬。通话的过程并不算长,你来我往之间也不过寥寥数语,是碧桂园打来的催租电话,催我交下个月的房租。挂闭电话,心里说不出是什么感受,只觉茫然而机械。按照计划来讲,这本不应该是问题,因为八月底就要开学的缘故,租期本就打算只开展一个月,住完这个月就找个酒店续续命,把工期给熬过去。非要多说有什么值得注意的地方的话,就是记得提前15天把押金给退了而已,一切就和中介安排的一样妥当。我又打去电话与中介进行了交涉,也是到此才发觉以往想当然的计划处处存在纰漏。首先第一点,提前15天把租金退了的说法,本身并不准确,这里的15天其实是中介给自己预估找到下家转租的时间,如果15天后中介并未找到下家,那么仍然需要你当个冤大头来给房东兜底交房租。除此之外,原本想的下个月房租不交,把这...
BCEL介绍BCEL(Byte Code Engineering Library)是一个用于分析、修改和创建Java字节码的开源库。它提供了一组强大的工具和API,可用于动态修改和生成Java类文件。BCEL的主要功能包括以下几个方面:
字节码分析:BCEL可以加载和解析现有的Java类文件,提供了访问类、方法、字段和指令等各种元素的接口。通过这些接口,开发人员可以深入研究类的内部结构和操作指令,从而进行静态分析和检查。
字节码修改:BCEL允许开发人员直接修改已加载的类文件的字节码。可以添加、删除或修改类、方法和字段,并重新保存修改后的文件。这使得BCEL成为处理字节码的有力工具,广泛应用于AOP(面向切面编程)等领域。
字节码生成:BCEL还提供了一组API,用于动态生成新的Java类文件。开发人员可以使用BCEL创建类、方法、字段和操作指令,然后将其编译成有效的字节码文件。这对于编写动态代理、字节码增强等需要在运行时生成类的场景非常有用。
反序列化和代码执行:BCEL在测试反序列化漏洞和执行动态生成的代码时非常有用。它可以帮助分析和处理序列化的对象,并提供了执行相关操作的...
本科学的毕竟是软工,关于Thymeleaf多少还是了解的。就一模板引擎,和Jinja2是一个性质的东西。一些基本的使用和概念这里就不多赘述,直接开始分析。
环境准备pom.xml
1234567891011121314151617181920212223242526272829303132333435363738394041<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVe...
运行靶机,获得IP:10.10.11.174用nmap对该ip进行全端口扫描,得到以下关键端口信息,大体能推测这是一台仿DC的靶机因为445端口是开着的,我们先尝试用smbclient连一下,看看有没有empty password
1231. smbclient -L 10.10.11.1742. smbclient \\\\10.10.11.174\\support-tools 3. get UserInfo.exe.zip
这里是在support-tools 的共享下发现了空密码,也是成功下载了UserInfo.exe.zip
下载下来之后,咱们把UserInfo.exe.zip解压到特定目录下,用file命令查看下该文件属性,得到以下信息,发现是.NET程序,按照常理来讲,这个时候我们的流程应该是用dnspy做逆向查看下这个文件究竟是何方神圣,然后欢欣雀跃的发现这是一个ldap通信程序,接着再拿gpt写解密脚本把ldap服务器的用户和密码都给破译出来,链接上dc的ldap服务再接着做渗透。但博主的逆向水平实在薄弱,咱们直接上wireshark抓ldap的绑定包查看用户密码也...
前置知识
RPC协议
和之前学过的RMI协议有相似之处,都是用于实现远程调用的协议,类似于API调用的封装协议。不同的地方在于信息传输过程中对于所传递信息的编码处理上。RPC客户端在传递过程中首先会组织一个请求消息,包含了要调用的远程方法的名称、参数等信息。然后,根据RPC协议的规定,将这些信息按照特定的二进制格式进行编码。当RPC服务端收到传递信息之后,再根据RPC协议规定进行解码还原。
除了在编码格式上存在差异以外,RPC协议与RMI协议在应用范围上也相差甚远。由于RPC协议使用 HTTP 或 TCP/IP 等底层网络协议进行通信,所以RPC协议并不会如RMI协议一样收到语言的限制,不仅仅是Java中可以使用RPC协议,Python等语言同样可以使用RPC协议
Hessian协议
Hessian协议是RPC协议的一种具体的实现方式,是一种用于远程过程调用的二进制协议,通过紧凑的二进制格式实现高效的数据传输,同时具备跨平台的兼容性,适用于各种分布式系统和跨语言集成的场景。
Hessian反序列化器总结
环境准备pom.xml
12345<depende...