@@ -26,12 +26,7 @@ public class GraphBuilder {
2626 public static void buildAndReport (Object request , Object response ) {
2727 List <GraphNode > nodeList = build ();
2828 String report = convertToReport (nodeList , request , response );
29- if (null == report ){
30- EngineManager .ENTER_REPLAY_ENTRYPOINT .remove ();
31- return ;
32- }
3329 ThreadPools .sendPriorityReport (ApiPath .REPORT_UPLOAD , report );
34- EngineManager .ENTER_REPLAY_ENTRYPOINT .remove ();
3530 }
3631
3732 /**
@@ -79,66 +74,61 @@ public static List<GraphNode> build() {
7974 event .sourceTypes
8075 )
8176 );
82- }catch (Exception e ){
77+ } catch (Exception e ) {
8378 DongTaiLog .debug (e );
8479 }
8580 }
8681 return nodeList ;
8782 }
8883
8984 public static String convertToReport (List <GraphNode > nodeList , Object request , Object response ) {
90- try {
91- Map <String , Object > requestMeta = EngineManager .REQUEST_CONTEXT .get ();
92- Map <String , Object > responseMeta = response == null ? null : HttpImpl .getResponseMeta (response );
93- JSONObject report = new JSONObject ();
94- JSONObject detail = new JSONObject ();
95- JSONArray methodPool = new JSONArray ();
96-
97- report .put (ReportKey .TYPE , ReportType .VULN_SAAS_POOL );
98- report .put (ReportKey .VERSION , "v2" );
99- report .put (ReportKey .DETAIL , detail );
100-
101- detail .put (ReportKey .AGENT_ID , EngineManager .getAgentId ());
102- detail .put (ReportKey .PROTOCOL , requestMeta .getOrDefault ("protocol" , "unknown" ));
103- detail .put (ReportKey .SCHEME , requestMeta .getOrDefault ("scheme" , "" ));
104- detail .put (ReportKey .METHOD , requestMeta .getOrDefault ("method" , "" ));
105- detail .put (ReportKey .SECURE , requestMeta .getOrDefault ("secure" , "" ));
106- String requestURL = requestMeta .getOrDefault ("requestURL" , "" ).toString ();
107- if (null == requestURL ){
108- return null ;
109- }
110- detail .put (ReportKey .URL , requestURL );
111- String requestURI = requestMeta .getOrDefault ("requestURI" , "" ).toString ();
112- if (null == requestURI ){
113- return null ;
114- }
115- detail .put (ReportKey .URI , requestURI );
116- setURL (requestURL );
117- setURI (requestURI );
118- detail .put (ReportKey .CLIENT_IP , requestMeta .getOrDefault ("remoteAddr" , "" ));
119- detail .put (ReportKey .QUERY_STRING , requestMeta .getOrDefault ("queryString" , "" ));
120- detail .put (ReportKey .REQ_HEADER ,
121- AbstractNormalVulScan .getEncodedHeader ((Map <String , String >) requestMeta .getOrDefault ("headers" , new HashMap <String , String >())));
122- // 设置请求体
123- detail .put (ReportKey .REQ_BODY , request == null ? "" : HttpImpl .getPostBody (request ));
124- detail .put (ReportKey .RES_HEADER , responseMeta == null ? ""
125- : Base64Encoder .encodeBase64String (responseMeta .getOrDefault ("headers" , "" ).toString ().getBytes ())
126- .replaceAll ("\n " , "" ));
127- detail .put (ReportKey .RES_BODY , responseMeta == null ? "" : Base64Encoder .encodeBase64String (
128- getResponseBody (responseMeta )));
129- detail .put (ReportKey .CONTEXT_PATH , requestMeta .getOrDefault ("contextPath" , "" ));
130- detail .put (ReportKey .REPLAY_REQUEST , requestMeta .getOrDefault ("replay-request" , false ));
131-
132- detail .put (ReportKey .METHOD_POOL , methodPool );
133-
134- for (GraphNode node : nodeList ) {
135- methodPool .put (node .toJson ());
136- }
137-
138- return report .toString ();
139- } catch (Exception e ){
85+ Map <String , Object > requestMeta = EngineManager .REQUEST_CONTEXT .get ();
86+ Map <String , Object > responseMeta = response == null ? null : HttpImpl .getResponseMeta (response );
87+ JSONObject report = new JSONObject ();
88+ JSONObject detail = new JSONObject ();
89+ JSONArray methodPool = new JSONArray ();
90+
91+ report .put (ReportKey .TYPE , ReportType .VULN_SAAS_POOL );
92+ report .put (ReportKey .VERSION , "v2" );
93+ report .put (ReportKey .DETAIL , detail );
94+
95+ detail .put (ReportKey .AGENT_ID , EngineManager .getAgentId ());
96+ detail .put (ReportKey .PROTOCOL , requestMeta .getOrDefault ("protocol" , "unknown" ));
97+ detail .put (ReportKey .SCHEME , requestMeta .getOrDefault ("scheme" , "" ));
98+ detail .put (ReportKey .METHOD , requestMeta .getOrDefault ("method" , "" ));
99+ detail .put (ReportKey .SECURE , requestMeta .getOrDefault ("secure" , "" ));
100+ String requestURL = requestMeta .getOrDefault ("requestURL" , "" ).toString ();
101+ if (null == requestURL ) {
102+ return null ;
103+ }
104+ detail .put (ReportKey .URL , requestURL );
105+ String requestURI = requestMeta .getOrDefault ("requestURI" , "" ).toString ();
106+ if (null == requestURI ) {
140107 return null ;
141108 }
109+ detail .put (ReportKey .URI , requestURI );
110+ setURL (requestURL );
111+ setURI (requestURI );
112+ detail .put (ReportKey .CLIENT_IP , requestMeta .getOrDefault ("remoteAddr" , "" ));
113+ detail .put (ReportKey .QUERY_STRING , requestMeta .getOrDefault ("queryString" , "" ));
114+ detail .put (ReportKey .REQ_HEADER ,
115+ AbstractNormalVulScan .getEncodedHeader ((Map <String , String >) requestMeta .getOrDefault ("headers" , new HashMap <String , String >())));
116+ // 设置请求体
117+ detail .put (ReportKey .REQ_BODY , request == null ? "" : HttpImpl .getPostBody (request ));
118+ detail .put (ReportKey .RES_HEADER , responseMeta == null ? ""
119+ : Base64Encoder .encodeBase64String (responseMeta .getOrDefault ("headers" , "" ).toString ().getBytes ())
120+ .replaceAll ("\n " , "" ));
121+ detail .put (ReportKey .RES_BODY , responseMeta == null ? "" : Base64Encoder .encodeBase64String (
122+ getResponseBody (responseMeta )));
123+ detail .put (ReportKey .CONTEXT_PATH , requestMeta .getOrDefault ("contextPath" , "" ));
124+ detail .put (ReportKey .REPLAY_REQUEST , requestMeta .getOrDefault ("replay-request" , false ));
125+
126+ detail .put (ReportKey .METHOD_POOL , methodPool );
127+
128+ for (GraphNode node : nodeList ) {
129+ methodPool .put (node .toJson ());
130+ }
131+ return report .toString ();
142132 }
143133
144134 private static byte [] getResponseBody (Map <String , Object > responseMeta ) {
0 commit comments