通過requests庫偽造表單模擬登入github

2021-08-22 19:26:52 字數 1450 閱讀 9815

from lxml import etree

import requests

# import pdb

class

login

():"""

登入類,為例項提供了初始化狀態和方法

"""def__init__

(self):

""" 初始化請求頭,跳轉url資訊,會話

"""self.headers =

self.login_url = ''

self.post_url = ''

self.logined_url = ''

self.session = requests.session()

deftoken

(self):

""" 獲取authticity_token資訊(乙個隱藏的input),為偽造表單登入提供資訊

"""response = self.session.get(self.login_url, headers=self.headers)

selector = etree.html(response.text)

token = selector.xpath('//form/input[2]/@value')[0]

return token

deflogin

(self, email, password):

""" 偽造表單登入

"""post_data =

response = self.session.post(self.post_url, data=post_data,headers=self.headers)

response = self.session.get(self.logined_url,headers=self.headers)

if response.status_code == 200:

self.profile(response.text)

defprofile

(self, html):

""" 到個人資訊頁,獲取個人資訊

"""selector = etree.html(html)

name = selector.xpath('//input[@id="user_profile_name"]/@value')[0]

email = selector.xpath('//select[@id="user_profile_email"]/option[@value!=""]/text()')

print(name, email)

if __name__ == '__main__':

# pdb.set_trace()

login = login()

login.login(email='email', password='password')

PHP防止跨站表單提交與同站跨頁偽造表單的攻擊

在以前的防止跨站攻擊的時候,使用了驗證提交的頁面是否是同乙個站點,這樣可以防止普通的攻擊,ereg blog.qita.in server http referer 不過也不是很安全的,因為攻擊者可以偽造http referer,如 header referer blog.qita.in 或者在惡意...

PHP防止跨站表單提交與同站跨頁偽造表單的攻擊

在以前的防止跨站攻擊的時候,使用了驗證提交的頁面是否是同乙個站點,這樣可以防止普通的攻擊,ereg blog.qita.in server http referer 不過也不是很安全的,因為攻擊者可以偽造http referer,如 header referer blog.qita.in 或者在惡意...

請求庫之requests庫

安裝 pip install requests get,delete,post 本質都是呼叫request函式 ret requests.get print ret.status code 響應狀態碼 print ret.text 響應體,轉成了字串 print ret.content ret re...