Skip to content

Commit 87c345d

Browse files
committed
更新README
1 parent b5fba86 commit 87c345d

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

README.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,40 +35,41 @@
3535

3636
编写代码如下:
3737

38-
```
38+
```java
3939
List<Keyword> keys = new ArrayList<>();
4040
keys.add(new Keyword.Builder().setField_type("table").setField_type("test").build());
4141
keys.add(new Keyword.Builder().setField_name("request").setField_type("RequestInfo").build());
4242
```
4343

44-
黑名单是定义那些属性中不可能包含要搜索的目标,防止无意义的搜索,浪费时间。如果把上面的例子当做黑名单,编写的代码也是类似的。
44+
黑名单是定义哪些属性中不可能存有要搜索的目标对象,防止无意义的搜索,浪费时间。如果把上面的例子当做黑名单,编写的代码也是类似的。
4545

46-
```$xslt
46+
```java
4747
List<Blacklist> blacklists = new ArrayList<>();
48-
blacklists.add(new Blacklist.Builder().setField_type("table").setField_value("test").build());
49-
blacklists.add(new Blacklist.Builder().setField_type("request").setField_type("RequestInfo").build());
48+
blacklists.add(new Blacklist.Builder().setField_name("table").setField_value("test").build());
49+
blacklists.add(new Blacklist.Builder().setField_name("request").setField_type("RequestInfo").build());
5050
```
5151

5252

5353
## 0x03 使用步骤
5454

5555
**1. 将项目的java引入到目标应用的classpath中**
5656

57-
**2. 在IDEA调试时,下好断点并在计算器中输入如下代码即可搜索**
57+
**2. 编写调用代码搜索目标对象**
5858

59-
在编写代码之前先选好搜索器,并根据要搜索的目标特点,然后构造好关键字(必须)和黑名单(非必须)。
59+
以搜索request对象为例,选好搜索器,并根据要搜索的目标特点构造好关键字(必须)和黑名单(非必须),可写如下搜索代码到IDEA的`Evaluate`中执行
6060

61-
```
62-
//设置搜索类型包含ServletRequest,RequstGroup,Request...等关键字的对象
61+
```java
62+
//设置搜索类型包含Request关键字的对象
6363
List<Keyword> keys = new ArrayList<>();
64-
keys.add(new Keyword.Builder().setField_type("ServletRequest").build());
65-
keys.add(new Keyword.Builder().setField_type("RequstGroup").build());
66-
keys.add(new Keyword.Builder().setField_type("RequestInfo").build());
67-
keys.add(new Keyword.Builder().setField_type("RequestGroupInfo").build());
6864
keys.add(new Keyword.Builder().setField_type("Request").build());
65+
//定义黑名单
66+
List<Blacklist> blacklists = new ArrayList<>();
67+
blacklists.add(new Blacklist.Builder().setField_type("java.io.File").build());
6968
//新建一个广度优先搜索Thread.currentThread()的搜索器
7069
SearchRequstByBFS searcher = new SearchRequstByBFS(Thread.currentThread(),keys);
71-
//打开调试模式
70+
// 设置黑名单
71+
searcher.setBlacklists(blacklists);
72+
//打开调试模式,会生成log日志
7273
searcher.setIs_debug(true);
7374
//挖掘深度为20
7475
searcher.setMax_search_depth(20);
@@ -77,5 +78,5 @@ searcher.setReport_save_path("D:\\apache-tomcat-7.0.94\\bin");
7778
searcher.searchObject();
7879
```
7980

80-
## 0x03 更多
81+
## 0x04 更多
8182
* [半自动化挖掘request实现多种中间件回显](http://gv7.me/articles/2020/semi-automatic-mining-request-implements-multiple-middleware-echo/)

0 commit comments

Comments
 (0)