python 自动点赞_python实现在有漏洞的网站实现自动注册、登录、点赞
必須有以下幾個漏洞才能實現該功能:
1.驗證碼是假的,有圖片,但是實際輸入的驗證碼與圖片無關;否則的話必須要用到python的圖像識別的模塊
2.注冊時不需要郵箱驗證,所以注冊填寫的郵箱地址是任意的,只要符合郵箱輸入欄的正則表達式就可以了。(相當于在對方服務器的數據庫添加了一堆沒用的郵箱賬號)
所以這個東西很局限(正常的網站都不會有這些漏洞),只能用于爬蟲的相關學習。
安裝requests模塊
首先,你需要對網站發出請求,所以你需要安裝python的requests模塊。
在MacOS的系統下,如果你已經安裝了python的pip工具,那么只需要在控制命令行中輸入:
$pip3 install requests
這邊用pip3是因為給系統里面的python3.X安裝這個模塊
就會自動安裝。
若沒有pip,則先用easy-install安裝pip:
$easy-install pip3
還有幾個用于爬蟲的模塊,例如beautifulsoup ,urllib等等。
在windows環境下,如果安裝了pip工具應該也是一樣的方法。
進行分析
1.分析注冊傳遞的數據
如果安裝完了requests模塊的話,接下來就可以進行對這個注冊登錄的操作進行分析,但是這里推薦使用goole的瀏覽器chrome。
打開注冊地址,右擊——>檢查,選擇network(網絡),如果上面有東西先清除掉:
WX20170603-230646@2x.png
然后輸入一個測試的郵箱,隨便輸入一個驗證碼:
WX20170603-231118@2x.png
點擊下一步,觀察network里面的數據:
WX20170603-231226@2x.png
正常來說應給是第一個,發現請求方式是POST,說明是有向服務器上傳數據的,然后往下拉,找到form data:
WX20170603-231234@2x.png
這里面就很清楚了,里面上傳的是剛剛我們輸入的賬號和密碼,還有其他的一些東西,先把它保存下來,待會需要模擬上傳數據。
接下來是這個輸入密碼的界面了:
WX20170603-231541@2x.png
我們試一下輸入1234(要兩次都一樣,有的網站是需要大小寫字母之類的,取決于里面的正則表達式),再次把network清空,點擊完成注冊:
WX20170603-231743@2x.png
找到第一個POST包的form data:
WX20170603-231829@2x.png
發現這里面就是剛剛輸入的密碼(其實一些比較好一點的網站都會有加密的,所以正常是看不出真正的密碼的,例如qq空間登錄時傳遞密碼的data是經過加密處理的)。
到這一步的話,就已經成功一小半了,基本可以實現注冊和登錄了(雖然沒有演示登錄,但是是一樣的,只不過傳遞的form data里面是賬號密碼和其他一些東西而已)。
2.分析點贊的時候傳遞的數據
找到一個東西如下:
WX20170603-232955@2x.png
點擊星星,找到network里面發送的數據包:
WX20170603-233238@2x.png
我們不難發現,它是通過向Requset URL
post了一個數據包form data,里面有一個productld:4557。
這里的4557有可能是商品的代碼。
然后再找到另一個商品,再次點贊,分析,發現確實是商品的一個代碼。
OK,做到這里,我們已經分析完畢了,已經找到需要post的所有數據包了,那么接下來就開始碼代碼實現模擬這個過程了。
代碼實現
import requests
import random
times = 0 # 計次
number = input('請輸入需要點贊的次數:')
item_code = input('請輸入商品的代碼:')
for i in range(1, int(number)):
a = random.randint(1, 99999999999) # 隨機生成郵箱中的字段
username = '100456456002' + str(a) + '@163.com' # 隨機生成郵箱
Session = requests.session() # 生成一個新的會話窗口
url_register1 = 'http://www.05928024555.com/m/register/step1' # 注冊頁面(賬號)
data_username = {
'param': '',
'registerType': 2,
'system': 'mRegister',
'customer.username': username,
'randomCode': '1234',
'smscn': ''} # post賬號表單,以及虛假的驗證碼
url_register2 = 'http://www.05928024555.com/m/register' # 注冊頁面(密碼)
data_password = {
'userCardNo': '',
'password': '1111',
'passwordConfirm': '1111'} # post密碼表單
Session.post(url=url_register1, data=data_username) # 模擬輸入賬號并進入下一個頁面
Session.post(url=url_register2, data=data_password)
# 模擬輸入密碼并注冊
Session.post('http://www.05928024555.com/m/account/favorite/add',
data={'productId': item_code}) # 該出4558為作品編號
times += 1
print('已經點贊%d次' % times)
這樣就實現了簡單的一個操作,但是幾乎所有的網站都不可能讓我們這樣做,所以并沒有什么價值,只能用來學習一下。大部分原理都差不多,只不過是復雜程度不同而已,例如進行校園網登錄的時候需要使用的 lt 這個表單數據,而這個數據是隨機的,你需要在登錄頁面的源碼里面找到這個東西才能實現登錄。
總結
以上是生活随笔為你收集整理的python 自动点赞_python实现在有漏洞的网站实现自动注册、登录、点赞的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 风清月明,山清水明,心清志明,思清念明
- 下一篇: 用python画正弦图的代码_pytho