AD

路由器口令爆破记录

轮回后,又碰到了这个网吧/企业级路由器——BOC,想用brup suite爆破,发现没找到相应的参数,尝试了好多次后,经过别人指点,发现原来路由器的认证在http头里面。后续了解到,路由器采用的是Basic authorization验证。似乎准确应该称呼为www-authenticate认证。参考链接:路由器的认证

使用brup suite想要正常抓取到数据,需要把拦截功能关闭,不然会无法正常弹出验证窗口。我猜测应该和Basic authorization验证的特性有关。

打算用paython脚本,模拟这个,采用一个口令字典,和admin用户计算,计算出组合的BASE-64的值,然后进行爆破尝试。

2013-05-18更新===============================================

使用httplib实现,暂时无法验证正确性。

import httplib
import base64

url='192.168.16.1'
#连接服务器
conn=httplib.HTTPConnection(url)
#auth = base64.b64encode('cleartext username'+ ':'+ 'cleartext passwords')
#headers = {"Authorization": "Basic "+ auth}
headers = {"Authorization": "Basic YWRtaW46YWRtaW4="}

#headers={'User-Agent' : 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0',
#         'Content-Type':'text/html',
#         'Authorization':'Basic YWRtaW46YWRtaW4='}
conn.request('POST',url,headers=headers)

#conn.requeset('POST','url',headers=headers)

res=conn.getresponse()
body = res.read()
print body

#关闭连接
conn.close()

=======================================================================

使用urllib2实现,我个人更喜欢这个。

#! /usr/bin/env python
#coding=utf-8

import urlparse
import urllib
import urllib2
import base64
import sys
import re

#登录的主页面
theurl = 'http://192.168.16.1'

username = 'admin'
password = 'admin'
req = urllib2.Request(theurl)

base64string = base64.encodestring('%s:%s' % (username, password))[:-1] #注意哦,这里最后会自动添加一个\n
authheader =  "Basic %s" % base64string
req.add_header("Authorization", authheader)

try:
handle = urllib2.urlopen(req)
except IOError, e:
if hasattr(e, 'code'):
if e.code != 401:
print 'We got another error'
print e.code
else:
print e.headers
print e.headers['www-authenticate']

# here we shouldn't fail if the username/password is right
print "It looks like the username or password is wrong."
sys.exit(1)
thepage = handle.read()
print thepage

===========================================================================

 

 

评论

  1. 其实直接用Hydra跑就好了啊

    回复删除
  2. 闲着无聊,自己练手的小脚本

    回复删除

发表评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

Ubiquiti_Networks_UniFi_Cloud_Key_authed_rce