mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-10-26 05:31:04 +03:00 
			
		
		
		
	Further dealing with time-based SQLi (Issue #1973)
This commit is contained in:
		
							parent
							
								
									09617c8243
								
							
						
					
					
						commit
						8994bf2dba
					
				|  | @ -74,6 +74,7 @@ from lib.core.settings import IDS_WAF_CHECK_RATIO | |||
| from lib.core.settings import IDS_WAF_CHECK_TIMEOUT | ||||
| from lib.core.settings import MAX_DIFFLIB_SEQUENCE_LENGTH | ||||
| from lib.core.settings import NON_SQLI_CHECK_PREFIX_SUFFIX_LENGTH | ||||
| from lib.core.settings import SLEEP_TIME_MARKER | ||||
| from lib.core.settings import SUHOSIN_MAX_VALUE_LENGTH | ||||
| from lib.core.settings import SUPPORTED_DBMS | ||||
| from lib.core.settings import URI_HTTP_HEADER | ||||
|  | @ -560,6 +561,12 @@ def checkSqlInjection(place, parameter, value): | |||
|                             trueCode = threadData.lastCode | ||||
| 
 | ||||
|                             if trueResult: | ||||
|                                 # Just extra validation step (e.g. to check for dropping protection mechanisms) | ||||
|                                 if SLEEP_TIME_MARKER in reqPayload: | ||||
|                                     falseResult = Request.queryPage(reqPayload.replace(SLEEP_TIME_MARKER, "0"), place, timeBasedCompare=True, raise404=False) | ||||
|                                     if falseResult: | ||||
|                                         continue | ||||
| 
 | ||||
|                                 # Confirm test's results | ||||
|                                 trueResult = Request.queryPage(reqPayload, place, timeBasedCompare=True, raise404=False) | ||||
| 
 | ||||
|  |  | |||
|  | @ -43,6 +43,7 @@ from lib.core.settings import GENERIC_SQL_COMMENT | |||
| from lib.core.settings import NULL | ||||
| from lib.core.settings import PAYLOAD_DELIMITER | ||||
| from lib.core.settings import REPLACEMENT_MARKER | ||||
| from lib.core.settings import SLEEP_TIME_MARKER | ||||
| from lib.core.unescaper import unescaper | ||||
| 
 | ||||
| class Agent(object): | ||||
|  | @ -343,7 +344,7 @@ class Agent(object): | |||
|         """ | ||||
| 
 | ||||
|         if payload: | ||||
|             payload = payload.replace("[SLEEPTIME]", str(conf.timeSec)) | ||||
|             payload = payload.replace(SLEEP_TIME_MARKER, str(conf.timeSec)) | ||||
| 
 | ||||
|         return payload | ||||
| 
 | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ from lib.core.enums import OS | |||
| from lib.core.revision import getRevisionNumber | ||||
| 
 | ||||
| # sqlmap version (<major>.<minor>.<month>.<monthly commit>) | ||||
| VERSION = "1.0.9.36" | ||||
| VERSION = "1.0.9.37" | ||||
| REVISION = getRevisionNumber() | ||||
| TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" | ||||
| TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} | ||||
|  | @ -65,6 +65,7 @@ BOUNDED_INJECTION_MARKER = "__BOUNDED_INJECTION_MARK__" | |||
| 
 | ||||
| RANDOM_INTEGER_MARKER = "[RANDINT]" | ||||
| RANDOM_STRING_MARKER = "[RANDSTR]" | ||||
| SLEEP_TIME_MARKER = "[SLEEPTIME]" | ||||
| 
 | ||||
| PAYLOAD_DELIMITER = "__PAYLOAD_DELIMITER__" | ||||
| CHAR_INFERENCE_MARK = "%c" | ||||
|  |  | |||
|  | @ -20,11 +20,11 @@ b46521e29ea3d813bab5aeb16cac6498  extra/shutils/duplicates.py | |||
| cc9c82cfffd8ee9b25ba3af6284f057e  extra/sqlharvest/__init__.py | ||||
| 4f2f817596540d82f9fcc0c5b2228beb  extra/sqlharvest/sqlharvest.py | ||||
| 2daa39e4d59526acb4772b6c47eb315f  lib/controller/action.py | ||||
| af33b6f729a33235d0230e7b9af6b9cb  lib/controller/checks.py | ||||
| e2be5a4d5fd7587a78fa15a52fa58f32  lib/controller/checks.py | ||||
| 7c5ba631796f12d6de9b667e4cc7812b  lib/controller/controller.py | ||||
| 0a64305c3b3a01a2fc3a5e6204f442f1  lib/controller/handler.py | ||||
| cc9c82cfffd8ee9b25ba3af6284f057e  lib/controller/__init__.py | ||||
| ed9303846f0bc63a9c518a7164301f80  lib/core/agent.py | ||||
| a5d4c84e40ac170615ee7e05e770e7c2  lib/core/agent.py | ||||
| eb0bd28b0bd9fbf67dcc3119116df377  lib/core/bigarray.py | ||||
| 33b28a65ab1a9467203f63d798fd9ddf  lib/core/common.py | ||||
| 5680d0c446a3bed5c0f2a0402d031557  lib/core/convert.py | ||||
|  | @ -45,7 +45,7 @@ e60456db5380840a586654344003d4e6  lib/core/readlineng.py | |||
| 5ef56abb8671c2ca6ceecb208258e360  lib/core/replication.py | ||||
| 99a2b496b9d5b546b335653ca801153f  lib/core/revision.py | ||||
| 7c15dd2777af4dac2c89cab6df17462e  lib/core/session.py | ||||
| c007f8f0c5f3d8f7b801f33d0ec58448  lib/core/settings.py | ||||
| 5ea71214107e2dc870a14ca2f90e9b49  lib/core/settings.py | ||||
| 7af83e4f18cab6dff5e67840eb65be80  lib/core/shell.py | ||||
| 23657cd7d924e3c6d225719865855827  lib/core/subprocessng.py | ||||
| 0bc2fae1dec18cdd11954b22358293f2  lib/core/target.py | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user