先森閑著沒事就喜歡研究光貓、路由器那一套,對網速比較敏感。在折騰網速的時候經常遇到的方案就是光貓僅轉換光信號,改成橋接讓路由器直接撥號。
讓路由器撥號就涉及到寬帶的賬號密碼了,先森已經拿到了光貓的超管賬號,由于寬帶不是先森辦的,也不好聯系電信客服索要寬帶賬號密碼,所以就想著自己來獲取寬帶賬號密碼。
先森坐標成都,運營商電信,光貓型號。
折騰記錄
百度有方法說是將hw_ctree.xml解密,里面會有寬帶密碼,但是先森實測解密出來里面只有超管密碼啥的,并沒有寬帶密碼。
經過研究,實測可行方案如下。
1、獲取“明文”
首先使用超管賬號登錄光貓后臺,8080端口那個,不是80端口的。
在網絡-網絡設置中,連接名稱選擇帶internet的那個,可以看到下面有用戶名和密碼,這個就是寬帶賬號和密碼了。成都的寬帶賬號是CD開頭的,CD是大寫。
密碼是密文,這個只是顯示密文,通過F12大法,找到密碼的input標簽,將type的“password”改成“text”就能看到明文了。但是這個明文是64位的一場串,一看就不是什么正經密碼。

光貓后臺F12大法
2、破解密碼
正經的密碼不可能64位那么行,拿著這個密碼去撥號也是沒法成功的。經過搜索了解,這個密碼是經過md5和哈希后的值,這個值想反解是很難的,但是寬帶密碼是純數字的,且并不是很長的,所以我們可以生成0~幾百萬數字先md5再哈希的值去跟“明文”做對比,相等的數字就是寬帶密碼了。
python代碼:
import hashlib
# “明文”貼到這里:
secret = '04f96727bb95e8cd75455822a7472e99a3fa14ce8098ffc5ce4a73ef07dde3fe'
def sha256(todo):
return hashlib.sha256(str(todo).encode()).hexdigest()
def md5(todo):
return hashlib.md5(str(todo).encode()).hexdigest()
for value in range(0, 1000000000): # 可以將數字調大,獲取更長的密碼
s = sha256(md5(value))
print(value) # 打印可以看到當前計算的數字,可能會影響效率,不需要的可以刪掉此行
if s == secret:
print(f'find: {s} = {value}')
break
“明文”字符串以“04f96727bb95e8cd75455822a7472e99a3fa14ce8098ffc5ce4a73ef07dde3fe”為例,這個密碼很簡單,解密出來是123123:

解密過程
當然,先森用的寬帶密碼沒這么簡單,不過也只是跑了幾分鐘就跑出來了,跑的速度具體要看機器的配置。
先森將光貓改成橋接后,路由器使用破解出來的寬帶密碼撥號成功,證明此方法是具有可行性的。
歷史上的今天:
轉載請注明出處來自http://www.cnidcc.cn/adsl_password.html

川公網安備 51011202000104號
編程的重要性
勞煩博主給我破解一下吧,謝謝!
f4c1a5f381295850f03ab21be45f01c6bd222393bbe5b528d4c9a3a345129b7d
@可口可樂: 你怕不是在搞我,我算到20億都沒算出來,你這個估計和四川電信的規則不一樣,直接打10000號問吧。
同款光貓怎么獲取超級管理員密碼?
同款光貓怎么得到管理員密碼?