成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Python如何利用Har文件進(jìn)行遍歷指定字典替換提交的數(shù)據(jù)詳解

瀏覽:107日期:2022-07-06 13:23:59

利用Chrome或Firefox保存的Har文件http/https請(qǐng)求,可用于遍歷字典提交From表單.

少說廢話直接上代碼

Github地址:https://github.com/H0xMrLin/wuppwn

#encoding:utf-8import sys;#Yeah,我沒有注釋。懶得寫HelpContent='''Help:+=====================================================================================================================+ WupPwn.pyPython3 WupPwn.py HarFileName [pd=filedName:Value|pd=filedName:$DicFileName] [if=responseContent] [ifnot=responseContent] [ifend=responseContent] [out=OutFileName] HarFileName har文件名 谷歌或Firefox web抓包保存為har entries下可以看到所有請(qǐng)求的地址及參數(shù) 可以刪除一些不必要的請(qǐng)求讓程序更快運(yùn)行 pd 設(shè)置上傳數(shù)據(jù) 字段名:值 或者 字段名:字典 if=xxx 如果內(nèi)容是xxx那就記錄 可多個(gè)用||隔開 ifnot=xxx 如果內(nèi)容不是xxx哪就記錄 可多個(gè)用||隔開 ifend=xxx 如果內(nèi)容是xxx那就記錄并結(jié)束 可多個(gè)用||隔開 out=xx.txt 輸出記錄到文件 see=on|off 查看每次嘗試破解響應(yīng) Current request method have: GET/POST *且目前不支持http請(qǐng)求頭帶 RFC 標(biāo)識(shí) (RFC-eg: ’:method’:’POST’)可以檢查是否有 md5=XXX 將 指定字段名的值進(jìn)行md5加密再暴力破解 一般=password||passwd||pwd ... th=5 設(shè)置5個(gè)線程同時(shí)運(yùn)行 版本警告: 《!》: 切勿用作違法使用,僅供滲透測(cè)試,如非法使用該工具與作者無關(guān)。 Makerby:Pwn0_+x_X+=====================================================================================================================+''';if(len(sys.argv) <=1): print(HelpContent); sys.exit(1);if(sys.argv[1].lower()=='h' or sys.argv[1].lower()=='-h' or sys.argv[1].lower()=='help'or sys.argv[1].lower()=='-help'): print(HelpContent); sys.exit(1);import os;import json;import urllib.request;import requests;import socket;import hashlib;import threading;import traceback;import uuid;import copyfrom hyper.contrib import HTTP20Adapter;socket.setdefaulttimeout(3);CAllowRequestMethod=['get','post'];HARFile=sys.argv[1];harfp=open(HARFile,'rb');harContent=harfp.read();HarJSON=json.loads(harContent);Body=HarJSON['log']print('Version :'+Body['version']);print('Request Count :'+str( len(Body['entries'])))AimUrlAPar={};for reqBody in Body['entries']: AimUrlAPar[reqBody['request']['url']]={}; AllowRequest='×'; if(reqBody['request']['method'].lower() in CAllowRequestMethod): AllowRequest='√'; else: print(' '*5,'[',AllowRequest,']',reqBody['request']['method'],'tt'+reqBody['request']['url'].split('?')[0]) continue; print(' '*5,'[',AllowRequest,']',reqBody['request']['method'],'tt'+reqBody['request']['url'].split('?')[0]) Parameter= reqBody['request']['queryString'] if reqBody['request']['method'].lower()=='get' else reqBody['request']['postData']['text'] #print(Parameter) if(reqBody['request']['method'].lower()=='post'): if 'application/json' in reqBody['request']['postData']['mimeType']: Parameter=json.loads(Parameter) else: Parameter=reqBody['request']['postData']['params']; tmpPar={}; for item in Parameter: tmpPar[item['name']]=item['value']; Parameter=tmpPar; AimUrlAPar[reqBody['request']['url']]['paramtertype']=reqBody['request']['postData']['mimeType'].lower() elif(reqBody['request']['method'].lower()=='get'): Par={}; #print('get') for item in Parameter: Par[item['name']]=item['value'] Parameter=Par; headers={}; headNotContains=['Content-Length']; for headFiled in reqBody['request']['headers']: if headFiled['name'] in headNotContains: continue; headers[headFiled['name']]=headFiled['value']; cookies={}; for headFiled in reqBody['request']['cookies']: cookies[headFiled['name']]=headFiled['value']; #print(cookies); AimUrlAPar[reqBody['request']['url']]['arguments']=Parameter AimUrlAPar[reqBody['request']['url']]['header']=headers AimUrlAPar[reqBody['request']['url']]['cookies']=cookies AimUrlAPar[reqBody['request']['url']]['method']=reqBody['request']['method'].lower() AimUrlAPar[reqBody['request']['url']]['httpversion']=reqBody['request']['httpVersion'].lower() #系統(tǒng)存儲(chǔ)kPMd5={}; #用戶參數(shù)設(shè)定pds=[];ifC=[];# 最小優(yōu)先級(jí)ifN=[];# 其二優(yōu)先級(jí)ifE=[];# 最大優(yōu)先級(jí)otFile='';ascMD5=[];testsee='off';see='off';th=0;#因?yàn)槲也惶矚g指令的參數(shù)化模塊 所以我直接寫了個(gè)硬代碼 注:python的模塊有時(shí)候很討厭.def setBaseParamters(Key,Value): global see,otFile,testsee,th; Key=Key.lower(); if(Key=='pd'): FILEDSUM=Value.split(':'); filedName=FILEDSUM[0]; filedValue=FILEDSUM[1]; if(filedValue[0]=='$'): apArr=[]; filedP=open(filedValue[1:],'r'); redValueLines=filedP.readlines(); for val in redValueLines: apArr.append({filedName:val.replace('n','')}); pds.append(apArr); else: pds.append([{filedName:filedValue}]); elif(Key=='if'): ifcItems=Value.split('||'); for item in ifcItems: ifC.append(item); elif(Key=='ifnot'): ifcItems=Value.split('||'); for item in ifcItems: ifN.append(item); elif(Key=='ifend'): ifcItems=Value.split('||'); for item in ifcItems: ifE.append(item); elif(Key=='md5'): md5Items=Value.split('||'); for item in md5Items: ascMD5.append(item); elif(Key=='see'): see=Value.strip().lower(); elif(Key=='out'): otFile=Value.strip().lower(); elif(Key=='testsee'): testsee=Value.strip().lower(); elif(Key=='th'): th=int(Value.strip().lower()); return;curThs={};def pdLoop(index,havePar={},myThead=None): global curThs,kPMd5; for item in pds[index]: FiledName=list(item.keys())[0]; FiledValue=list(item.values())[0]; if(FiledName in ascMD5): m5Obj=hashlib.md5(bytes(FiledValue,encoding='UTF-8')); SourceValue=FiledValue; FiledValue=m5Obj.hexdigest(); kPMd5[FiledValue]=SourceValue; havePar[FiledName]=FiledValue; if(index>0): if(th>0 and len(curThs)<th ): print('[+]線程記錄點(diǎn)') childThread=str(uuid.uuid1()).replace('-',''); RunTh= threading.Thread(target=pdLoop,args=(index-1,copy.deepcopy(havePar),childThread,));curThs[childThread]=RunTh; RunTh.start(); else: pdLoop(index-1,copy.deepcopy(havePar)); else: Call(havePar); if(myThead!=None): print('[+]線程釋放點(diǎn)',myThead) curThs.pop(myThead);def Call(sendData): for reqUrl in list(AimUrlAPar.keys()): CurHeaders= AimUrlAPar[reqUrl]['header']; CurHeaders['Cookie']=''; CurCookies= AimUrlAPar[reqUrl]['cookies']; for cookieKey in list(CurCookies.keys()): CurHeaders['Cookie']+=cookieKey+'='+CurCookies[cookieKey]+';' #print(cookieKey+'='+CurCookies[cookieKey]+';'); CurArguments= AimUrlAPar[reqUrl]['arguments']; for cgDataKey in list(sendData.keys()): CurArguments[cgDataKey]=sendData[cgDataKey]; try: if(AimUrlAPar[reqUrl]['method']=='get'): print('[+]GET-Pwn:%s'%(reqUrl)); #data = urllib.parse.urlencode(CurArguments).encode(’utf-8’); if(AimUrlAPar[reqUrl]['httpversion']=='http/2.0'): sessions.mount(reqUrl,HTTP20Adapter()); res=requests.get(reqUrl,headers=CurHeaders,params=CurArguments); print(res.text); Auth(CurArguments,res.text); elif(AimUrlAPar[reqUrl]['method']=='post'): ''' data = urllib.parse.urlencode(CurArguments).encode(’utf-8’) request = urllib.request.Request(reqUrl,data = data,headers = CurHeaders,method='POST'); response = urllib.request.urlopen(request) html = response.read().decode(’utf-8’)''' if(AimUrlAPar[reqUrl]['paramtertype']=='application/x-www-form-urlencoded'): data = urllib.parse.urlencode(CurArguments).encode(’utf-8’) else: data = json.dumps(CurArguments); sessions=requests.session(); if(AimUrlAPar[reqUrl]['httpversion']=='http/2.0'): sessions.mount(reqUrl,HTTP20Adapter()); res=sessions.post(reqUrl,data=data,headers=CurHeaders); Auth(CurArguments,res.text); None; except Exception as e: print('[-]Pwn timeout',traceback.print_exc(),kPMd5) def Auth(Arguments,resContent): Success=False; Arguments=copy.deepcopy(Arguments) for argItemName in list(Arguments.keys()): if(argItemName in ascMD5): Arguments[argItemName]=kPMd5[Arguments[argItemName]]; #print(ifE,ifC,ifN) for ifeItem in ifE: if(ifeItem in resContent): Output(str(Arguments)); sys.exit(1); for ifnItem in ifN: if not(ifnItem in resContent ): Output(str(Arguments)); Success=True for ifcItem in ifC: if (ifcItem in resContent ): Output(str(Arguments)); Success=True if(see==’on’): print({True:'t[√]',False:'[-]'}[Success],Success,Arguments); if(testsee=='on'): print(resContent); def Output(text): if(otFile.strip() == ''): return; os.system('echo %s>>%s'%(text,otFile)); return ; for index in range(len(sys.argv)-2): parIndex=index+2; parItem= sys.argv[parIndex]; try: Item= parItem.split('='); key=Item[0]; value=Item[1]; setBaseParamters(key,value); except: print('Error paramter(%s)'%(parItem));#print(AimUrlAPar);if(len(pds)-1>=0): pdLoop(len(pds)-1)

總結(jié)

到此這篇關(guān)于Python如何利用Har文件進(jìn)行遍歷指定字典替換提交的數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python用Har文件遍歷指定字典替換提交的數(shù)據(jù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲综合丁香| 国产精品九色蝌蚪自拍| 日本韩国精品在线| 国产区二精品视| 一区福利视频| 国产日韩欧美一区| 中文日韩在线| 色婷婷精品久久二区二区蜜臀av| 一道本成人在线| 久久久一本精品99久久精品66| 鲁鲁狠狠狠7777一区二区| 麻豆成人av| 欧美三级韩国三级日本一级| 欧美色综合影院| 91精品在线观看入口| 日韩精品一区二区三区在线播放 | 在线观看日韩av电影| 亚洲精品一区二区三区av| 亚洲精品国产精品国自产观看| 99视频精品| 色综合久久久久久久久久久| 欧美日韩国产片| 日韩一级片网站| 国产亚洲一区二区三区在线观看 | 成人精品国产免费网站| 91麻豆视频网站| 日韩午夜在线电影| 久久一区二区三区超碰国产精品| 欧洲国产伦久久久久久久| 欧美精品乱码久久久久久按摩| 欧美不卡激情三级在线观看| 国产精品欧美久久久久一区二区| 一区二区三区四区乱视频| 日本最新不卡在线| 波多野结衣亚洲一区| 在线播放精品| 欧美三区在线视频| 久久久精品欧美丰满| 亚洲综合色噜噜狠狠| 美女免费视频一区二区| 91在线视频官网| 国产一区二区高清视频| 欧美一区二区三区婷婷月色| 国产精品色噜噜| 久久精品国产77777蜜臀| 成人三级伦理片| 一区二区三区欧美在线| 制服丝袜一区二区三区| 亚洲色图清纯唯美| 久久99精品久久久久久国产越南| 欧美承认网站| 欧美日韩激情在线| 日韩毛片精品高清免费| 激情久久五月天| 亚洲大片av| 这里是久久伊人| 亚洲制服丝袜av| 亚洲一区二区欧美| 黄色成人在线网址| 在线观看91精品国产入口| 日韩精品在线网站| 天涯成人国产亚洲精品一区av| 国产成a人亚洲精品| 国产一区二区高清不卡| 精品国产凹凸成av人导航| 亚洲一区二区视频在线观看| 99热精品一区二区| 欧美久久久久久久久| 夜夜精品视频一区二区| 91丨porny丨国产入口| 欧美视频中文字幕| 尤物av一区二区| 91美女片黄在线| 日韩情涩欧美日韩视频| 午夜电影网亚洲视频| 1024亚洲| 中文欧美字幕免费| 风流少妇一区二区| 欧美日韩在线不卡| 日韩黄色在线观看| 国产亚洲一区在线播放| 国产偷v国产偷v亚洲高清| 国产精品18久久久久| 久久综合狠狠综合久久综青草| 亚洲欧美日韩国产手机在线| 亚洲欧美一级二级三级| 欧美va亚洲va在线观看蝴蝶网| 美女在线一区二区| 91久久线看在观草草青青| 亚洲成年人影院| 亚洲巨乳在线| 亚洲欧美另类久久久精品| 国产精品v欧美精品v日本精品动漫| 久久综合色婷婷| 粗大黑人巨茎大战欧美成人| 91精品视频网| 国产精品18久久久久久久久久久久| 欧美影视一区二区三区| 麻豆成人免费电影| 欧美性淫爽ww久久久久无| 天堂av在线一区| 色综合久久99| 免费观看成人鲁鲁鲁鲁鲁视频| 久久精品国语| 免费高清在线一区| 欧美三级韩国三级日本三斤| 久久99国产精品麻豆| 欧美日韩高清在线播放| 国产一二三精品| 日韩一区二区电影网| 成人性生交大片免费看中文| 欧美成va人片在线观看| 91论坛在线播放| 国产精品初高中害羞小美女文| 在线观看亚洲视频啊啊啊啊| 亚洲九九爱视频| 麻豆成人av| 蜜桃视频一区二区| 日韩免费观看高清完整版在线观看| 成人少妇影院yyyy| 欧美激情中文不卡| 99xxxx成人网| 免费精品视频最新在线| 欧美一区二区三区在线电影| 91在线观看免费视频| 亚洲天堂成人网| 一本色道亚洲精品aⅴ| 精品一区二区三区香蕉蜜桃 | 欧美精品日韩一区| 91一区二区三区在线观看| 中文字幕一区二区三区不卡| 美女黄色成人网| 国产精品一二一区| 国产精品美女久久久久久2018| 国产农村妇女毛片精品久久莱园子| 麻豆极品一区二区三区| 亚洲精品在线观看视频| 中文精品视频| 国产自产高清不卡| 亚洲国产高清不卡| 久久久久久网| eeuss鲁一区二区三区| 亚洲免费看黄网站| 欧美日韩一级大片网址| 91美女在线看| 天堂蜜桃一区二区三区| 精品国产凹凸成av人网站| 亚洲一区不卡| 99国产一区二区三精品乱码| 亚洲激情图片一区| 日韩亚洲欧美一区二区三区| 国语自产精品视频在线看抢先版结局| 日韩精品乱码免费| 中文字幕第一区综合| 欧美在线视频日韩| 欧美色欧美亚洲另类七区| 美女在线一区二区| 亚洲三级在线免费| 国产农村妇女精品| 欧美性大战久久久久久久蜜臀| 欧美片网站免费| 国产经典欧美精品| 午夜天堂影视香蕉久久| 国产欧美一区二区精品秋霞影院 | 亚洲蜜臀av乱码久久精品| 欧美日韩一级视频| 国产精品尤物| 色综合视频一区二区三区高清| 美美哒免费高清在线观看视频一区二区| 国产网红主播福利一区二区| 欧美美女直播网站| 香蕉久久a毛片| 国内自拍视频一区二区三区| 国产sm精品调教视频网站| 亚洲 欧美综合在线网络| 国产精品久久久久久久久果冻传媒| 欧美日韩中文字幕一区二区| 亚洲一区日韩在线| 国语对白精品一区二区| 波多野结衣精品在线| 国产综合色视频| 午夜婷婷国产麻豆精品| 亚洲日本韩国一区| 国产精品国产a| 精品久久一区二区| 欧美一区二区三区影视| 欧美日韩电影在线播放| 久久五月天婷婷| 性高湖久久久久久久久| 一区二区三区|亚洲午夜| 色综合一个色综合| av在线免费不卡| eeuss影院一区二区三区| 大陆成人av片| 成人午夜电影网站| 不卡一区中文字幕| 成人免费视频国产在线观看| 国产乱码字幕精品高清av | 日韩制服丝袜av| 亚洲成人一区在线|