AuthTrans(原创工具)+BurpSuite的暴力美学-破解Http Basic认证

2013-02-26 426590人围观 ,发现 20 个不明物体 WEB安全

写在前面的话: 笔者菜鸟一枚,比较喜欢折腾,在尝试用BurpSuite暴力破解http basic认证的时候,碰到了,如下问题:


Authorization的Basic值域是Base64加密的,该值为 username:password  (注意“:”号) 经过base64加密的结果,但笔者手头没有这样的字典,而且凭我对BurpSuite(以下简称BP)有限的了解,BP的decoder,不能完全解决这个问题。

A格式的字典,可以通过设置encode ,转换为base64。

B 格式是user字典与pass字典的合集。两者分别encode,这样拼接起来的效果是不是和A一样呢,经实验,我想多了。关于问题的解决,这里给出笔者的解决方案,一定还有更好的方法,这里算是抛砖引玉吧。期待和大家交流。

这里的着眼点是生成user:pass组合的字典,既然最后Basic的值域是base64加密后的结果,那不如直接生成base64_encode(user:pass)后的结果字典,这是AuthTrans(Ruby写成)实现的功能。
功能界面:(中国式英语,请见谅…..)


现在手头的字典,为密码字典(pass.txt),用户名字典(user.txt),以及用户:密码字典(user-pass.txt),通过AuthTrans都可以转换为user:pass字典。
各个选项意思如下:

A:加载user.txt和pass.txt,生成base64加密的user-pass字典,遍历实现。
B:加载user:pass字典,输出base64加密的user-pass字典。
C:输入一个用户名,并加载pass.txt。
D:输入一个密码,并加载user.txt

现演示环境目录结构如下:

选择C选项后的运行结果,output文件夹为自动创建的输出目录。

文件输出位置,命名规则很容易就能看出来。


生成的root用户名和pass.txt 遍历后的 root-pass 字典

现在回到BP,加载刚才生成的字典。一轮遍历下来,全是401。郁闷了,看下包

原来我们的值被BurpSuite 给URL编码了,找到问题,取消自动编码。


再跑一次。这里面有200,不过,人工寻找,太累了。

学会使用过滤器,能节省好多时间。


其实过滤器还可以写成,200,但是这是在我们知道正确结果的返回情况后,所得出的结论。一般实际应用中,你是不知道正确的返回页面是怎样的,但是可以知道错误页面的特征,所以我们使用反向选择,更具实用性。
勾选negative(反向选择),匹配项,填写错误页面的特征。
感觉过滤器的选择是个大学问,可以写一篇很长的文章。
欢迎讨论。
2013-02-21 19:46:30
plusman

这些评论亮了

  • L1well (1级) PKAV.NET,誓与AV抢宅男! 回复
    @白客
    直接用 custom iterator,
    第一个position导入用户名字典,separator填入":",
    第二个position导入密码字典,
    接着在PayLoad processing rules加一个规则:base64-encode,
    直接搞定···
    )17( 亮了
  • laterain 回复
    学习了。。。
    但是IIS这种就轻松绕过了
    /admin 有认证
    /admin:$i30:$index_allocation 绕过认证
    )14( 亮了
  • 黑客 回复
    多此一举,burpSuite直接就可以完全搞定。还暴力美学,恶心人
    )13( 亮了
发表评论

已有 20 条评论

取消
Loading...
css.php