@@ -52,7 +52,7 @@ def get_server_properties
52
52
return resp
53
53
end
54
54
55
- def user_add ( username , password , permissions , type )
55
+ def user_add ( username , password , permissions , type )
56
56
payload = {
57
57
:username => username ,
58
58
:password => password ,
@@ -62,15 +62,15 @@ def user_add(username,password,permissions,type)
62
62
}
63
63
request = Net ::HTTP ::Post . new ( "/users" )
64
64
request . set_form_data ( payload )
65
- request . add_field ( "X-Cookie" , @token )
65
+ request . add_field ( "X-Cookie" , @token )
66
66
resp = @connection . request ( request )
67
67
resp = JSON . parse ( resp . body )
68
68
return resp
69
69
end
70
70
71
71
def user_delete ( user_id )
72
72
request = Net ::HTTP ::Delete . new ( "/users/#{ user_id } " )
73
- request . add_field ( "X-Cookie" , @token )
73
+ request . add_field ( "X-Cookie" , @token )
74
74
resp = @connection . request ( request )
75
75
return resp . code
76
76
end
@@ -82,77 +82,77 @@ def user_chpasswd(user_id, password)
82
82
}
83
83
request = Net ::HTTP ::Put . new ( "/users/#{ user_id } /chpasswd" )
84
84
request . set_form_data ( payload )
85
- request . add_field ( "X-Cookie" , @token )
85
+ request . add_field ( "X-Cookie" , @token )
86
86
resp = @connection . request ( request )
87
87
return resp . code
88
88
end
89
89
90
90
def user_logout
91
91
request = Net ::HTTP ::Delete . new ( "/session" )
92
- request . add_field ( "X-Cookie" , @token )
92
+ request . add_field ( "X-Cookie" , @token )
93
93
resp = @connection . request ( request )
94
94
return resp . code
95
95
end
96
96
97
97
def list_policies
98
98
request = Net ::HTTP ::Get . new ( "/policies" )
99
- request . add_field ( "X-Cookie" , @token )
99
+ request . add_field ( "X-Cookie" , @token )
100
100
resp = @connection . request ( request )
101
101
resp = JSON . parse ( resp . body )
102
102
return resp
103
103
end
104
104
105
105
def list_users
106
106
request = Net ::HTTP ::Get . new ( "/users" )
107
- request . add_field ( "X-Cookie" , @token )
107
+ request . add_field ( "X-Cookie" , @token )
108
108
resp = @connection . request ( request )
109
109
resp = JSON . parse ( resp . body )
110
110
return resp
111
111
end
112
112
113
113
def list_folders
114
114
request = Net ::HTTP ::Get . new ( "/folders" )
115
- request . add_field ( "X-Cookie" , @token )
115
+ request . add_field ( "X-Cookie" , @token )
116
116
resp = @connection . request ( request )
117
117
resp = JSON . parse ( resp . body )
118
118
return resp
119
119
end
120
120
121
121
def list_scanners
122
122
request = Net ::HTTP ::Get . new ( "/scanners" )
123
- request . add_field ( "X-Cookie" , @token )
123
+ request . add_field ( "X-Cookie" , @token )
124
124
resp = @connection . request ( request )
125
125
resp = JSON . parse ( resp . body )
126
126
return resp
127
127
end
128
128
129
129
def list_families
130
130
request = Net ::HTTP ::Get . new ( "/plugins/families" )
131
- request . add_field ( "X-Cookie" , @token )
131
+ request . add_field ( "X-Cookie" , @token )
132
132
resp = @connection . request ( request )
133
133
resp = JSON . parse ( resp . body )
134
134
return resp
135
135
end
136
136
137
137
def list_plugins ( family_id )
138
138
request = Net ::HTTP ::Get . new ( "/plugins/families/#{ family_id } " )
139
- request . add_field ( "X-Cookie" , @token )
139
+ request . add_field ( "X-Cookie" , @token )
140
140
resp = @connection . request ( request )
141
141
resp = JSON . parse ( resp . body )
142
142
return resp
143
143
end
144
144
145
145
def plugin_details ( plugin_id )
146
146
request = Net ::HTTP ::Get . new ( "/plugins/plugin/#{ plugin_id } " )
147
- request . add_field ( "X-Cookie" , @token )
147
+ request . add_field ( "X-Cookie" , @token )
148
148
resp = @connection . request ( request )
149
149
resp = JSON . parse ( resp . body )
150
150
return resp
151
151
end
152
152
153
153
def is_admin
154
154
request = Net ::HTTP ::Get . new ( "/session" )
155
- request . add_field ( "X-Cookie" , @token )
155
+ request . add_field ( "X-Cookie" , @token )
156
156
resp = @connection . request ( request )
157
157
resp = JSON . parse ( resp . body )
158
158
if resp [ "permissions" ] == 128
@@ -164,7 +164,7 @@ def is_admin
164
164
165
165
def server_properties
166
166
request = Net ::HTTP ::Get . new ( "/server/properties" )
167
- request . add_field ( "X-Cookie" , @token )
167
+ request . add_field ( "X-Cookie" , @token )
168
168
resp = @connection . request ( request )
169
169
resp = JSON . parse ( resp . body )
170
170
return resp
@@ -182,7 +182,7 @@ def scan_create(uuid, name, description, targets)
182
182
}
183
183
request = Net ::HTTP ::Post . new ( "/scans" )
184
184
request . body = payload . to_json
185
- request . add_field ( "X-Cookie" , @token )
185
+ request . add_field ( "X-Cookie" , @token )
186
186
request [ "Content-Type" ] = "application/json"
187
187
resp = @connection . request ( request )
188
188
resp = JSON . parse ( resp . body )
@@ -191,52 +191,85 @@ def scan_create(uuid, name, description, targets)
191
191
192
192
def scan_launch ( scan_id )
193
193
request = Net ::HTTP ::Post . new ( "/scans/#{ scan_id } /launch" )
194
- request . add_field ( "X-Cookie" , @token )
194
+ request . add_field ( "X-Cookie" , @token )
195
195
resp = @connection . request ( request )
196
196
resp = JSON . parse ( resp . body )
197
197
return resp
198
198
end
199
199
200
200
def server_status
201
201
request = Net ::HTTP ::Get . new ( "/server/status" )
202
- request . add_field ( "X-Cookie" , @token )
202
+ request . add_field ( "X-Cookie" , @token )
203
203
resp = @connection . request ( request )
204
204
resp = JSON . parse ( resp . body )
205
205
return resp
206
206
end
207
207
208
208
def scan_list
209
209
request = Net ::HTTP ::Get . new ( "/scans" )
210
- request . add_field ( "X-Cookie" , @token )
210
+ request . add_field ( "X-Cookie" , @token )
211
+ resp = @connection . request ( request )
212
+ resp = JSON . parse ( resp . body )
213
+ return resp
214
+ end
215
+
216
+ def scan_details ( scan_id )
217
+ request = Net ::HTTP ::Get . new ( "/scans/#{ scan_id } " )
218
+ request . add_field ( "X-Cookie" , @token )
211
219
resp = @connection . request ( request )
212
220
resp = JSON . parse ( resp . body )
213
221
return resp
214
222
end
215
223
216
224
def scan_pause ( scan_id )
217
225
request = Net ::HTTP ::Post . new ( "/scans/#{ scan_id } /pause" )
218
- request . add_field ( "X-Cookie" , @token )
226
+ request . add_field ( "X-Cookie" , @token )
219
227
resp = @connection . request ( request )
220
228
resp = JSON . parse ( resp . body )
221
229
return resp
222
230
end
223
231
224
232
def scan_resume ( scan_id )
225
233
request = Net ::HTTP ::Post . new ( "/scans/#{ scan_id } /resume" )
226
- request . add_field ( "X-Cookie" , @token )
234
+ request . add_field ( "X-Cookie" , @token )
227
235
resp = @connection . request ( request )
228
236
resp = JSON . parse ( resp . body )
229
237
return resp
230
238
end
231
239
232
240
def scan_stop ( scan_id )
233
241
request = Net ::HTTP ::Post . new ( "/scans/#{ scan_id } /stop" )
234
- request . add_field ( "X-Cookie" , @token )
242
+ request . add_field ( "X-Cookie" , @token )
235
243
resp = @connection . request ( request )
236
244
resp = JSON . parse ( resp . body )
237
245
return resp
238
246
end
239
247
248
+ def scan_export ( scan_id , format )
249
+ payload = {
250
+ :format => format
251
+ }
252
+ request = Net ::HTTP ::Post . new ( "/scans/#{ scan_id } /export" )
253
+ request . body = payload . to_json
254
+ request [ "Content-Type" ] = "application/json"
255
+ request . add_field ( "X-Cookie" , @token )
256
+ resp = @connection . request ( request )
257
+ resp = JSON . parse ( resp . body )
258
+ return resp
259
+ end
260
+
261
+ def scan_export_status ( scan_id , file_id )
262
+ request = Net ::HTTP ::Get . new ( "/scans/#{ scan_id } /export/#{ file_id } /status" )
263
+ request . add_field ( "X-Cookie" , @token )
264
+ resp = @connection . request ( request )
265
+ if resp . code == "200"
266
+ return "ready"
267
+ else
268
+ resp = JSON . parse ( resp . body )
269
+ return resp
270
+ end
271
+ end
272
+
240
273
def policy_delete ( policy_id )
241
274
request = Net ::HTTP ::Delete . new ( "/policies/#{ policy_id } " )
242
275
request . add_field ( "X-Cookie" , @token )
0 commit comments