<h1 align="center">Java Object Searcher | java内存对象搜索辅助工具</h1>
<p align="center">
<img title="portainer" src='https://img.shields.io/badge/version-0.1.0-brightgreen.svg' />
<img title="portainer" src='https://img.shields.io/badge/java-1.7.*-yellow.svg' />
<img title="portainer" src='https://img.shields.io/badge/license-MIT-red.svg' />
</p>
## 0x01 工具简介
```
#############################################################
Java Object Searcher v0.01
author: c0ny1<root@gv7.me>
github: http://github.com/c0ny1/java-object-searcher
#############################################################
```
配合IDEA在Java应用运行时,对内存中的对象进行搜索。比如可以可以用挖掘request对象用于回显,辅助构造java内存webshell等场景。
## 0x02 知识储备
使用之前必须了解的三个概念
#### 2.1 搜索器
根据要搜索什么样的对象,选择对应的搜索器,目前项目有三类。
* JavaObjectSearcher 普通搜索器
* SearchRequstByBFS 通过广度优先搜索requst对象搜索器
* SearchRequstByRecursive 通过深度优先搜索requst对象搜索器(递归实现)
#### 2.2 关键字 & 黑名单
关键字是搜索目标对象的关键,可以目标三个属性`属性名`(field_name),`属性值`(field_value)和`属性类型`(field_type)。
比如想搜索属性名为table同时属性值为test的对象,还搜索属性名`request`同时属性类型包含`RequestInfo`关键字的,对应的逻辑表达试如下:
```$xslt
(field_name = table & field_value = test) || (field_name = request & field_type = RequestInfo)
```
编写代码如下:
```java
List<Keyword> keys = new ArrayList<>();
keys.add(new Keyword.Builder().setField_name("table").setField_type("test").build());
keys.add(new Keyword.Builder().setField_name("request").setField_type("RequestInfo").build());
```
黑名单是定义哪些属性中不可能存有要搜索的目标对象,防止无意义的搜索,浪费时间。如果把上面的例子当做黑名单,编写的代码也是类似的。
```java
List<Blacklist> blacklists = new ArrayList<>();
blacklists.add(new Blacklist.Builder().setField_name("table").setField_value("test").build());
blacklists.add(new Blacklist.Builder().setField_name("request").setField_type("RequestInfo").build());
```
## 0x03 使用步骤
**1. 将`java-object-searcher-<version>.jar`引入到目标应用的classpath中,或者可以放在jdk的ext目录(一劳永逸)**
**2. 编写调用代码搜索目标对象**
以搜索request对象为例,选好搜索器,并根据要搜索的目标特点构造好关键字(必须)和黑名单(非必须),可写如下搜索代码到IDEA的`Evaluate`中执行。
```java
//设置搜索类型包含Request关键字的对象
List<Keyword> keys = new ArrayList<>();
keys.add(new Keyword.Builder().setField_type("Request").build());
//定义黑名单
List<Blacklist> blacklists = new ArrayList<>();
blacklists.add(new Blacklist.Builder().setField_type("java.io.File").build());
//新建一个广度优先搜索Thread.currentThread()的搜索器
SearchRequstByBFS searcher = new SearchRequstByBFS(Thread.currentThread(),keys);
// 设置黑名单
searcher.setBlacklists(blacklists);
//打开调试模式,会生成log日志
searcher.setIs_debug(true);
//挖掘深度为20
searcher.setMax_search_depth(20);
//设置报告保存位置
searcher.setReport_save_path("D:\\apache-tomcat-7.0.94\\bin");
searcher.searchObject();
```
## 0x04 更多
* [半自动化挖掘request实现多种中间件回显](http://gv7.me/articles/2020/semi-automatic-mining-request-implements-multiple-middleware-echo/)
## 0x05 404StarLink 2.0 - Galaxy
![](https://github.com/knownsec/404StarLink-Project/raw/master/logo.png)
`java-object-searcher`是`404Team` [星链计划2.0](https://github.com/knownsec/404StarLink2.0-Galaxy)中的一环,如果对java-object-searcher有任何疑问又或是想要找小伙伴交流,可以参考星链计划的加群方式。
- [https://github.com/knownsec/404StarLink2.0-Galaxy#community](https://github.com/knownsec/404StarLink2.0-Galaxy#community)
没有合适的资源?快使用搜索试试~ 我知道了~
Java 对象搜索器 - java内存对象搜索辅助工具
共25个文件
java:20个
xml:1个
mf:1个
需积分: 0 0 下载量 174 浏览量
2023-10-30
18:46:16
上传
评论
收藏 139KB ZIP 举报
温馨提示
Java 对象搜索器 | java内存对象搜索辅助工具 肖像画家 肖像画家 肖像画家 0x01 工具简介 ############################################################# Java Object Searcher v0.01 author: c0ny1<root@gv7.me> github: http://github.com/c0ny1/java-object-searcher ############################################################# 配合IDEA在Java应用运行时,对内存中的对象进行搜索。比如可以用挖掘request对象进行回显,辅助java构造内存webshell等场景。 0x02 知识储备 使用之前必须了解的三个概念 2.1 搜索器 根据要搜索类型的对象,选择对应的搜索器,目前项目有三类。 JavaObjectSearcher普通搜索器 SearchRequstByBFS通过广度优先搜索requst对象搜索器 Search
资源推荐
资源详情
资源评论
收起资源包目录
java-object-searcher-master 2.zip (25个子文件)
java-object-searcher-master
pom.xml 2KB
src
test
java
Test4Searched.java 1KB
me
gv7
tools
josearcher
entity
KeywordTest.java 268B
BlacklistTest.java 355B
test
RecursionObject.java 9KB
EntityTest.java 354B
TestClass.java 774B
TestBaseClass.java 651B
searcher
SearchRequstByBFSTest.java 918B
JavaObjectSearcherTest.java 518B
DeptSearch.java 3KB
main
java
me
gv7
tools
josearcher
utils
LogUtil.java 924B
CommonUtil.java 2KB
CheckUtil.java 2KB
MatchUtil.java 5KB
entity
Blacklist.java 2KB
NodeT.java 2KB
Keyword.java 2KB
searcher
JavaObjectSearcher.java 11KB
SearchRequstByDFS.java 11KB
SearchRequstByBFS.java 14KB
META-INF
MANIFEST.MF 90B
.gitignore 378B
README.md 4KB
WechatIMG6903.jpg 123KB
共 25 条
- 1
资源评论
技术小羊
- 粉丝: 848
- 资源: 114
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Complex-YOLO点云上的实时 3D 物体检测 pytorch Darknet.zip
- 基于HOG+SVM的行人检测,包含三个python代码和一个训练好的模型Model,两张检测图片
- 扫雷游戏的实现,运行版本
- eclipse安装包eclipse-inst-jre-win64.zip
- HCIE数通V3.0宝典全面解析路由协议
- 基于AT89S52单片机数字音乐盒的设计.ASM
- caffe 中的 YOLOv3 模型.zip
- Android流式布局-开发类似网页的热门标签
- Android Live Demo 使用 ncnn 进行 Yolov7 推理.zip
- 像写SQL一样写ORM,链式方法调用,结合Lambda,枚举 灵活适应各种情况 使用不同种类数据库的实体生成器,支持:MySQL,MongoDb,Excel,一致性的调用方法 对数据进行分组,方便
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功