@@ -97,8 +97,8 @@ public ProbeResult executeTest() {
9797 boolean vulnerable = false ;
9898
9999 for (ProtocolVersion version : versionList ) {
100- if (vulnerable ) {
101- break ;
100+ if (vulnerable && scannerConfig . getScanDetail (). isGreaterEqualTo ( ScannerDetail . QUICK ) ) {
101+
102102 }
103103 VersionSuiteListPair suitePairList = null ;
104104 for (VersionSuiteListPair versionSuiteList : serverSupportedSuites ) {
@@ -111,9 +111,6 @@ public ProbeResult executeTest() {
111111 continue ;
112112 }
113113 for (PaddingVectorGeneratorType vectorType : vectorTypeList ) {
114- if (vulnerable ) {
115- break ;
116- }
117114 Set <CipherSuite > set = new HashSet <>(suitePairList .getCiphersuiteList ());
118115 filterSuite (set );
119116 for (CipherSuite suite : set ) {
@@ -125,7 +122,6 @@ public ProbeResult executeTest() {
125122 PaddingOracleTestResult result = createTestResult (version , suite , paddingOracleConfig );
126123 if (result .getVulnerable () == Boolean .TRUE ) {
127124 vulnerable = true ;
128- break ;
129125 }
130126 testResultList .add (result );
131127 }
@@ -170,12 +166,13 @@ public ProbeResult executeTest() {
170166 private PaddingOracleTestResult createTestResult (ProtocolVersion version , CipherSuite suite , PaddingOracleCommandConfig paddingOracleConfig ) {
171167
172168 Boolean result ;
173- try {
174- Thread .currentThread ().sleep (10000 );
175- } catch (InterruptedException ex ) {
176- Logger .getLogger (PaddingOracleProbe .class .getName ()).log (Level .SEVERE , null , ex );
177- }
178169 PaddingOracleAttacker attacker = new PaddingOracleAttacker (paddingOracleConfig , scannerConfig .createConfig (), getParallelExecutor ());
170+ if (scannerConfig .getScanDetail ().isGreaterEqualTo (ScannerDetail .DETAILED )) {
171+ attacker .setAdditionalTimeout (1000 );
172+ attacker .setIncreasingTimeout (true );
173+ } else {
174+ attacker .setAdditionalTimeout (50 );
175+ }
179176 boolean hasError = false ;
180177 try {
181178 result = attacker .isVulnerable ();
0 commit comments