20
20
import de .rub .nds .tlsattacker .core .workflow .WorkflowTraceUtil ;
21
21
import de .rub .nds .tlsattacker .core .workflow .action .ReceiveTillAction ;
22
22
import de .rub .nds .tlsattacker .core .workflow .action .SendAction ;
23
+ import de .rub .nds .tlsattacker .core .workflow .factory .WorkflowConfigurationFactory ;
23
24
import de .rub .nds .tlsscanner .config .ScannerConfig ;
24
25
import de .rub .nds .tlsscanner .constants .ProbeType ;
25
26
import de .rub .nds .tlsscanner .report .SiteReport ;
@@ -111,7 +112,9 @@ private int getClientHelloLength(ClientHelloMessage message, Config config) {
111
112
112
113
private boolean hasExtensionIntolerance () {
113
114
Config config = getWorkingConfig ();
114
- WorkflowTrace trace = new WorkflowTrace ();
115
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
116
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
117
+
115
118
ClientHelloMessage message = new ClientHelloMessage (config );
116
119
UnknownExtensionMessage extension = new UnknownExtensionMessage ();
117
120
extension .setTypeConfig (new byte []{(byte ) 3F , (byte ) 3F });
@@ -126,7 +129,8 @@ private boolean hasExtensionIntolerance() {
126
129
127
130
private Boolean hasBigClientHelloIntolerance () {
128
131
Config config = getWorkingConfig ();
129
- WorkflowTrace trace = new WorkflowTrace ();
132
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
133
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
130
134
config .setAddPaddingExtension (true );
131
135
config .setPaddingLength (65535 );
132
136
ClientHelloMessage message = new ClientHelloMessage (config );
@@ -139,7 +143,8 @@ private Boolean hasBigClientHelloIntolerance() {
139
143
140
144
private Boolean hasIgnoresSigHashAlgoOfferingBug () {
141
145
Config config = getWorkingConfig ();
142
- WorkflowTrace trace = new WorkflowTrace ();
146
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
147
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
143
148
config .setAddSignatureAndHashAlgorithmsExtension (false );
144
149
List <CipherSuite > suiteList = new LinkedList <>();
145
150
for (CipherSuite suite : CipherSuite .getImplemented ()) {
@@ -163,7 +168,8 @@ private Boolean hasIgnoresSigHashAlgoOfferingBug() {
163
168
164
169
private Boolean hasIgnoresNamedGroupsOfferingBug () {
165
170
Config config = getWorkingConfig ();
166
- WorkflowTrace trace = new WorkflowTrace ();
171
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
172
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
167
173
config .setAddSignatureAndHashAlgorithmsExtension (true );
168
174
List <CipherSuite > suiteList = new LinkedList <>();
169
175
for (CipherSuite suite : CipherSuite .getImplemented ()) {
@@ -191,7 +197,8 @@ private Boolean hasIgnoresNamedGroupsOfferingBug() {
191
197
192
198
private void adjustCipherSuiteSelectionBugs () {
193
199
Config config = getWorkingConfig ();
194
- WorkflowTrace trace = new WorkflowTrace ();
200
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
201
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
195
202
ClientHelloMessage message = new ClientHelloMessage (config );
196
203
message .setCipherSuites (Modifiable .explicit (new byte []{(byte ) 0xEE , (byte ) 0xCC }));
197
204
trace .addTlsAction (new SendAction (message ));
@@ -216,7 +223,8 @@ private void adjustCipherSuiteSelectionBugs() {
216
223
217
224
private Boolean hasSignatureAndHashAlgorithmIntolerance () {
218
225
Config config = getWorkingConfig ();
219
- WorkflowTrace trace = new WorkflowTrace ();
226
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
227
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
220
228
config .setAddSignatureAndHashAlgorithmsExtension (false );
221
229
List <CipherSuite > suiteList = new LinkedList <>();
222
230
for (CipherSuite suite : CipherSuite .getImplemented ()) {
@@ -240,7 +248,8 @@ private Boolean hasSignatureAndHashAlgorithmIntolerance() {
240
248
241
249
private Boolean hasNamedGroupIntolerance () {
242
250
Config config = getWorkingConfig ();
243
- WorkflowTrace trace = new WorkflowTrace ();
251
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
252
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
244
253
config .setAddSignatureAndHashAlgorithmsExtension (true );
245
254
List <CipherSuite > suiteList = new LinkedList <>();
246
255
for (CipherSuite suite : CipherSuite .getImplemented ()) {
@@ -273,7 +282,8 @@ private Boolean hasNamedGroupIntolerance() {
273
282
274
283
private Boolean hasOnlySecondCiphersuiteByteEvaluatedBug () {
275
284
Config config = getWorkingConfig ();
276
- WorkflowTrace trace = new WorkflowTrace ();
285
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
286
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
277
287
ClientHelloMessage message = new ClientHelloMessage (config );
278
288
ByteArrayOutputStream stream = new ByteArrayOutputStream ();
279
289
for (CipherSuite suite : CipherSuite .values ()) {
@@ -296,7 +306,8 @@ private Boolean hasOnlySecondCiphersuiteByteEvaluatedBug() {
296
306
297
307
private Boolean hasEmptyLastExtensionIntolerance () {
298
308
Config config = getWorkingConfig ();
299
- WorkflowTrace trace = new WorkflowTrace ();
309
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
310
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
300
311
ClientHelloMessage message = new ClientHelloMessage (config );
301
312
ExtendedMasterSecretExtensionMessage extension = new ExtendedMasterSecretExtensionMessage ();
302
313
message .getExtensions ().add (extension );
@@ -310,7 +321,8 @@ private Boolean hasEmptyLastExtensionIntolerance() {
310
321
private Boolean hasVersionIntolerance () {
311
322
312
323
Config config = getWorkingConfig ();
313
- WorkflowTrace trace = new WorkflowTrace ();
324
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
325
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
314
326
ClientHelloMessage message = new ClientHelloMessage (config );
315
327
message .setProtocolVersion (Modifiable .explicit (new byte []{0x03 , 0x05 }));
316
328
trace .addTlsAction (new SendAction (message ));
@@ -322,7 +334,8 @@ private Boolean hasVersionIntolerance() {
322
334
323
335
private Boolean hasCompressionIntolerance () {
324
336
Config config = getWorkingConfig ();
325
- WorkflowTrace trace = new WorkflowTrace ();
337
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
338
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
326
339
ClientHelloMessage message = new ClientHelloMessage (config );
327
340
message .setCompressions (new byte []{(byte ) 0xFF , (byte ) 0x00 });
328
341
trace .addTlsAction (new SendAction (message ));
@@ -339,7 +352,8 @@ private Boolean hasCiphersuiteLengthIntolerance512() {
339
352
toTestList .remove (CipherSuite .TLS_FALLBACK_SCSV );
340
353
toTestList .remove (CipherSuite .TLS_EMPTY_RENEGOTIATION_INFO_SCSV );
341
354
config .setDefaultClientSupportedCiphersuites (toTestList );
342
- WorkflowTrace trace = new WorkflowTrace ();
355
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
356
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
343
357
ClientHelloMessage message = new ClientHelloMessage (config );
344
358
trace .addTlsAction (new SendAction (message ));
345
359
trace .addTlsAction (new ReceiveTillAction (new ServerHelloDoneMessage (config )));
@@ -350,7 +364,8 @@ private Boolean hasCiphersuiteLengthIntolerance512() {
350
364
351
365
private Boolean hasCiphersuiteIntolerance () {
352
366
Config config = getWorkingConfig ();
353
- WorkflowTrace trace = new WorkflowTrace ();
367
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
368
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
354
369
ClientHelloMessage message = new ClientHelloMessage (config );
355
370
message .setCipherSuites (Modifiable .insert (new byte []{(byte ) 0xCF , (byte ) 0xAA }, 1 ));
356
371
trace .addTlsAction (new SendAction (message ));
@@ -364,7 +379,8 @@ private Boolean hasAlpnIntolerance() {
364
379
Config config = getWorkingConfig ();
365
380
config .setAddAlpnExtension (true );
366
381
config .setAlpnAnnouncedProtocols (new String []{"This is not an ALPN Protocol" });
367
- WorkflowTrace trace = new WorkflowTrace ();
382
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
383
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
368
384
ClientHelloMessage message = new ClientHelloMessage (config );
369
385
trace .addTlsAction (new SendAction (message ));
370
386
trace .addTlsAction (new ReceiveTillAction (new ServerHelloDoneMessage (config )));
@@ -378,7 +394,8 @@ private Boolean hasClientHelloLengthIntolerance() {
378
394
config .setAddAlpnExtension (true );
379
395
config .setAddPaddingExtension (true );
380
396
381
- WorkflowTrace trace = new WorkflowTrace ();
397
+ WorkflowConfigurationFactory factory = new WorkflowConfigurationFactory (config );
398
+ WorkflowTrace trace = factory .createTlsEntryWorkflowtrace (config .getDefaultClientConnection ());
382
399
ClientHelloMessage message = new ClientHelloMessage (config );
383
400
int newLength = 384 - getClientHelloLength (message , config ) - config .getPaddingLength ();
384
401
config .setPaddingLength (newLength );
0 commit comments