怎么破解Webshell密码 Burpsuite破解Webshell密码图文教程


    Burp Suite是一个Web应用程序集成攻击平台,它包含了一系列burp工具,这些工具之间有大量接口可以互相通信,这样设计的目的是为了促进和提高整个攻击的效率。
    推荐下载:
    运行环境:
    Burpsuite需要JAVA支持,请先安装JAVA环境
    1.应用场景
    在渗透测试过程中,目标有可能已经被黑客入侵过,在扫描过程中会发现入侵者留下的Webshell等,但Webshell一般都有密码,如图1所示,如果能够获取密码,那么就能顺利进入目标系统,Webshell有一句话的也有大马型的,本例场景为大马。
    
    webshell大马
    2. Burpsuite安装与设置
    Proxy(代理)——拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
    (1)设置代理服务器
    Burpsuite运行需要JAVA支持,请先安装JAVA环境,安装Java环境后,打开浏览器进行设置,对IE单击“设置”-“Internet选项”-“连接”-“局域网设置”-“代理服务器”,设置地址为“127.0.0.1”,端口为“8080”。对Chrome浏览器则单击“设置”-“高级设置”-“网络”-“更改代理服务器设置”进行如图IE设置。
    
    设置IE浏览器
    (2)查看Burpsuite代理状态
    运行Burpsuite,单击“Proxy”-“Options”,如图3所示,代理端口是8080,状态为正在运行,浏览器设置代理后,就可以成功的抓取浏览器数据。
    
    查看Burpsuite设置状态
    (3)拦截设置
    在“Proxy”中单击“Intercept”,单击“Intercept is on”设置拦截为运行,再次单击“Intercept is off”则表示拦截关闭。单击“Forward”表示放行,单击“Drop”表示丢弃。
    
    拦截设置
    3.破解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”进行设置。
    
    将包发送到Intruder中
    (2)设置密码参数
    在“position”这个菜单页选择“attack type”(功能类型)为默认sniper即可,然后选中Cookie中下面部门, 点击右边第二个clear$按钮,去掉$符号,然后单击“Add$”按钮增加破解密码参数,如图6所示,需要将密码前面的值去掉,同时需要清除Cookie后面ASPSESSIONIDCATBRDTD=EMPJNHNALLEHBHIKGGFGENCM的$符号。
    
    设置破解密码参数
    (3)设置破解密码字典
    单击“payloads”功能标签页面,这里是密码字典的一些配置。先单击“Clear”清楚前面的密码字典设置,然后单击“Load”从一个文件从导入密码。如图7所示,已经导入了密码字典。
    
    设置密码字典
    (4)设置密码提交错误过滤信息
    单击“Options”(选项)标签菜单页面,该页主要设置错误信息的过滤,也就是如果是错误的则继续进行破解,这个需要针对不同情况进行相应设置,如图8所示,单击“Clear”清楚以前的默认设置。在webshell地址中随便输入一个密码,如图9所示,获取错误信息的反馈页面,并获取错误关键字“密码错误不能登录”。在“Add”按钮后的输入框中输入“密码错误不能登录”并添加,至此密码暴力破解设置完成。
    
    设置错误过滤信息
    
    获取错误关键字
    
    添加过滤关键字
    (5)开始破解Webshell密码
    单击菜单上面的“intruder”-“Start Attack”开始进行攻击测试,在攻击响应页面中可以看到前面所设置的密码发送的每一个请求。然后在“Status”中会返回状态,“302”代表成功,200是返回正常。如图11所示,密码“00sujung”即为webshell密码。有关状态反馈代码具体含义如下:
    200 返回正常,即服务器接受了我们的请求并返回了响应的结果,通常说明这个页面是存在的,发送的请求是允许的。
    302 返回错误,即服务器接受了我们的请求,但是需要更多操作来获取返回结果。比如跳转到新的页面,因为我们都知道shell密码输入后会跳转到响应的功能页面。所以就产生了这样的错误。
    
    破解webshell密码成功
    (6)成功获取webshell
    在webshell密码框中输入刚才破解的密码“00sujung”,成功登录webshell,如图12所示,成功破解webshell密码。
    
    成功获取webshell