Burpsuite需要JAVA支持,请先安装JAVA环境。

在渗透测试过程中,目标有可能已经被黑客入侵过,在扫描过程中会发现入侵者留下的Webshell等,但Webshell一般都有密码,如果能够获取密码,那么就能顺利进入目标系统。

Proxy(代理)——拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。

(1)设置代理服务器

Burpsuite运行需要JAVA支持,请先安装JAVA环境,安装Java环境后,打开浏览器进行设置,对IE单击“设置”-“Internet选项”-“连接”-“局域网设置”-“代理服务器”,设置地址为“127.0.0.1”,端口为“8080”。对Chrome浏览器则单击“设置”-“高级设置”-“网络”-“更改代理服务器设置”进行IE设置。

(2)查看Burpsuite代理状态

运行Burpsuite,单击“Proxy”-“Options”,所示,代理端口是8080,状态为正在运行,浏览器设置代理后,就可以成功的抓取浏览器数据。

(3)拦截设置

在“Proxy”中单击“Intercept”,单击“Intercept is on”设置拦截为运行,再次单击“Intercept is off”则表示拦截关闭。单击“Forward”表示放行,单击“Drop”表示丢弃。

破解Webshell密码

(1)抓取密码信息

打开目标Webshell地址http://127.0.0.1/90sec.php,先随意输入一个密码。提交后在burpsuite中单击“Forward”对拦截进行方向,在burpsuite中抓到了两个数据包,第一个是浏览器访问SHELL所发出的GET请求包。第二个是输入密码之后发送的POST请求,如图5所示。选中“Method”为post的记录,右键单击在弹出的菜单中选择“Send to Intruder”,把第二个POST请求包发送到“入侵者”(intruder)中进行破解,然后单击“Intruder”进行设置。

(2)设置密码参数

在“position”这个菜单页选择“attack type”(功能类型)为默认sniper即可,然后选中Cookie中下面部门, 点击右边第二个clear$按钮,去掉$符号,然后单击“Add$”按钮增加破解密码参数,如图6所示,需要将密码前面的值去掉,同时需要清除Cookie后面ASPSESSIONIDCATBRDTD=EMPJNHNALLEHBHIKGGFGENCM的$符号。

(3)设置破解密码字典

单击“payloads”功能标签页面,这里是密码字典的一些配置。先单击“Clear”清楚前面的密码字典设置,然后单击“Load”从一个文件从导入密码。已经导入了密码字典。

(4)设置密码提交错误过滤信息

单击“Options”(选项)标签菜单页面,该页主要设置错误信息的过滤,也就是如果是错误的则继续进行破解,这个需要针对不同情况进行相应设置,单击“Clear”清楚以前的默认设置。在webshell地址中随便输入一个密码,获取错误信息的反馈页面,并获取错误关键字“密码错误不能登录”。在“Add”按钮后的输入框中输入“密码错误不能登录”并添加,至此密码暴力破解设置完成。

(5)开始破解Webshell密码

单击菜单上面的“intruder”-“Start Attack”开始进行攻击测试,在攻击响应页面中可以看到前面所设置的密码发送的每一个请求。然后在“Status”中会返回状态,“302”代表成功,200是返回正常,密码“00sujung”即为webshell密码。有关状态反馈代码具体含义如下:

200 返回正常,即服务器接受了我们的请求并返回了响应的结果,通常说明这个页面是存在的,发送的请求是允许的。

302 返回错误,即服务器接受了我们的请求,但是需要更多操作来获取返回结果。比如跳转到新的页面,因为我们都知道shell密码输入后会跳转到响应的功能页面。所以就产生了这样的错误。

(6)成功获取webshell

在webshell密码框中输入刚才破解的密码“00sujung”,成功登录webshell。

这样就可以破解webshell密码,以上步骤大家可以自己操作一下。Burp Suite 用于攻击web 应用程序的集成平台,功能非常强大,大家也可以尝试其他的方法老破解webshell密码。