安卓渗透基础(root篇)
这里主要是以真机为测试环境,不使用模拟器,我这里用的是小米6,安卓版本为9
主要是学习一下和root相关的知识(顺便再水一篇博客)
前置知识一些相关的术语和root知识,可以看一下极客湾的ROOT指南:https://www.bilibili.com/video/BV1BY4y1H7Mc/?share_source=copy_web&vd_source=35d5dfeb47a963c5dbc7d7d4f9c17ca5,对我这个玩机小白肥肠友好
安卓分区大致分为五个分区:Boot、System、Data、Recovery、Cache
首先是Boot分区root的操作主要也是在修改Boot分区,还有一些比较底层的操作,比如改CPU调度、给GPU超频等也在这个分区
如果该分区损坏的话,就会导致启动卡在第一屏,也就是logo界面
System分区这里图很形象也不多说了,System分区要是损坏就会卡在开机第二屏也就是进不去操作系统了,卡在动画界面
Vendor分区现在会归并到System分区了,以前说是会独立出来
Data分区这个理解也很简单,就是平时各种的使用数据之类的
Cach ...
Hessian利用链
水一下博客,之前这篇写在本地了,现在放到博客方便用的时候看,因为前面nacos的时候用到了一些
这两条链子都是基于原生jdk的,不需要其他依赖
MultiUIDefaults利用链链子
javax.swing.MultiUIDefaults.toString UIDefaults.get UIDefaults.getFromHashTable UIDefaults$LazyValue.createValue SwingLazyValue.createValue javax.naming.InitialContext.doLookup()
toString的触发利用Hessian的异常toString来触发即可
这个链是从 MultiUIDefaults 的 toString 方法开始,一路调用到 SwingLazyValue 的 createValue(但是SwingLazyValue 好像在 jdk8 之后删了 ...
NCTF2025复现
当时没怎么打,现在来复现一下,也是学到蛮多东西
internal_api一个新学到的XSLeak侧信道攻击
参考文章:https://ek1ng.com/XSLeaks%20%E4%BE%A7%E4%BF%A1%E9%81%93%E6%94%BB%E5%87%BB.html,https://wiki.scuctf.com/ctfwiki/web/9.xss/xsleaks/
XSLeaks是什么
XS-Leaks 全称 Cross-site leaks,可以用来 探测用户敏感信息。
利用方式、利用条件等都和 csrf 较为相似。
说到探测用户敏感信息,是如何进行探测的?和csrf 相似在哪?
设想网站存在一个模糊查找功能(若前缀匹配则返回对应结果)例如 http://localhost/search?query=,页面是存在 xss 漏洞,并且有一个类似 flag 的字符串,并且只有不同用户查询的结果集不同。这时你可能会尝试 csrf,但是由于网站正确配置了 CORS,导致无法通过 xss 结合 csrf 获取到具体的响应。这个时候就可以尝试 XS-Leaks。
虽然无法获取响应的内容 ...
Nacos漏洞学习
前言最近在看Java微服务相关的知识,那就顺便学一下Nacos相关的漏洞
简介NACOS的官网:https://nacos.io/
Nacos 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
未授权访问漏洞(CVE-2021-29441)影响版本
Nacos <= 2.0.0-ALPHA.1或者<=1.4.0
漏洞详情
nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。
复现
这里直接用vulhub的环境即可
访问nacos/v1/auth/users?pageNo=1&pageSize=9接口
正常来说访问是403的,我们UA头加上Nacos-Server就可以绕过验证,此时就为200了
此时我们可以POST访问nacos/v1/auth/users接口,body为use ...
WebLogic学习
简介官方介绍:Oracle WebLogic Server 是一个统一的可扩展平台,专用于开发、部署和运行 Java 应用等适用于本地环境和云环境的企业应用。它提供了一种强健、成熟和可扩展的 Java Enterprise Edition (EE) 和 Jakarta EE 实施方式。类似于Tomcat、Jboss等。
环境搭建项目地址:https://github.com/QAX-A-Team/WeblogicEnvironment
weblogic安装地址:https://www.oracle.com/middleware/technologies/weblogic-server-downloads.html
较老的版本比如weblogic10在这里找:https://edelivery.oracle.com/osdc/faces/SoftwareDelivery
jdk安装地址:https://www.oracle.com/middleware/technologies/weblogic-server-downloads.html
有关WebLogic的基础知识可以看:https ...
Java远程调试
最近想看看weblogic,但是环境比较难搭建和调试,趁着这个机会,看一下java的各种代码远程调试的方法,很基础的东西了,一直没看。(顺便水一篇博客)
远程调试Jar包主要在只有jar包无源码的情况下进行调试。
这里以冰蝎的jar包为例子
随便开一个java项目,然后我们创建一个lib目录然后放入jar包
右键选择Add as Library,将lib文件夹添加进项目依赖
然后就可以看到jar包中反编译的源代码了
然后我们添加一个Remote JVM Debug的Configuration
然后默认配置Apply提交并保存即可,其中-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005将作为运行时的启动参数
然后将-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005作为启动参数运行jar包
suspend表示是否暂停程序等待调试器连接,”y”表示暂停,”n”表示不暂停,这里还是要选择暂停,上面默认的是不暂停导致我调 ...
BookManager复现
前言当时ciscn&长城杯场上的一题零解题,当时反编译看了一下这题的源码,发现是微服务形式的,有个ApiGateway,然后看了半天也找不到反序列化的点,甚至连请求哪个路由都不清楚🥲然后用的又是solon这个框架不熟悉,直接开摆了
后来看到有师傅解出来了,遂来复现一下
复现看了一下才发现网关这里限制了我们的路由前缀(没学过不太懂😭,怪不得直接getAllBooks什么都没有
直接问deepseek的解释如下:
这段代码实现了一个 API 网关,主要功能包括:
路由匹配:
所有以 /api/rest/ 开头的请求都会被该网关处理。
例如,/api/rest/book 会被映射到 BookServiceImpl 类。
前置逻辑:
在请求处理之前,设置默认的响应渲染格式为 JSON。
服务注册:
将 BookServiceImpl 类注册为处理 /api/rest/book 路径的服务。
这里可以看到用的是solon的2.5.12的版本,当时直接搜是没有搜到该版本的漏洞的,一搜反序列化基本都是2.5.11的
然后这位老哥是从github的issue翻到相 ...
DASCTF12月最后一战复现
2024年最后一次的das,web终于也是没有爆零了,最后一题的1解题看了gxn大哥的wp也是学到新东西了,这里记录一下
官方wp:https://www.yuque.com/chuangfeimeiyigeren/eeii37/oxv3gaim7fr89ed2?singleDoc
const_python题目源码:
import builtinsimport ioimport sysimport uuidfrom flask import Flask, request,jsonify,sessionimport pickleimport base64app = Flask(__name__)app.config['SECRET_KEY'] = str(uuid.uuid4()).replace("-", "")class User: def __init__(self, username, password, auth='ctfer'): self.username = usernam ...
再看Thymeleaf
再来水一篇Thymeleaf的ssti,起因是看到师兄以前出的题目,里面有一点小坑,索引就把Thymeleaf稍微高版本一些的漏洞再记录一下
thymeleaf高版本利用上一篇文章只说了3.0.11版本之前的利用,后几个版本的利用方式发生了变化,记录一下
thymeleaf和springboot对应的版本
SpringBoot Thymeleaf2.2.0.RELEASE 3.0.112.4.10 3.0.122.7.18 3.0.153.0.8 3.1.13.2.2 3.1.2
3.0.12版本利用打一下原来的payload看看报错
http://localhost:8081/doc/__$%7bnew%20java.util.Scanner(T(java.lang.Runtime).getRuntime().exec(%22calc.exe%22).getInputStream()).next()%7d__::.x
可以看到他识别出了表达式并禁止了表达式执行,我们可以从调用堆栈看到他报错的地方,在S ...
SPEL表达式注入
赶紧来补一下SPEL表达式注入,前面Thymeleaf本质用的就是SPEL表达式
简介Spring表达式语言(简称 SpEL,全称Spring Expression Language)是一种功能强大的表达式语言,支持在运行时查询和操作对象图。它语法类似于OGNL,MVEL和JBoss EL,在方法调用和基本的字符串模板提供了极大地便利,也开发减轻了Java代码量。另外 , SpEL是Spring产品组合中表达评估的基础,但它并不直接与Spring绑定,可以独立使用。
Demo示例package org.clown.springbootmemoryshell.contorller.spel;import org.springframework.expression.Expression;import org.springframework.expression.ExpressionParser;import org.springframework.expression.spel.standard.SpelExpressionParser;import org.springframewor ...