中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

找工程承包app排名優(yōu)化seo

找工程承包app,排名優(yōu)化seo,中國城鄉(xiāng)住建部建設(shè)部網(wǎng)站,上海企業(yè)網(wǎng)站建設(shè)報價一、數(shù)據(jù)接口分析 主頁地址:某網(wǎng)站 1、抓包 通過抓包可以發(fā)現(xiàn)數(shù)據(jù)接口是page 2、判斷是否有加密參數(shù) 請求參數(shù)是否加密? 通過查看“載荷”模塊可以發(fā)現(xiàn),請求參數(shù)是一整個密文 請求頭是否加密? 無響應(yīng)是否加密? 通…

一、數(shù)據(jù)接口分析

主頁地址:某網(wǎng)站

1、抓包

通過抓包可以發(fā)現(xiàn)數(shù)據(jù)接口是page
在這里插入圖片描述

2、判斷是否有加密參數(shù)

  1. 請求參數(shù)是否加密?
    通過查看“載荷”模塊可以發(fā)現(xiàn),請求參數(shù)是一整個密文
    在這里插入圖片描述
  2. 請求頭是否加密?
  3. 響應(yīng)是否加密?
    通過查看“響應(yīng)”模塊可以發(fā)現(xiàn),響應(yīng)數(shù)據(jù)是加密的
    在這里插入圖片描述
  4. cookie是否加密?

二、加密位置定位

1、看啟動器

查看啟動器發(fā)現(xiàn)里面包含異步,所以無法正確找到加密位置
在這里插入圖片描述

2、搜索關(guān)鍵字

因為加密參數(shù)是一整個密文,所以無法搜索關(guān)鍵字

3、hook

因為“載荷”是一整個密文,所以網(wǎng)站大概率會使用JSON.stringify將數(shù)據(jù)轉(zhuǎn)換為json字符串再進行加密,所以我們可以hookJSON.stringify,hook代碼:

var my_stringify = JSON.stringify;
JSON.stringify = function (params) {debuggerconsole.log("json_stringify params:",params);return my_stringify(params);
};

運行hook代碼,再次點擊翻頁,發(fā)現(xiàn)可以斷住
在這里插入圖片描述
接著調(diào)試執(zhí)行,我們就可以找到加密位置了,并且可以看到,在下面的回調(diào)方法中對響應(yīng)進行了解密操作。
在這里插入圖片描述

三、解決密鑰

1、分析網(wǎng)站密鑰的獲取

在定位到加密以及解密位置后,我們可以看到網(wǎng)站加解密時需要密鑰,并且網(wǎng)站的密鑰獲取是從本地存儲中獲取logo1logo2
在這里插入圖片描述
所以我們可以通過hooklocalStorage.setItem來找到網(wǎng)站是怎么生成的這兩個參數(shù)。
hook代碼:

var my_setItem = localStorage.setItem;
localStorage.setItem = function (key, value) {debuggerreturn my_setItem.call(localStorage, key, value);
};

同時,為了讓網(wǎng)站可以再次生成這兩個參數(shù),我們需要先將本地存儲中的刪除。在控制臺中,進入“應(yīng)用”這個標(biāo)簽頁,再點擊“本地存儲空間”,然后點擊清除按鈕,就可以清除了。
在這里插入圖片描述
然后運行hook腳本,點擊瀏覽器上方的后退按鈕。注意:此處不能刷新頁面,因為刷新頁面hook代碼將不再運行,同時,此網(wǎng)站是在首頁向本地存儲中放入的參數(shù),所以我們要回退到首頁生成。
在這里插入圖片描述
點擊回退后,發(fā)現(xiàn)可以斷住
在這里插入圖片描述
接著調(diào)試執(zhí)行,我們就可以找到網(wǎng)站設(shè)置的位置了,同時,可以發(fā)現(xiàn)這個位置好像是在一個回調(diào)中。
在這里插入圖片描述
再次觀察發(fā)包,可以發(fā)現(xiàn)網(wǎng)站確實是從一個bj.css的響應(yīng)中提取的。所以我們就可以通過請求這個接口,按照網(wǎng)站的提取方法提取出密鑰,或者自己寫正則表達式將密鑰提取出來。
在這里插入圖片描述

四、驗證碼

1、獲取數(shù)據(jù)錯誤

在扣完js之后,我們發(fā)送請求會發(fā)現(xiàn),獲取到的數(shù)據(jù)與網(wǎng)站抓包獲取到的數(shù)據(jù)不太一致,網(wǎng)站抓包獲取到的數(shù)據(jù)是一整個密文,而我們獲取到的數(shù)據(jù)是一個json數(shù)據(jù)并且code是511
在這里插入圖片描述
在這里插入圖片描述
此時我們再次回到網(wǎng)站,發(fā)現(xiàn)網(wǎng)站在收到code為511的響應(yīng)時,會出現(xiàn)一個驗證碼
在這里插入圖片描述

2、處理驗證碼

點擊刷新驗證碼可以發(fā)現(xiàn),網(wǎng)站是發(fā)送一個請求cms/validateCode/undefined獲取的驗證碼,響應(yīng)中的data是base64編碼的圖片數(shù)據(jù)。
在這里插入圖片描述
當(dāng)我們輸入一個錯誤的驗證碼時,可以發(fā)現(xiàn),網(wǎng)站是將我們輸入的內(nèi)容拼接到路徑中進行請求。
在這里插入圖片描述
所以我們可以先請求undefined接口獲取到一個驗證碼,然后破解驗證碼(我是使用的第三方打碼平臺),將破解的驗證碼拼接到路徑中,再次發(fā)送請求,然后再獲取數(shù)據(jù)即可。

五、扣js

將加密以及解密位置的代碼扣出,缺啥補啥即可。
該網(wǎng)站使用的是webpack,我們可以發(fā)現(xiàn),網(wǎng)站加密時使用的lm都是來自于webpack中的模塊,
在這里插入圖片描述
所以我們可以在f = n("e2b4")打斷點,然后進入到n方法中,扣出加載器,然后再將需要的模塊扣出即可。

六、源代碼

js源代碼因為字數(shù)太多無法上傳,所以就放在了資源中,在文章最上方點擊“立即下載”即可
在這里插入圖片描述

python源碼:

"""
Email:912917367@qq.com
Date: 2023/8/29 11:41
"""
import timeimport execjs
import requestsfrom utils.chaojiying import ChaojiyingClientclass Spider:def __init__(self):self.session = requests.session()self.session.headers = {"MACHINE_CODE": str(int(time.time() * 1000)),"Origin": "https://www.cnpcbidding.com","Referer": "https://www.cnpcbidding.com/","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",}with open('reverse.js', 'r', encoding='utf-8') as f:self.js_obj = execjs.compile(f.read())self.bj = ''self.pic_str = ''def get_bj(self):url = "https://www.cnpcbidding.com/cms/css/bj.css"response = self.session.get(url)self.bj = response.textdef get_img_code(self):url = "https://www.cnpcbidding.com/cms/validateCode/undefined"response = self.session.get(url)cjy = ChaojiyingClient('lan8sjk', 'lan8@2023', '946014')pic_data = cjy.post_pic_base64(response.json()['data'], 6001)self.pic_str = pic_data['pic_str']url = "https://www.cnpcbidding.com/cms/validateCode/" + str(self.pic_str)response = self.session.get(url)print(response.text)print(response)def get_data(self):data = self.js_obj.call('get_params', self.bj)self.session.headers['Content-Type'] = "application/json;charset=UTF-8"url = "https://www.cnpcbidding.com/cms/article/page"response = self.session.post(url, data=data)data = self.js_obj.call('get_data', self.bj, response.text)print(data)if __name__ == '__main__':s = Spider()s.get_bj()s.get_img_code()s.get_data()
http://www.risenshineclean.com/news/42971.html

相關(guān)文章:

  • 建設(shè)銀行個人官方網(wǎng)站百度應(yīng)用app下載
  • 多語言網(wǎng)站怎么實現(xiàn)的推廣公眾號的9種方法
  • 網(wǎng)站的內(nèi)連接如何做天津百度推廣公司
  • 網(wǎng)站域名備案seo網(wǎng)址大全
  • 在日本怎樣做網(wǎng)站網(wǎng)站建設(shè)詳細方案
  • 上海新聞官網(wǎng)東莞百度seo電話
  • 網(wǎng)站上做的圖片不清晰是怎么回事推廣技術(shù)
  • 做網(wǎng)站美工工資多少地推團隊如何收費
  • 一般的web網(wǎng)站開發(fā)平臺是色盲測試圖免費測試
  • 做網(wǎng)站鏈接容易嗎營銷推廣費用預(yù)算表
  • 網(wǎng)站優(yōu)化試卷chrome谷歌瀏覽器官方下載
  • 泉州網(wǎng)站建設(shè)公司招聘銷售seo網(wǎng)站有優(yōu)化培訓(xùn)班嗎
  • 常見的網(wǎng)站類型濟南做seo的公司排名
  • 織夢網(wǎng)站程序模板百度網(wǎng)盤客服人工電話95188
  • 自己做的網(wǎng)站如何加視頻免費推廣平臺
  • 深圳便宜做網(wǎng)站朝陽seo推廣
  • 泗陽住房建設(shè)局網(wǎng)站關(guān)鍵詞查找的方法有以下幾種
  • 為什么大公司開發(fā)網(wǎng)站今日頭條seo
  • 外文網(wǎng)站制作百度快照推廣效果怎樣
  • 做框架圖的網(wǎng)站seo同行網(wǎng)站
  • 網(wǎng)頁模版圖片seo在線診斷工具
  • 合肥行業(yè)網(wǎng)站建設(shè)成都網(wǎng)絡(luò)營銷公司哪家好
  • 網(wǎng)站開發(fā)論壇樣式新品推廣活動方案
  • 網(wǎng)頁設(shè)計與網(wǎng)站開發(fā)第三版課后答案百度提問登錄入口
  • 政府網(wǎng)站集約化建設(shè)工作匯報西安百度推廣開戶多少錢
  • 網(wǎng)站怎么做自營銷專業(yè)seo培訓(xùn)學(xué)校
  • 童裝網(wǎng)站建設(shè)目標(biāo)優(yōu)化網(wǎng)站seo方案
  • 變白網(wǎng)站制作源碼網(wǎng)站數(shù)據(jù)查詢
  • wordpress 恢復(fù)備份西安seo關(guān)鍵字優(yōu)化
  • 阿里云建公司網(wǎng)站百度投票人氣排行榜入口