BurpSuit破解WebShell登录密码

上篇博客讲到了通过BurpSuit实现NC上传,今天将演示用BurpSuit破解WebShell的验证密码。其实,就破解而言,BurpSuit的基本原理和溯雪是一样的,但是在某些功能上要比前者完善一些。OK,Let's Go!!!

首先,在WebShell密码框处输入一个任意密码,以便抓取密码验证请求包。至于怎么抓取,这里就不多费口舌了,可以参考我的上一篇博客。

分析数据包后,发现该请求包有两个重要参数(Pass和Cookie,红色字体部分),我们要测试的只有Pass参数。

在History标签中找到我们要修改的请求包,右击→选择send to intruder,接着就来到了Intruder模块。前面提到Cookie参数不需要被暴力测试,因此要去除前后的$标志,具体操作见下图。倘若要添加一个测试参数,知道怎么做吧?大家都是聪明人哦:-)

下面要设置下字典,点击Payload标签,payload set选为runtime file,然后设置字典文件的路径。字典最好放在根目录下,因为有几次放在其他地方都不能成功加载,悲剧啊!易优字典生成器是很棒的工具,BT4下也有8少牛B工具,大家自由发挥,这不是本文的重点。

和溯雪一样,我们必须设定一个错误标志,否则软件无法判断是否成功登录。错误标志最好不要选中文,本软件谢绝支持!错误标志哪里找呢?可以到proxy模块下对应包的response标签里翻翻看。这里选javascript:history.back()作为错误标志(下图红框内)。因为只要不成功登录,返回页面中就一直存在"返回"链接,即那段javascript语句,且一旦成功登录,这段语句从此消失,所以选它作为错误标志再合适不过了。

错误标志找到后,我们把它添加到grep里面,其他不必要的标志都可以删了,这样能减少对比次数。

点击菜单栏intruder标签,选择start attack,开始破解。然后就是等待,漫长的等待。。。。。。由于软件是试用版的,破解速度被限制的很慢,不然也不会这么呕心,shit!

分析下破解结果:前面4个包返回状态码均为200,且返回页面中存在指定的错误标志。测试admin这个密码时,返回包中不存在错误标志,且状态码为302,那么可以断定正确的密码就是admin。

整个过程还是比较简单滴,主要赖我码字太多。糟粕就跳过吧,找点有用的东西LookLook好了。

posted @ 2012-11-15 22:50  山貓  阅读(778)  评论(0编辑  收藏  举报