Kurl——轻量化http-authentication在线暴破工具

雨笋教育又来给大家分享渗透工具了,安全加固必备工具!操作步骤往下看:

0x00:背景

HTTP认证(HTTP-Authentication,后文统称http-auth)是一种标准化的HTTP安全加固方法(RFC 7235等),虽然不怎么常用,因为WEB服务器的页面通常情况下都采用匿名认证方式,即允许所有人访问(如果服务器或者防火墙没有进行IP限制)。与其他基于密码的身份认证方式一样(如果未引入其它认证因子),http-auth同样存在无法核实用户是否为真实可信的用户。虽然http-auth技术并不常用,但在我们后期的研究工作中会频繁涉及(研究正在进行中,不便透露具体应用场景),加之我们希望能在低功耗、多元化OS的场景下实施http-auth攻击,因此我们希望寻求一种折中的方案——既便于在多平台下使用,又能大幅减少功耗,毕竟在手机,平板电脑上面电池续航是一个很大的问题。正是基于上述原因,我们尝试着用shell脚本写了“閦蠱”项目(vmOS)上的第一个hacking APP——kurl, kill http-auth via curl。

0x01:验证

Curl是一个*nix平台下非常容易获取和安装的工具,可以满足对CLI重度依赖的用户实现必要的HTTP访问请求。Curl提供了对常见http-auth的支持,包括basic,digest,ntlm,negotiate等。但是,我们后期研究工作中大概率涉及到的是basic和digest这两种认证,因此我们在kurl的demo中只实现了对这两种认证的支持。

通过在Windows Srv 2012 R2和CentOS上配置http-auth后,我们通过curl命令获取想要的页面,比如//192.168.*.*/testme.html。 同时,我们将获取到的页面保存到本地,通过先后输入正确和错误的密码,我们得到了两个不同大小的页面,并且分析其中内容后,我们确认:

——在输入正确的用户名和密码后,我们可以获得登录成功后的目标页面;

——在输入错误的用户名或者密码后,我们得到的页面包括http状态代码401的页面

——通过大小比对以及返回状态码,我们完全可以轻易区分登录成功和失败的页面。其实,burpsuite也是采用的这种方法,不过它具有更强的通用性和便捷的UI。

再者,我们可以看到错误页面中存在http状态代码401,大多数情况下都会有这个status代码,这是http-auth协议中规定的。

通过上面的验证,我们确信可以通过编写一个简单的shell脚本,来实现针对basic和digest这两种http-auth的在线暴力破解工具,同时还可以根据后期可能用到的功能进行精细打磨。

0x02:kurl实现

Kurl只是一个验证性的demo,因此只是实现了最简单的功能,针对采用basic和digest两种方式验证用户身份的http-auth进行在线暴力破解。考虑到我们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值