|
42 | 42 | from lib.core.enums import HTTPHEADER |
43 | 43 | from lib.core.enums import HTTPMETHOD |
44 | 44 | from lib.core.enums import NULLCONNECTION |
| 45 | +from lib.core.enums import PAYLOAD |
45 | 46 | from lib.core.enums import PLACE |
46 | 47 | from lib.core.enums import WARNFLAGS |
47 | 48 | from lib.core.exception import sqlmapConnectionException |
@@ -397,7 +398,16 @@ def getPage(**kwargs): |
397 | 398 | warnMsg += ", sqlmap is going to retry the request" |
398 | 399 | logger.critical(warnMsg) |
399 | 400 |
|
400 | | - if kb.originalPage is None: |
| 401 | + if kb.testMode and kb.previousMethod == PAYLOAD.METHOD.TIME: |
| 402 | + # timed based payloads can cause web server unresponsiveness |
| 403 | + # if the injectable piece of code is some kind of JOIN-like query |
| 404 | + warnMsg = "most probably web server instance hasn't recovered yet " |
| 405 | + warnMsg += "from previous timed based payload. if the problem " |
| 406 | + warnMsg += "persists please wait for few minutes and rerun " |
| 407 | + warnMsg += "without flag T in --technique option " |
| 408 | + warnMsg += "(e.g. --technique=BEUS)" |
| 409 | + singleTimeLogMessage(warnMsg, logging.WARN, WARNFLAGS.TIME_UNRECOVERED) |
| 410 | + elif kb.originalPage is None: |
401 | 411 | warnMsg = "if the problem persists please try to rerun " |
402 | 412 | warnMsg += "with the --random-agent switch turned on " |
403 | 413 | warnMsg += "and/or try to use proxy switches (--ignore-proxy, --proxy,...)" |
|
0 commit comments