使用说明 1、Target:填写表单将要的路径,该路径可以通过查看网页的源文件得到,如<FORM NAME="form1" METHOD="post " ACTION="http://www.163.com/CheckUser.jsp> 2、Referer:有些网页的验证表单处要 ...
1、Target:填写表单将要的路径,该路径可以通过查看网页的源文件得到,如 2、Referer:有些网页的验证表单处要检测表单由何处提交,这里可以填写该表单的URL,如 3、CorrectFlag:此处填写表单验证后正确的关键字,如何得知该关键字呢?如果你有一个帐号能够通过该表单验证,可以使用GetFlag按钮来获得该关键字。 4、WrongFlag:同上,这里是获得验证失败的关键字,也是通过GetFlag得到的。 5、Keep Session:是保持页面在传递中的Session(目前没有实现) 6、Var1Name:指表单中第一个文本框的名字,一般是用户名:),也可以通过查看源程序得到,如 Var1Value:指该处应该填写的内容,如果要猜jack的密码,就填写jack UseDict:指是否使用字典文件,如果该标记被选中,会让你选择字典文件。 Var2Name、Var2Value、UseDict同上。 注意:如果想检测某个用户名是否已存在(一般网站都会提供该功能),可以将Var1使用字典,Var2留白。如果只是猜某一指定用户的密码,则将Var2使用字典。目前不支持用户名和密码同时使用字典文件。 7、Delay如果某些ISP限制了访问页面的时间间隔,请设定该间隔时间,单位为毫秒。 8、OtherParameters:如果表单中还有其它需要提交的元素,可以自己拼写提交,如 9、此处是反馈的结果 Load/Save:打开/保存配置文件 下面是示例: 我在自己的机器上准备了4个文件:default.html(登录页面),check.jsp(身份验证),error.jsp(用户名或密码错误页面),ok.jsp(登录成功的页面) default.htm的内容
<form name="form1" method="post" action="check.jsp">
check.jsp <% if (!username.equals("zhang")) { if (!password.equals("test")) { response.sendRedirect("ok.jsp");
error.jsp <%
ok.jsp <% 由default.htm中可以看出,Target应该是check.jsp,Var1Name是username,Var2Name是password,因此,Target处应该填写http://localhost:8080/server/check.jsp,Var1Name处填写username,Var2Name处填写password,上面的程序中我已经知道了用户zhang使用密码test时能够正确登录,因此我将Var1Value填写zhang,Var2Value填写test,然后GetFlag,返回的结果如下: HTTP/1.1 302 Moved Temporarily 在我们再将Var1Value和Var2Value留空,再看看登录失败时的返回数据 HTTP/1.1 302 Moved Temporarily 从上面返回的两组数据中可以看到,当登录成功时,返回的数据包含Location: http://127.0.0.1:8080/server/ok.jsp,失败则包含Location:http://127.0.0.1:8080/server/error.jsp?msg=ó??§2?′??ú(这里没有处理中文编码,所以显示乱码),因此,我们在CorrectFlag中填写http://127.0.0.1:8080/server/ok.jsp,WrongFlag中填写Location: http://127.0.0.1:8080/server/error.jsp?msg=ó??§2?′??ú,现在再假设我要猜测用户zhang的密码,这时可以将Var1Value中填写zhang,Var2Value使用字典文件。我准备的字典文件内容如下: iloveyou 此时界面应该如下: 然后Start,结果如下 注意: 1、选择关键字最好是尽量靠前,这样会使网络传输的数据量比较小 2、能务必填写CorrectFlag,也就是说你必须知道登录正确的关键字(这也是提高速度的一个方面,同时,如果仅通过错误的关键字来猜测密码是否正确比较困难,这是由于关键字比较难找,最重要的是,如果不填写CorrectFlag,目前不能正常工作:)) |