Web暴力破解
程序员文章站
2022-07-03 10:25:13
讲到WEB暴力破解通过大家都会用小榕的溯雪,但并不是所有WEB破解溯雪都是应付自如的(不要说我说小榕他老人家的坏话),最近因为工作的关系,碰到一个网管型设备的WEBPORTAL需要做WEB... 08-10-08...
讲到web暴力破解通过大家都会用小榕的溯雪,但并不是所有web破解溯雪都是应付自如的(不要说我说小榕他老人家的坏话),最近因为工作的关系,碰到一个网管型设备的webportal需要做web破解,看看html的源码:
…
function login_send()
{
var f, p, page, url, option;
f = document.form_login.forced_in.value;
u = document.form_login.username.value;
p = document.form_login.passwd.value;
pg = document.form_login.page.value;
url = "atm_login?username=" u "&passwd=" p "&forced_in=" f "&page=" pg;
option = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,favorites=no,resizable=no,left=230,width=520,top=120,height=300";
window.open(url, ’_blank’, option);
}
…
username:
password:
…
这里form的action是交给一个本地的javascript自定义函数– login_send来完成的,用溯雪的话:
看来是因为调用了javascript的关系吧…
怎么办?就这样放弃吗?这也大可不必,调出wvs(acunetix web vulnerability scanner,相信都不少同志都用过它吧?我用的是4.0,目前最新的版本是5.x),选择它的http fuzzer功能:
然后怎么使用它呢?我整理了一下流程(其实和溯雪的原理差不多,不过可能需要更深入的了解http的相关知识):
定义http请求(request)-》定义暴破运算参数(add generator)-》插入暴破运算参数(insert into request)-》定义成功触发特征(fuzzer filters)-》扫描(start)
下面讲将具体实操,首先我们从目标的html代码可以看到,其实登陆过程是通过post的四个参数[–两个隐藏参数(forced_in与page)与两个提交参数(username与passwd)]至本页的login_send函数,然后再通过get atm_login这个页面提交认证数据。因此在使用wvs fuzzer前我们首先需要定义提交http请求的内容,具体如:
get http://xxx.xxx.xxx.xxx/ atm_login?username=alex&passwd=demon&forced_in=false&page= http/1.1
user-agent: wvs/4.0
accept: */*
下面是加入暴破运算参数至http请求内容中,基于我们本次的目标是帐号(username字段)与密码(passwd字段),因此需要定义两个运算参数,本例中我打算让username进行暴力破解,而passwd则进行字典破解。
废话少说,先建立一个基于暴力破解的username运算参数:点击“add generator”-》“random string generator”后得到:
在“string length”中填入值的长度,我这里选择5;“character set”中输入可能需要用到的字符,我这里选择26个小写字母;选择“allow repetitions”—允许重复使用各字符。
…
function login_send()
{
var f, p, page, url, option;
f = document.form_login.forced_in.value;
u = document.form_login.username.value;
p = document.form_login.passwd.value;
pg = document.form_login.page.value;
url = "atm_login?username=" u "&passwd=" p "&forced_in=" f "&page=" pg;
option = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,favorites=no,resizable=no,left=230,width=520,top=120,height=300";
window.open(url, ’_blank’, option);
}
…
username:
password:
…
这里form的action是交给一个本地的javascript自定义函数– login_send来完成的,用溯雪的话:
看来是因为调用了javascript的关系吧…
怎么办?就这样放弃吗?这也大可不必,调出wvs(acunetix web vulnerability scanner,相信都不少同志都用过它吧?我用的是4.0,目前最新的版本是5.x),选择它的http fuzzer功能:
然后怎么使用它呢?我整理了一下流程(其实和溯雪的原理差不多,不过可能需要更深入的了解http的相关知识):
定义http请求(request)-》定义暴破运算参数(add generator)-》插入暴破运算参数(insert into request)-》定义成功触发特征(fuzzer filters)-》扫描(start)
下面讲将具体实操,首先我们从目标的html代码可以看到,其实登陆过程是通过post的四个参数[–两个隐藏参数(forced_in与page)与两个提交参数(username与passwd)]至本页的login_send函数,然后再通过get atm_login这个页面提交认证数据。因此在使用wvs fuzzer前我们首先需要定义提交http请求的内容,具体如:
get http://xxx.xxx.xxx.xxx/ atm_login?username=alex&passwd=demon&forced_in=false&page= http/1.1
user-agent: wvs/4.0
accept: */*
下面是加入暴破运算参数至http请求内容中,基于我们本次的目标是帐号(username字段)与密码(passwd字段),因此需要定义两个运算参数,本例中我打算让username进行暴力破解,而passwd则进行字典破解。
废话少说,先建立一个基于暴力破解的username运算参数:点击“add generator”-》“random string generator”后得到:
在“string length”中填入值的长度,我这里选择5;“character set”中输入可能需要用到的字符,我这里选择26个小写字母;选择“allow repetitions”—允许重复使用各字符。
推荐阅读
-
web服务器是什么,web服务器的功能及工作原理介绍
-
Web应用Django入门(建立虚拟环境以及创建项目)
-
网络质量测试工具APP(web安全测试工具介绍)
-
Spring boot搭建web应用集成thymeleaf模板实现登陆
-
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
-
java web response提供文件下载功能的实例讲解
-
VS2013无法启动 IIS Express Web的解决方法(全程图解)
-
新一代WEB呈现技术:什么是Silverlight
-
Eclipse中Web项目出现感叹或红叉该怎么解决?
-
myeclipse2014怎么打开web开发项目?