Skip to content

Commit 2982273

Browse files
Merge pull request #14 from BenBE/master
Issues indicated by FindBugs
2 parents d384006 + be3b60a commit 2982273

File tree

78 files changed

+502
-463
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+502
-463
lines changed

Attacks/src/main/java/de/rub/nds/tlsattacker/attacks/ec/ICEPointReader.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
import de.rub.nds.tlsattacker.tls.exceptions.ConfigurationException;
1212
import java.io.BufferedReader;
13-
import java.io.FileNotFoundException;
1413
import java.io.IOException;
1514
import java.io.InputStreamReader;
1615
import java.math.BigInteger;

Attacks/src/main/java/de/rub/nds/tlsattacker/attacks/impl/HeartbleedAttack.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import de.rub.nds.tlsattacker.modifiablevariable.integer.ModifiableInteger;
1717
import de.rub.nds.tlsattacker.modifiablevariable.singlebyte.ModifiableByte;
1818
import de.rub.nds.tlsattacker.tls.config.ConfigHandler;
19-
import de.rub.nds.tlsattacker.tls.constants.ConnectionEnd;
2019
import de.rub.nds.tlsattacker.tls.protocol.heartbeat.HeartbeatMessage;
2120
import de.rub.nds.tlsattacker.tls.constants.ProtocolMessageType;
2221
import de.rub.nds.tlsattacker.tls.exceptions.WorkflowExecutionException;

Attacks/src/main/java/de/rub/nds/tlsattacker/attacks/impl/PaddingOracleAttack.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,18 @@
88
*/
99
package de.rub.nds.tlsattacker.attacks.impl;
1010

11+
import java.util.LinkedHashSet;
12+
import java.util.LinkedList;
13+
import java.util.List;
14+
15+
import org.apache.logging.log4j.LogManager;
16+
import org.apache.logging.log4j.Logger;
17+
1118
import de.rub.nds.tlsattacker.attacks.config.PaddingOracleCommandConfig;
12-
import de.rub.nds.tlsattacker.tls.Attacker;
1319
import de.rub.nds.tlsattacker.modifiablevariable.VariableModification;
1420
import de.rub.nds.tlsattacker.modifiablevariable.bytearray.ByteArrayModificationFactory;
1521
import de.rub.nds.tlsattacker.modifiablevariable.bytearray.ModifiableByteArray;
22+
import de.rub.nds.tlsattacker.tls.Attacker;
1623
import de.rub.nds.tlsattacker.tls.config.ConfigHandler;
1724
import de.rub.nds.tlsattacker.tls.constants.ConnectionEnd;
1825
import de.rub.nds.tlsattacker.tls.exceptions.WorkflowExecutionException;
@@ -26,11 +33,6 @@
2633
import de.rub.nds.tlsattacker.tls.workflow.WorkflowTrace;
2734
import de.rub.nds.tlsattacker.transport.TransportHandler;
2835
import de.rub.nds.tlsattacker.util.ArrayConverter;
29-
import java.util.LinkedHashSet;
30-
import java.util.LinkedList;
31-
import java.util.List;
32-
import org.apache.logging.log4j.LogManager;
33-
import org.apache.logging.log4j.Logger;
3436

3537
/**
3638
* Executes a padding oracle attack check. It logs an error in case the tested
@@ -64,7 +66,7 @@ public void executeAttack(ConfigHandler configHandler) {
6466
LOGGER.info("All the attack runs executed. The following messages arrived at the ends of the connections");
6567
LOGGER.info("If there are different messages, this could indicate the server does not process padding correctly");
6668

67-
LinkedHashSet<ProtocolMessage> pmSet = new LinkedHashSet();
69+
LinkedHashSet<ProtocolMessage> pmSet = new LinkedHashSet<>();
6870
for (int i = 0; i < lastMessages.size(); i++) {
6971
ProtocolMessage pm = lastMessages.get(i);
7072
pmSet.add(pm);
@@ -118,7 +120,7 @@ public void executeAttackRound(ConfigHandler configHandler, Record record) {
118120
}
119121

120122
private List<Record> createRecordsWithPlainData() {
121-
List<Record> records = new LinkedList();
123+
List<Record> records = new LinkedList<>();
122124
for (int i = 0; i < 64; i++) {
123125
byte[] padding = createPaddingBytes(i);
124126
int messageSize = config.getBlockSize() - (padding.length % config.getBlockSize());
@@ -152,7 +154,7 @@ private Record createRecordWithPlainData(byte[] plain) {
152154
}
153155

154156
private List<Record> createRecordsWithModifiedPadding() {
155-
List<Record> records = new LinkedList();
157+
List<Record> records = new LinkedList<>();
156158

157159
Record r = new Record();
158160
ModifiableByteArray padding = new ModifiableByteArray();
@@ -165,7 +167,7 @@ private List<Record> createRecordsWithModifiedPadding() {
165167
}
166168

167169
private List<Record> createRecordsWithModifiedMac() {
168-
List<Record> records = new LinkedList();
170+
List<Record> records = new LinkedList<>();
169171

170172
Record r = new Record();
171173
ModifiableByteArray mac = new ModifiableByteArray();

Attacks/src/main/java/de/rub/nds/tlsattacker/attacks/mitm/MitMWorkflowExecutor.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,30 @@
88
*/
99
package de.rub.nds.tlsattacker.attacks.mitm;
1010

11+
import java.io.IOException;
12+
import java.util.Arrays;
13+
import java.util.LinkedList;
14+
import java.util.List;
15+
16+
import org.apache.logging.log4j.LogManager;
17+
import org.apache.logging.log4j.Logger;
18+
19+
import de.rub.nds.tlsattacker.tls.constants.AlertLevel;
1120
import de.rub.nds.tlsattacker.tls.constants.ConnectionEnd;
12-
import de.rub.nds.tlsattacker.tls.exceptions.CryptoException;
1321
import de.rub.nds.tlsattacker.tls.constants.ProtocolMessageType;
22+
import de.rub.nds.tlsattacker.tls.exceptions.CryptoException;
1423
import de.rub.nds.tlsattacker.tls.exceptions.WorkflowExecutionException;
1524
import de.rub.nds.tlsattacker.tls.protocol.ProtocolMessage;
16-
import de.rub.nds.tlsattacker.tls.record.RecordHandler;
1725
import de.rub.nds.tlsattacker.tls.protocol.ProtocolMessageHandler;
18-
import de.rub.nds.tlsattacker.tls.constants.AlertLevel;
1926
import de.rub.nds.tlsattacker.tls.protocol.alert.AlertMessage;
2027
import de.rub.nds.tlsattacker.tls.record.Record;
28+
import de.rub.nds.tlsattacker.tls.record.RecordHandler;
2129
import de.rub.nds.tlsattacker.tls.workflow.MessageBytesCollector;
2230
import de.rub.nds.tlsattacker.tls.workflow.RenegotiationWorkflowConfiguration;
2331
import de.rub.nds.tlsattacker.tls.workflow.TlsContext;
2432
import de.rub.nds.tlsattacker.tls.workflow.WorkflowContext;
2533
import de.rub.nds.tlsattacker.transport.TransportHandler;
2634
import de.rub.nds.tlsattacker.util.ArrayConverter;
27-
import java.io.IOException;
28-
import java.util.Arrays;
29-
import java.util.LinkedList;
30-
import java.util.List;
31-
import org.apache.logging.log4j.LogManager;
32-
import org.apache.logging.log4j.Logger;
3335

3436
/**
3537
* @author Philip Riese <[email protected]>
@@ -199,7 +201,7 @@ private void handleMyProtocolMessage(List<ProtocolMessage> protocolMessages) thr
199201
*/
200202
protected void prepareMyProtocolMessageBytes(ProtocolMessage pm) {
201203
LOGGER.debug("Preparing the following protocol message to send: {}", pm.getClass());
202-
ProtocolMessageHandler handler = pm.getProtocolMessageHandler(tlsContext);
204+
ProtocolMessageHandler<? extends ProtocolMessage> handler = pm.getProtocolMessageHandler(tlsContext);
203205
byte[] pmBytes;
204206
boolean finished = pm.getClass().toString()
205207
.equals("class de.rub.nds.tlsattacker.tls.protocol.handshake.FinishedMessage");
@@ -307,7 +309,7 @@ protected void parseRawBytesIntoProtocolMessages(byte[] rawProtocolMessageBytes,
307309
List<ProtocolMessage> protocolMessages, ProtocolMessageType protocolMessageType) {
308310
int dataPointer = 0;
309311
while (dataPointer != rawProtocolMessageBytes.length && workflowContext.isProceedWorkflow()) {
310-
ProtocolMessageHandler pmh = protocolMessageType.getProtocolMessageHandler(
312+
ProtocolMessageHandler<? extends ProtocolMessage> pmh = protocolMessageType.getProtocolMessageHandler(
311313
rawProtocolMessageBytes[dataPointer], tlsContext);
312314
if (Arrays.equals(rawProtocolMessageBytes,
313315
new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 })) {
@@ -329,7 +331,7 @@ protected void parseRawBytesIntoProtocolMessages(byte[] rawProtocolMessageBytes,
329331
*
330332
* @param pmh
331333
*/
332-
private void handleIncomingAlert(ProtocolMessageHandler pmh) {
334+
private void handleIncomingAlert(ProtocolMessageHandler<? extends ProtocolMessage> pmh) {
333335
if (pmh.getProtocolMessage().getProtocolMessageType() == ProtocolMessageType.ALERT) {
334336
AlertMessage am = (AlertMessage) pmh.getProtocolMessage();
335337
am.setMessageIssuer(ConnectionEnd.SERVER);
@@ -345,7 +347,7 @@ private void handleIncomingAlert(ProtocolMessageHandler pmh) {
345347
* @param protocolMessages
346348
* @param pmh
347349
*/
348-
private void identifyCorrectProtocolMessage(List<ProtocolMessage> protocolMessages, ProtocolMessageHandler pmh) {
350+
private void identifyCorrectProtocolMessage(List<ProtocolMessage> protocolMessages, ProtocolMessageHandler<? extends ProtocolMessage> pmh) {
349351
ProtocolMessage pm = null;
350352
if (workflowContext.getProtocolMessagePointer() < protocolMessages.size()) {
351353
pm = protocolMessages.get(workflowContext.getProtocolMessagePointer());
@@ -385,7 +387,7 @@ protected byte[] getRawProtocolBytesFromRecords(List<Record> records) {
385387
* @return
386388
*/
387389
protected List<List<Record>> createListsOfRecordsOfTheSameContentType(List<Record> records) {
388-
List<List<Record>> result = new LinkedList();
390+
List<List<Record>> result = new LinkedList<>();
389391
int recordPointer = 0;
390392
Record record = records.get(recordPointer);
391393
List<Record> currentRecords = new LinkedList<>();

Attacks/src/main/java/de/rub/nds/tlsattacker/attacks/mitm/MitM_Dialog.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -49,25 +49,6 @@ public MitM_Dialog(java.awt.Frame parent, boolean modal, ProtocolMessage pm, Str
4949
* WARNING: Do NOT modify this code. The content of this method is always
5050
* regenerated by the Form Editor.
5151
*/
52-
@SuppressWarnings("unchecked")
53-
// <editor-fold defaultstate="collapsed"
54-
// <editor-fold defaultstate="collapsed"
55-
// <editor-fold defaultstate="collapsed"
56-
// <editor-fold defaultstate="collapsed"
57-
// <editor-fold defaultstate="collapsed"
58-
// <editor-fold defaultstate="collapsed"
59-
// <editor-fold defaultstate="collapsed"
60-
// <editor-fold defaultstate="collapsed"
61-
// <editor-fold defaultstate="collapsed"
62-
// <editor-fold defaultstate="collapsed"
63-
// <editor-fold defaultstate="collapsed"
64-
// <editor-fold defaultstate="collapsed"
65-
// <editor-fold defaultstate="collapsed"
66-
// <editor-fold defaultstate="collapsed"
67-
// <editor-fold defaultstate="collapsed"
68-
// <editor-fold defaultstate="collapsed"
69-
// <editor-fold defaultstate="collapsed"
70-
// <editor-fold defaultstate="collapsed"
7152
// <editor-fold defaultstate="collapsed"
7253
// desc="Generated Code">//GEN-BEGIN:initComponents
7354
private void initComponents() {

Attacks/src/test/java/de/rub/nds/tlsattacker/attacks/ec/ICEAttackerTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import de.rub.nds.tlsattacker.attacks.ec.oracles.TestECOracle;
1212
import de.rub.nds.tlsattacker.attacks.ec.oracles.TestECSunOracle;
1313
import java.math.BigInteger;
14-
import java.util.Arrays;
1514
import org.junit.Test;
1615
import static org.junit.Assert.*;
1716
import org.junit.Ignore;

Attacks/src/test/java/de/rub/nds/tlsattacker/attacks/ec/oracles/TestECOracle.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
package de.rub.nds.tlsattacker.attacks.ec.oracles;
1010

1111
import de.rub.nds.tlsattacker.attacks.ec.oracles.ECOracle;
12-
import de.rub.nds.tlsattacker.tls.crypto.ec.Curve;
1312
import de.rub.nds.tlsattacker.tls.crypto.ec.CurveFactory;
1413
import de.rub.nds.tlsattacker.tls.crypto.ec.DivisionException;
1514
import de.rub.nds.tlsattacker.tls.crypto.ec.ECComputer;

Attacks/src/test/java/de/rub/nds/tlsattacker/attacks/ec/oracles/TestECSunOracle.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
package de.rub.nds.tlsattacker.attacks.ec.oracles;
1010

1111
import de.rub.nds.tlsattacker.attacks.ec.oracles.ECOracle;
12-
import de.rub.nds.tlsattacker.tls.crypto.ec.Curve;
1312
import de.rub.nds.tlsattacker.tls.crypto.ec.CurveFactory;
14-
import de.rub.nds.tlsattacker.tls.crypto.ec.DivisionException;
1513
import de.rub.nds.tlsattacker.tls.crypto.ec.ECComputer;
1614
import de.rub.nds.tlsattacker.tls.crypto.ec.Point;
1715
import java.math.BigInteger;

Attacks/src/test/java/de/rub/nds/tlsattacker/attacks/pkcs1/BleichenbacherAttackPlaintextTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import java.security.SecureRandom;
1818
import java.security.Security;
1919
import javax.crypto.Cipher;
20-
import org.apache.logging.log4j.LogManager;
2120
import org.bouncycastle.jce.provider.BouncyCastleProvider;
2221
import org.junit.Assert;
2322
import org.junit.Test;

Attacks/src/test/java/de/rub/nds/tlsattacker/attacks/pkcs1/MangerAttackPlaintextTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import java.math.BigInteger;
1616
import java.security.KeyPair;
1717
import java.security.KeyPairGenerator;
18-
import java.security.SecureRandom;
1918
import java.security.Security;
2019
import java.util.Collections;
2120
import java.util.LinkedList;

EAP/src/main/java/de/rub/nds/tlsattacker/eap/NetworkHandler.java

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
*/
99
package de.rub.nds.tlsattacker.eap;
1010

11-
import de.rub.nds.tlsattacker.util.ArrayConverter;
1211
import java.io.IOException;
1312
import java.util.ArrayList;
1413
import java.util.List;
@@ -21,6 +20,8 @@
2120
import org.jnetpcap.packet.PcapPacket;
2221
import org.jnetpcap.packet.PcapPacketHandler;
2322

23+
import de.rub.nds.tlsattacker.util.ArrayConverter;
24+
2425
/**
2526
* Networkhandler to open Interface, send/receive Frames on Data Link Layer,
2627
* close the connection
@@ -82,20 +83,21 @@ public void init() {
8283
/*****************************************
8384
* Select network interfaces
8485
*****************************************/
85-
Scanner scanner = new Scanner(System.in);
86-
while (true) {
87-
try {
88-
System.out.print("Which [number] of Network-Adapter to use: ");
89-
index = Integer.parseInt(scanner.next());
90-
if (index >= 0 && index < i) {
91-
break;
92-
} else {
93-
System.out.println("Incorrect, retry...");
94-
continue;
95-
}
96-
} catch (NumberFormatException e) {
97-
System.out.println("Incorrect, retry...");
98-
continue;
86+
try(Scanner scanner = new Scanner(System.in)) {
87+
while (true) {
88+
try {
89+
System.out.print("Which [number] of Network-Adapter to use: ");
90+
index = Integer.parseInt(scanner.next());
91+
if (index >= 0 && index < i) {
92+
break;
93+
} else {
94+
System.out.println("Incorrect, retry...");
95+
continue;
96+
}
97+
} catch (NumberFormatException e) {
98+
System.out.println("Incorrect, retry...");
99+
continue;
100+
}
99101
}
100102
}
101103

@@ -106,16 +108,15 @@ public void init() {
106108

107109
// Username Request
108110

109-
Scanner sc = new Scanner(System.in);
110-
while (true) {
111-
112-
System.out.print("Please insert username: ");
113-
username = sc.nextLine();
111+
try(Scanner sc = new Scanner(System.in)) {
112+
while (true) {
113+
System.out.print("Please insert username: ");
114+
username = sc.nextLine();
114115

115-
if (username.length() != 0) {
116-
break;
116+
if (username.length() != 0) {
117+
break;
118+
}
117119
}
118-
119120
}
120121

121122
// Initialize Network-Interface

Fuzzer/src/main/java/de/rub/nds/tlsattacker/fuzzer/Main.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,27 @@
99
package de.rub.nds.tlsattacker.fuzzer;
1010

1111
import com.beust.jcommander.JCommander;
12+
1213
import de.rub.nds.tlsattacker.attacks.config.BleichenbacherCommandConfig;
1314
import de.rub.nds.tlsattacker.attacks.config.DtlsPaddingOracleAttackCommandConfig;
15+
import de.rub.nds.tlsattacker.attacks.config.HeartbleedCommandConfig;
1416
import de.rub.nds.tlsattacker.attacks.config.InvalidCurveAttackCommandConfig;
1517
import de.rub.nds.tlsattacker.attacks.config.InvalidCurveAttackFullCommandConfig;
16-
import de.rub.nds.tlsattacker.attacks.config.HeartbleedCommandConfig;
1718
import de.rub.nds.tlsattacker.attacks.config.PaddingOracleCommandConfig;
1819
import de.rub.nds.tlsattacker.attacks.config.PoodleCommandConfig;
1920
import de.rub.nds.tlsattacker.attacks.config.WinshockCommandConfig;
2021
import de.rub.nds.tlsattacker.attacks.impl.BleichenbacherAttack;
2122
import de.rub.nds.tlsattacker.attacks.impl.DtlsPaddingOracleAttack;
23+
import de.rub.nds.tlsattacker.attacks.impl.HeartbleedAttack;
2224
import de.rub.nds.tlsattacker.attacks.impl.InvalidCurveAttack;
2325
import de.rub.nds.tlsattacker.attacks.impl.InvalidCurveAttackFull;
24-
import de.rub.nds.tlsattacker.attacks.impl.HeartbleedAttack;
2526
import de.rub.nds.tlsattacker.attacks.impl.PaddingOracleAttack;
2627
import de.rub.nds.tlsattacker.attacks.impl.PoodleAttack;
2728
import de.rub.nds.tlsattacker.attacks.impl.WinshockAttack;
2829
import de.rub.nds.tlsattacker.fuzzer.config.MultiFuzzerConfig;
2930
import de.rub.nds.tlsattacker.fuzzer.impl.MultiFuzzer;
3031
import de.rub.nds.tlsattacker.tls.Attacker;
32+
import de.rub.nds.tlsattacker.tls.config.CommandConfig;
3133
import de.rub.nds.tlsattacker.tls.config.ConfigHandler;
3234
import de.rub.nds.tlsattacker.tls.config.ConfigHandlerFactory;
3335
import de.rub.nds.tlsattacker.tls.config.GeneralConfig;
@@ -75,7 +77,7 @@ public static void main(String[] args) throws Exception {
7577
return;
7678
}
7779

78-
Attacker attacker;
80+
Attacker<? extends CommandConfig> attacker;
7981
switch (jc.getParsedCommand()) {
8082
case MultiFuzzerConfig.COMMAND:
8183
startMultiFuzzer(cmconfig, generalConfig, jc);

0 commit comments

Comments
 (0)