最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何完全零全礎(chǔ)學(xué)會(huì)抓包,并制作一個(gè)php的api

2023-02-24 23:04 作者:是白的啊_  | 我要投稿

bilibili的各位朋友,大家好呀(????)。 本來(lái)想做成視頻的,結(jié)果一來(lái)二去沒(méi)時(shí)間,沒(méi)設(shè)備。

最后就做成了一個(gè)文章,其實(shí)文章也挺好的,我不緊張講的也更好,等上了大學(xué)有機(jī)會(huì)再做視頻吧(??ω??)栓Q

廢話(huà)不多說(shuō),那就開(kāi)始吧O(≧▽≦)O 材料:抓包工具(這里我用的是httocanary),瀏覽器(x瀏覽器)。

額外工具

[可以沒(méi)有,但還是有嚴(yán)謹(jǐn)性,更方便測(cè)試]:請(qǐng)求工具(post請(qǐng)求app)。

可能遇到的問(wèn)題

:瀏覽器報(bào)證書(shū)錯(cuò)誤(瀏覽器報(bào)證書(shū)錯(cuò)誤是因?yàn)閔ttps加密通訊的原因,抓https就必須要有證書(shū),不然就報(bào)錯(cuò),在Android7.0用戶(hù)可以手動(dòng)添加證書(shū),Android7.0以后系統(tǒng)默認(rèn)不信任用戶(hù)的證書(shū),必須升級(jí)成系統(tǒng)證書(shū),系統(tǒng)證書(shū)需要root,無(wú)root的可以去弄虛擬環(huán)境,bilibili教程很多我就不講了)[原理:抓包工具的原理是在瀏覽器和服務(wù)器之間當(dāng)個(gè)中間人,讓抓包工具與服務(wù)器通訊,再偽造一個(gè)證書(shū)和瀏覽器通訊,但這個(gè)偽造證書(shū)不是服務(wù)器正規(guī)的證書(shū),所以就能判斷不是和服務(wù)器直接通訊,從而判斷數(shù)據(jù)被中間修改過(guò),所以瀏覽器拒絕https的數(shù)據(jù)包]

不一定httpcanary更好,但使用和我一樣的可以更好的模仿我的過(guò)程,更少的走歪路。 抓包一般抓網(wǎng)頁(yè)的,如果是app的,一開(kāi)始有固定的內(nèi)置證書(shū),沒(méi)會(huì)逆向破解的抓不了,我們新手抓網(wǎng)頁(yè)的就行了,這里我用bilibili的點(diǎn)贊來(lái)演示,

注意:手機(jī)端的網(wǎng)頁(yè)是沒(méi)有點(diǎn)贊功能的,手機(jī)端的bilibili網(wǎng)頁(yè)不管你點(diǎn)什么都會(huì)跳轉(zhuǎn)到下載,所以只能用電腦版的網(wǎng)頁(yè)。

手機(jī)用電腦網(wǎng)頁(yè)的一個(gè)方法就是修改ua,ua是一種判斷請(qǐng)求軟件(瀏覽器),設(shè)備等信息的一個(gè)參數(shù),可以通過(guò)改成電腦ua來(lái)偽裝電腦訪問(wèn),至于ua具體是什么可以通過(guò)bilibili搜索教程知道,我就懶的說(shuō)了,誒嘿(??ω??)。

具體也沒(méi)什么好講的,就是瀏覽器打開(kāi)ua設(shè)置,切換成電腦ua

換成桌面的就行了,如果只有各種手機(jī)的話(huà),去百度復(fù)制一個(gè)電腦的ua,粘貼進(jìn)去就行了。 建議不要用自帶的瀏覽器,自帶的驗(yàn)證嚴(yán)格一點(diǎn)(為了用戶(hù)隱私),第三方的瀏覽器抓包比較好用(因?yàn)閿?shù)據(jù)通訊驗(yàn)證不嚴(yán)格) 然后直接訪問(wèn)bilibili.com,并登入自己的賬號(hào),隨便選一個(gè)視頻點(diǎn)進(jìn)去。

然后捏緊你的抓包按鈕,在點(diǎn)贊前一刻開(kāi)啟抓包,點(diǎn)贊完立馬關(guān)閉(網(wǎng)頁(yè)數(shù)據(jù)包非常多,只有這樣才能更好的找數(shù)據(jù)包,平均多抓包一秒就多十幾個(gè)數(shù)據(jù)包)。

小技巧:httpcanary在開(kāi)啟抓包的狀態(tài),按返回會(huì)獲得一個(gè)小窗口,這個(gè)小窗口類(lèi)似于懸浮窗,需要懸浮窗權(quán)限,而獨(dú)立于桌面的懸浮窗,所以沒(méi)有懸浮窗的手機(jī)在抓包按鈕綠色的狀態(tài)下返回也可以有懸浮窗。

抓到的數(shù)據(jù)包如下。

第一剛好在通訊的時(shí)候被我關(guān)閉了,結(jié)果就是無(wú)返回,也就是無(wú)響應(yīng),因?yàn)槲沂窃邳c(diǎn)完贊之后關(guān)閉的抓包(已經(jīng)是點(diǎn)贊成功的狀態(tài)),所以這個(gè)直接排除 剩下的就看返回碼,我們是抓通訊數(shù)據(jù)包,返回200代表訪問(wèn)成功,其他的也有403訪問(wèn)錯(cuò)誤之類(lèi)的,但沒(méi)有返回碼就不是通訊的數(shù)據(jù)包(可以設(shè)置過(guò)濾200返回碼以外的數(shù)據(jù)包),那也就可以排除了

如果不想繼續(xù)分析的話(huà),多抓幾次點(diǎn)贊記錄下來(lái),相同的就是點(diǎn)贊的數(shù)據(jù)包了,但正常情況下還是需要分析的,以免應(yīng)對(duì)一些意料之外的原因 分析有以下幾步驟: 查看返回信息

這種沒(méi)返回的就基本上能判斷不是了,因?yàn)榘?,你想想,點(diǎn)贊成功或者失敗,網(wǎng)頁(yè)是不是得顯示給你看??,如果不返回,那網(wǎng)頁(yè)怎么顯示你圖標(biāo)亮起來(lái)。 以此類(lèi)推: 第二個(gè)

第三個(gè)

偶,第三個(gè)有api的返回碼(code),那就基本上可以確定這一個(gè)了,如果數(shù)據(jù)包過(guò)多的話(huà),就多抓幾次,也可以看數(shù)據(jù)包的鏈接,一般修改數(shù)據(jù)包都會(huì)有相應(yīng)的鏈接變量名稱(chēng),比如這個(gè)點(diǎn)贊

like喜歡的意思,夠好聯(lián)想了吧^_^ 再不然,就重發(fā)數(shù)據(jù)包,一般點(diǎn)贊過(guò)后再點(diǎn)贊就會(huì)報(bào)錯(cuò),我們?cè)囋囍匕l(fā)

然后看新的數(shù)據(jù)包里面的返回?cái)?shù)據(jù)(點(diǎn)擊-響應(yīng)-預(yù)覽)。

wooooooo?。?! 這不就成功了,那么,我們?nèi)グ岩曨l的點(diǎn)贊取消了

然后重發(fā)數(shù)據(jù)包(長(zhǎng)按數(shù)據(jù)包-重發(fā))[重發(fā)過(guò)后的數(shù)據(jù)包和直接抓到的沒(méi)有任何區(qū)別,就圖標(biāo)不一樣,所以?xún)蓚€(gè)都能重發(fā)]。

好像是成功了,然后我們刷新網(wǎng)頁(yè)

wooooo?。?!成功了??! ok這就是抓包的全部?jī)?nèi)容了,誒嘿(≧ω≦)/。 接下來(lái)就是教怎么寫(xiě)api了,這個(gè)api也就只有一個(gè)功能而已,就是模擬發(fā)送數(shù)據(jù)包,而api就是外部程序的縮寫(xiě),至于api有什么用處唔。。。。。,用不到就干脆別學(xué)了(。?`ω′?),本篇文章只適用于已經(jīng)會(huì)使用api,想了解怎么寫(xiě)的用戶(hù)。

這里我就使用php這個(gè)編程語(yǔ)言給大家演示,不同語(yǔ)言有不同的寫(xiě)法,但Python無(wú)疑是最簡(jiǎn)單的,甚至不用php這么麻煩,導(dǎo)入request庫(kù),直接按照格式寫(xiě)就行了(不知道格式就百度,神仙來(lái)了也得乖乖按照格式來(lái)),不過(guò),Python制造可以被訪問(wèn)的api需要用到的框架不好搭建,有些服務(wù)器甚至搭不了,所以我就用php來(lái)演示了。 在制造api之前,我們還要篩選一下數(shù)據(jù)包的數(shù)據(jù),因?yàn)榫W(wǎng)站訪問(wèn)時(shí)是把本地的cookie同時(shí)拿去請(qǐng)求的,所以有一些用不到我們要給他篩選掉,為什么不用的要費(fèi)辣么大力去篩選呢。 舉個(gè)荔枝: 原本提交數(shù)據(jù)a和b就可以點(diǎn)贊了,但他請(qǐng)求還帶上了c,c和用戶(hù)驗(yàn)證有關(guān)系,結(jié)果就導(dǎo)致了。 原本你拿a和b就能訪問(wèn)了,但有了c之后你還要再多提交c。 如果不改變c,只改變a和b就會(huì)造成,服務(wù)器驗(yàn)證ca,b不是來(lái)自同一用戶(hù),請(qǐng)求不通過(guò),如果再多提交c的話(huà)。。。。,用戶(hù):api是為了方便,我用一個(gè)api你參數(shù)比瀏覽器訪問(wèn)都多,我還用什么api(ノ`⊿′)ノ。 至于怎么篩選參數(shù)的話(huà)。。。。,我選擇鈍角! 篩選參數(shù)沒(méi)什么方法,就是刪一個(gè)訪問(wèn)一下,每次訪問(wèn)失敗就代表這個(gè)不是必要參數(shù),以此類(lèi)推,直到剩下的參數(shù)任何一個(gè)都不能刪為止,至于數(shù)據(jù)包的參數(shù)的話(huà)。

一般數(shù)據(jù)包分為get和post數(shù)據(jù)包

get的數(shù)據(jù)包有一下參數(shù):

hearder(請(qǐng)求頭)[作用是提供數(shù)據(jù)包信息,是json啊,文件啊還是什么的] ua[作用上文說(shuō)過(guò),就是驗(yàn)證數(shù)據(jù)包來(lái)自于什么,如果你瀏覽器的ua為電腦,那他發(fā)的數(shù)據(jù)包就全部來(lái)自于電腦,服務(wù)器認(rèn)為你是電腦,返回的也就是電腦頁(yè)面的信息,這個(gè)不會(huì)隨著能賬號(hào)改變而改變的,

基本上一個(gè)普通手機(jī)的ua可以過(guò)任何網(wǎng)站的設(shè)備檢測(cè),這是萬(wàn)用藥

]

{可以被包含請(qǐng)求頭里面一起傳輸}

cookie[一直臨時(shí)驗(yàn)證身份的東西,免登入就是用cookie實(shí)現(xiàn)的,你可以這么理解,如果沒(méi)有cookie保存密碼,哪你每刷新一次頁(yè)面,就要重新登入一次!

其中隱藏著賬號(hào)密碼,api提供的參數(shù)一般都使用于這里。

]

{可以被包含請(qǐng)求頭里面一起傳輸}

url(鏈接)[也就是請(qǐng)求地址,get傳入?yún)?shù)都是用?加key=value實(shí)現(xiàn)的,參數(shù)之間用&隔開(kāi),所訪問(wèn)的參數(shù)會(huì)在連接顯示出來(lái)]

紅色是鏈接url,藍(lán)色是問(wèn)號(hào),品紅色是key,黃色是value,百度的搜索就是get傳參數(shù)。

小知識(shí):瀏覽器在訪問(wèn)的時(shí)候,會(huì)把中文轉(zhuǎn)成Unicode編碼,一般是帶有%和大寫(xiě)字母加數(shù)字

post有以下參數(shù):

(引用get參數(shù)講解,誒嘿!(??ω??)栓Q) post和get基本一模一樣,post也可以鏈接傳參數(shù),包括請(qǐng)求頭什么的,都一模一樣 但!,post比get多了一個(gè)very高級(jí)的功能,表單!(不知道可以查一查),表單可以包括不限于,視頻,圖片,音樂(lè)以外等。。。。所有數(shù)據(jù)傳輸,而get只能鏈接傳字母參數(shù),所以說(shuō)。 post=get+表單 end?。?,嗯就這些了!(哪里講的不清楚的可以查一查相關(guān)詳解,或者在評(píng)論區(qū)說(shuō)一下,我重新改) 所以我們要?jiǎng)h剪的參數(shù)有 請(qǐng)求頭(cookie就在這里,和一些數(shù)據(jù)包數(shù)據(jù)一般都在這里)and表單。 最好的方式是(長(zhǎng)按數(shù)據(jù)包-點(diǎn)擊編輯重發(fā))

然后就看到了里面,如下

上面是get參數(shù)(也就是url參數(shù))和請(qǐng)求頭參數(shù) 往下滑就有

如果表單是圖片之類(lèi)的數(shù)據(jù),點(diǎn)擊就能上傳更換,表單是普通數(shù)據(jù)點(diǎn)擊就能在線(xiàn)修改

參數(shù)與參數(shù)之間由&隔開(kāi),所以一次刪就是&+參數(shù)同時(shí)刪 唔。。,其實(shí)你也不用記什么能刪,什么不能刪,你只需要知道,刪了訪問(wèn)不成功就是不能刪,誒嘿(??ω??),一個(gè)一個(gè)刪(熟練之后,就好了,之前就用這種土方法) 對(duì)表單來(lái)說(shuō)

就是一個(gè)參數(shù),一次刪一個(gè) 刪完點(diǎn)右上角的勾,然后點(diǎn)小飛機(jī)一直重復(fù)此操作,直到,如果有參數(shù)被刪掉就訪問(wèn)失敗 然后請(qǐng)求頭的話(huà)

長(zhǎng)按就可以選擇刪除,就這么刪一個(gè),發(fā)送一下(右上角小飛機(jī)是發(fā)送)直到參數(shù)最簡(jiǎn)。 發(fā)送完還是(點(diǎn)擊數(shù)據(jù)包-響應(yīng)-預(yù)覽) 正常就是"已贊過(guò)" 錯(cuò)誤就是: "校正失敗"--關(guān)鍵參數(shù)被刪了 "賬號(hào)未登入"--代表賬號(hào)密碼的參數(shù)被刪了 經(jīng)過(guò)5*1=勞動(dòng)節(jié)天!! 終于參數(shù)最簡(jiǎn)為如下

什么?,你問(wèn)我這些參數(shù)什么意思?,我不到啊,我只知道能用就行(我的準(zhǔn)則) 然后把數(shù)據(jù)復(fù)制到post工具里面,搬過(guò)去的參數(shù)如下。

這就是成功了,在post工具請(qǐng)求成功就排除了偶然性, 然后把參數(shù)搬到php,一個(gè)參數(shù)對(duì)應(yīng)一個(gè)參數(shù),結(jié)果如下(需要導(dǎo)入我的curl包)

按照格式改就行了,沒(méi)什么好說(shuō)的,至于布置php服務(wù)器之類(lèi)的,需要自己去尋找相關(guān)教程,本教程只適于能正?;A(chǔ)使用php的,學(xué)習(xí)php可以去網(wǎng)站"菜鳥(niǎo)編程" 最后就是一些替換參數(shù)以及get獲取參數(shù)了,都沒(méi)什么好說(shuō)的 成品如下

下一期教程將演示如何獲取提交的相關(guān)參數(shù),做成完整的api 嗯呢,拜拜 (/^▽^)/ 本期視頻有關(guān)的所有工具以及軟件,均在下面鏈接可以獲取 https://api.byuin.com/file/tools.zip

如何完全零全礎(chǔ)學(xué)會(huì)抓包,并制作一個(gè)php的api的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
绥芬河市| 泗水县| 宁都县| 朝阳县| 巴里| 城固县| 得荣县| 大邑县| 洪江市| 牙克石市| 西乌| 鞍山市| 景谷| 宜宾县| 新蔡县| 望奎县| 开化县| 兰西县| 佳木斯市| 天津市| 类乌齐县| 玉门市| 弥渡县| 高密市| 镶黄旗| 鲜城| 云霄县| 平江县| 全椒县| 晋中市| 绍兴县| 惠水县| 西平县| 紫金县| 宜良县| 三门峡市| 九江县| 分宜县| 苏尼特左旗| 兴安县| 白水县|