@@ -590,37 +590,19 @@ def uncPathRequest(self):
590
590
591
591
592
592
def overflowBypassDEP (self ):
593
- # TODO: use 'sc' to:
594
- # * Get the SQL Server 'Service name' (usually MSSQLSERVER)
595
- # * Detect the absolute SQL Server executable file path
596
- #
597
- # References:
598
- # * http://www.ss64.com/nt/sc.html
599
- # * http://www.ss64.com/nt/for_cmd.html
600
593
self .handleDep ("C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe" )
601
594
602
595
if self .bypassDEP == False :
603
596
return
604
-
605
- logger .info ("restarting Microsoft SQL Server, wait.." )
606
- time .sleep (15 )
607
-
608
- # TODO: use 'sc' to:
609
- # * Warn the user that sqlmap needs to restart the SQL Server
610
- # service, ask for confirmation
611
- # * Stop the SQL Server service (after handling DEP)
612
- # * Start the SQL Server service (after handling DEP)
613
-
614
- # Another way to restart MSSQL consists of writing a bat file with
615
- # the following text:
616
- #
617
- #@ECHO OFF
618
- #NET STOP MSSQLSERVER
619
- #NET START MSSQLSERVER
620
- #
621
- # Then run the following statement and wait a few seconds:
622
- #
623
- # exec master..xp_cmdshell 'start C:\WINDOWS\Temp\sqlmaprandom.bat'
597
+ else :
598
+ warnMsg = "sqlmap tried to add the expection for "
599
+ warnMsg += "'sqlservr.exe' within the registry, but will not "
600
+ warnMsg += "restart the MSSQLSERVER process to avoid denial "
601
+ warnMsg += "of service. The buffer overflow trigger could not "
602
+ warnMsg += "work, however sqlmap will give it a try. Soon "
603
+ warnMsg += "it will come a new MS09-004 exploit to "
604
+ warnMsg += "automatically bypass DEP."
605
+ logger .warn (warnMsg )
624
606
625
607
626
608
def spHeapOverflow (self ):
0 commit comments