快開學了,看到空間裡面各種求填寫調查問卷的,我才想起來貌似我也還沒做。對於這種無意義的問卷,我是不怎麼感冒的,所以我打算使用」特技」來完成,也就是python,順便重新複習一下python,真的好久沒用了。下面,表演開始……
首先先建立乙份問卷
我們隨便填寫乙個問卷並提交,在提交之前開啟burpsuite截獲資料報
對於截獲的資料報進行分析,有的被url編碼了不利於分析,可以使用burpsuite編碼模組解碼替換,這樣就好分析了
通過觀察可以發現,post了一串奇怪的資料submitdata=1$2}2$3}3$3}4$4}5$3}6$2}7$4}8$2}9$3}10$3。仔細分析可看出資料大概是這個意思submitdata=題號$選項號}題號$選項號}題號$選項號}……..
利用這些資訊就可以開始編寫python程式了
執行結果如下
貌似**還有其他反爬蟲機制,在連續提交幾個表單之後,就出現了驗證碼。難道此時我們還要給程式新增上識別驗證碼的功能?其實不必,我們可以先分析一下剛剛burpsuite截獲的header資訊,來看看到底**是通過什麼方式,識別出我們是用爬蟲來提交問卷的。
通過一番測試,我發現當我連續提交3份問卷,再換乙個ip提交3個問卷,也就是連續提交了6份問卷,並沒有觸發**的反爬蟲機制。所以我們可以猜測對方基於ip提交問卷的頻率來識別爬蟲程式的。看到這裡,大家可能會想,我們可以通過網上的免費**來提交問卷。例如這些
那是不是意味著我們還要往python**中新增提取免費**ip的功能呢?no no no!換個思路,在ctf比賽中會遇到一種題目,例如你的ip是來自德國的才可以拿到flag。所以,我們的思路就是進行資料報頭欺騙,偽造我們的ip,騙過伺服器。下面來說說偽造ip的幾種方式。
x-client-ip:1.1.1.1我們每個都嘗試一下,然後在後台統計那裡可以看到我們的問卷**x-remote-ip:2.2.2.2
x-remote-addr:3.3.3.3
x-originating-ip:4.4.4.4
x-forwarded-for:5.5.5.5
這裡我們發現用x-forwarded-for可以繞過,按我們就用這種方法在header資訊中新增x-forwarded-for欄位,所以修改後的指令碼如下
執行結果如下
再到後台看看統計資訊
大家平常可以把學到的東西用到實際生活中,遇到困難的時候不要慌,多思考,找到最優的解決方法。例如上面,我並沒有在**中新增驗證碼識別模組,也沒有通過走**的方式來繞過**的反爬蟲機制,而是通過分析**的反爬蟲機制,並且使用所學的安全知識(http頭欺騙)輕鬆解決問題,使用最短的**完美完成任務。
ps:如果有什麼更好的欺騙方法,歡迎交流,也歡迎來訪問我的個人blog:
python 實現問卷星自動填寫多份
工具 burpsuit,python 問卷星親測,可以用python的requests庫對問卷訪問填寫。首先對訪問的頁面進行抓包,得到的header部分照抄到requests的header裡。親測乙個ip只能填寫三份問卷,所以這裡再指令碼上加入隨機的 頭部 指令碼如下 import requests...
監聽簡訊資料庫 實現自動填寫到EditText
實 現類似支付寶那樣的獲得簡訊動態碼後自動填寫到edittextprivate smscontent contentobservable contentobservable new smscontent new handler 註冊簡訊變化監聽 this.getcontentresolver reg...
jsp通過Cookie實現自動登入
一 什麼是使用者自動登入?如果使用者經常訪問我們的 假如每天都訪問一次,或者好幾次,那麼使用者每次都重複這些登入操作就會感到相當厭煩。通過一些簡單的技術手段,我們可以讓 記住 那些在曾經登入過的使用者。當該使用者下次再來訪問的時候,可以識別該使用者,並為其自動完成登入過程。二 基本思路 作為 的編寫...