tomcat管理界面弱口令扫描

关于tomcat弱口令扫描问题,应当注意两点。第一是版本问题。

在tomcat6及6之前,是可以直接暴力破解的。

抓一下tomcat登陆管理界面的数据包,可以看出,其认证方式是在http的请求header中添加一个字段为 Authorization,这个字段的值是 “Basic base64(username:password)”,因此在暴力破解时,只需要在请求包中添加该字段即可。

在tomcat6以后,默认是做了暴力破解的限制的。查看官方文档,对  LockOut Realm - org.apache.catalina.realm.LockOutRealm 类有说明,其中有一个参数为 “failureCount”,文档中对该参数的说明为” The number of times in a row a user has to fail authentication to be locked out. Defaults to 5.”,默认尝试5次失败后,账号被锁定。该参数在配置文件server.xml中默认无配置,在无配置的情况下,默认是5次错误机会。可以显式配置在<Realm>中(该Realm的className必须是org.apache.catalina.realm.LockOutRealm),如下:

failureCount=”3” lockOutTime=”3000”

当尝试5次错误密码后,账号被锁定,即使输入正确密码,也返回401错误,且这个错误和密码输入错误的返回结果是一样的,如下:

官方文档:http://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#LockOut_Realm_-_org.apache.catalina.realm.LockOutRealm

因此在编写弱口令扫描插件时,要注意如果尝试次数过多,即使字典中有正确密码,会提示401错误,而且和密码错误的返回结果相同,很容易误认为是脚本的问题。这点要注意。解决办法就是在测试时,将server.xml中添加 failureCount=”999999” lockOutTime=”0”。

 

第二个要注意的是,密码正确时,不一定返回200,返回403也是密码正确的情况。

从 tomcat的配置文件 tomcat-user.xml 中可以看出,认证所需要的信息有“roles”,”usernmae”,”password”,即,返回200的条件是用户a的用户名、密码正确且有权限访问该功能。role称为角色,如果一个用户是某个角色,则代表它能够访问该角色定义的功能。

在tomcat中,角色一共有manager-gui,manager-script,manager-jmx,manager-status四种,具体解释如下。

当用户真实存在但没有相应角色时,访问对应权限会提示403错误。如下:

因此在编写测试脚本时,要考虑这种情况,返回403错误,也属于密码正确。

 

第三个要注意的是,在tomcat6及以后的版本,已经取消了默认用户。在tomcat6之前,是存在默认用户的,用户名是admin,密码是空。因此这种情况也要考虑进去。虽然现在使用tomcat5的已经比较少了。如下。由于我的tomcat是docker安装的,这个tomcat5版本官方没有,是下载的别人封装的。因此密码是否为空无法证实。从网上查得为空。如下为默认配置。

 

代码核心逻辑如下:

headers = {'Authorization': 'Basic %s==' % (base64.b64encode(username + ':' + password))}
try:
    r = requests.get(url, headers=headers, timeout=3)
    print r.status_code
    if r.status_code == 200:
        print 'weakpass'                     
    elif r.status_code == 403:
        print 'weakpass'               
    elif r.status_code == 401:
        continue
except:
    pass

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Tomcat弱口令扫描器是一种用于检测Tomcat服务器的弱口令安全风险的工具。由于Tomcat是一款常用的开源Java Web应用服务器,因此存在一些默认用户名和密码的弱口令,这些弱口令可能会被攻击者利用来入侵服务器。 Tomcat弱口令扫描器可以帮助管理员及时发现并解决这些安全风险。下载这个扫描器的目的是以防止攻击者利用弱口令入侵服务器,从而保护服务器内部数据的安全。 当我们下载Tomcat弱口令扫描器时,需要注意以下几点: 1. 确保下载源可靠:最好从官方或受信任的软件下载网站上下载,避免从不信任的来源下载,以免下载到篡改或恶意软件。 2. 检查软件完整性:在下载完成后,进行文件的完整性校验,例如使用MD5或SHA-256等哈希算法验证文件的一致性。 3. 安装和配置:根据软件提供的安装说明和用户手册,正确安装和配置扫描器。确保根据实际需求设置扫描器的参数,例如要扫描的目标URL、检测的用户名密码策略等等。 4. 扫描服务器:根据软件的指导,启动扫描器,开始扫描Tomcat服务器。扫描器将会自动或手动检测弱口令,并给出相应的结果报告。 5. 修复安全漏洞:通过查看扫描报告,发现存在弱口令的情况,需要及时修改服务器的口令。根据弱口令扫描器的建议修改服务器密码,确保密码强度,以增强服务器的安全性。 综上所述,下载Tomcat弱口令扫描器是为了帮助我们发现并修复Tomcat服务器默认弱口令的安全风险,确保服务器的安全运行。正确选择可靠的渠道进行下载,并遵循软件说明和安全操作指南,能够更好地保护服务器的安全。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值