亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

webpack逆向補環(huán)境全流程:定位anti-content簽名模塊與瀏覽器環(huán)境模擬

webpack逆向補環(huán)境全流程:定位anti-content簽名模塊與瀏覽器環(huán)境模擬 簡介一份以Webpack補環(huán)境為核心的拼多多anti_content參數(shù)逆向?qū)W習(xí)資料適合具備JavaScript基礎(chǔ)、希望進階逆向工程的前端開發(fā)者或安全學(xué)習(xí)者。資料針對拼多多web端接口中的anti_content簽名機制梳理了利用Webpack配置與JavaScript環(huán)境補丁繞過校驗的完整思路。壓縮包共含2個文件——一個Python腳本與一個JavaScript文件體積僅約40KB方便快速查看與復(fù)用。Python腳本主要負(fù)責(zé)啟動輔助流程或與調(diào)試環(huán)境對接JavaScript文件則集中體現(xiàn)了Webpack模塊加載、補環(huán)境注入和逆向調(diào)用等關(guān)鍵代碼。目前已有431人學(xué)習(xí)下載對于想弄懂此類平臺復(fù)雜參數(shù)生成邏輯的讀者這份資料能提供從環(huán)境模擬、模塊分析方法到Python/JS協(xié)作的實操參考幫助縮短自行摸索的周期并加深對補環(huán)境技術(shù)的理解。1. webpack 拼多多 anti-content 補環(huán)境這是 js 逆向?qū)W習(xí)最典型的一條線爬蟲工程師打開拼多多 Web 端在開發(fā)者工具里隨便點開一個接口大概率會在請求參數(shù)里看到anti-content這個字段。想順著字符串搜索找到加密函數(shù)卻發(fā)現(xiàn)代碼是 webpack 打包產(chǎn)物模塊 ID、__webpack_require__、自執(zhí)行函數(shù)層層嵌套根本無從下手。把代碼拖到 Node 里跑又立刻被window is not defined、document is not defined拍在臉上。這三件事——定位 webpack 模塊、補環(huán)境、生成 anti-content 簽名——恰好是 js 逆向入門繞不開的一條主線。下面這套流程按最小可行方式拆開怎么把簽名模塊從產(chǎn)物里摳出來怎么在 Node 里把瀏覽器環(huán)境補起來以及補環(huán)境代理為什么經(jīng)常失效、翻車之后怎么定位。2. 從 webpack 產(chǎn)物中定位 anti-content模塊結(jié)構(gòu)與入口查找Webpack 打包產(chǎn)物不像手寫代碼那樣按文件目錄排列。它把所有模塊塞進一個數(shù)組或?qū)ο笤儆媒y(tǒng)一的加載函數(shù)按 ID 取用。如果不先理解這個骨架拿到手幾百 KB 的壓縮 JS 就是一團亂麻。這一章的落點是在產(chǎn)物里準(zhǔn)確找到 anti-content 相關(guān)代碼并搭出一個能獨立運行的最小框架。后面的補環(huán)境工作全都建立在這個最小框架之上。2.1 webpack 產(chǎn)物骨架模塊數(shù)組與__webpack_require__的內(nèi)存尋址webpack 在生產(chǎn)模式下打包產(chǎn)物比開發(fā)模式簡潔得多可讀性也差得多。常見結(jié)構(gòu)是每個源文件被編譯成一個“模塊工廠函數(shù)”存放在以模塊 ID 為 key 的對象里另外提供一個__webpack_require__用來按 ID 加載模塊。如果站點還開啟了代碼壓縮和模塊合并scope hoisting / concatenateModules許多小模塊會被內(nèi)聯(lián)進一個大函數(shù)模塊邊界被打散字符串搜索時上下文會更碎。這是 webpack 打包優(yōu)化配置對逆向分析最直接的影響優(yōu)化開得越狠產(chǎn)物越“平”可搜索的特征越少。先看一個刪掉業(yè)務(wù)代碼后的骨架真實產(chǎn)物再復(fù)雜核心也就是這幾行// webpack 產(chǎn)物最小骨架示意 var modules { 0: function (module, exports, __webpack_require__) { var signer __webpack_require__(12); exports.build function (obj) { return signer.sign(obj); }; }, 12: function (module, exports, __webpack_require__) { exports.sign function (obj) { // 真實產(chǎn)物里這里是一大段壓縮代碼 return step1: (obj.timestamp || ); }; }, }; var cache {}; function __webpack_require__(id) { if (cache[id]) return cache[id].exports; var module (cache[id] { exports: {} }); modules[id].call(module, module, module.exports, __webpack_require__); return module.exports; } // 入口加載模塊 0 并調(diào)用 console.log(__webpack_require__(0).build({ timestamp: Date.now() }));這個骨架說明三件事。第一模塊 ID 不一定是遞增數(shù)字production 模式壓縮后可能是短字符串反查時不要默認(rèn)從 1 開始數(shù)。第二__webpack_require__做了模塊緩存同一個模塊被多處依賴時不會重復(fù)執(zhí)行工廠函數(shù)這是“環(huán)境只補一次”能夠成立的前提。第三模塊間依賴是運行時通過 require 按 ID 查找而不是直接引用全局變量所以摳出單個模塊時必須把整個 modules 對象和__webpack_require__一起搬走否則模塊內(nèi)部依賴會全部斷掉。還有一種常見變體異步加載 chunk。主入口里只有webpackJsonpCallback和 chunk 加載函數(shù)業(yè)務(wù)模塊在獨立文件里。這種產(chǎn)物里直接搜 anti-content 往往命中在子 chunk 文件里需要先確定主入口調(diào)用了哪個 chunk ID再單獨分析對應(yīng)文件分析思路跟處理單文件產(chǎn)物完全一樣。2.2 用字符串反查定位從 anti-content 到加密函數(shù)拿到產(chǎn)物后第一件事不是通讀而是搜字符串。anti-content大概率出現(xiàn)在兩個位置一是作為對象 key 被拼進請求體二是被壓縮工具改名成短變量后真實 key 寫在某個字符串常量里。我習(xí)慣先搜帶引號的完整字符串減少誤命中。import re js open(pdd.js, r, encodingutf-8, errorsignore).read() for m in re.finditer([\]anti-content[\], js): start max(0, m.start() - 300) end min(len(js), m.end() 300) print( match at %d % m.start()) print(js[start:end])命中處的上下文里通常能看到類似anti-content: n[XX]的賦值。n[XX]就是簽名函數(shù)被壓縮后的調(diào)用位置。接下去反查XX這個 key 是在哪個模塊里定義回到 modules 對象里在這個 key 所在的模塊工廠函數(shù)字符串里繼續(xù)搜。如果壓縮工具把屬性名也全部短化比如n[a1]就搜a1在模塊工廠函數(shù)里出現(xiàn)的位置順著賦值語句往上找函數(shù)入口。這一階段容易誤入歧途的地方是直接復(fù)制整個產(chǎn)物到本地運行然后在海量 DOM 操作報錯里打轉(zhuǎn)。正確做法是只保留“模塊表 入口調(diào)用”把無關(guān)模塊刪掉用最小腳本逐步加載。看到一個報錯解決一個比一次性挑戰(zhàn)整個產(chǎn)物要快得多。2.3 把目標(biāo)模塊摳出來最小可運行腳本的搭建假設(shè)通過 2.2 的反查已經(jīng)確定簽名入口模塊 ID 為 12這一步就把模塊表按原樣搬進本地文件再寫一個精簡版 require 讓它能被調(diào)用。// 最小運行腳本只加載需要的模塊 const modules { /* 從 pdd.js 里復(fù)制整個 modules 對象 */ }; const cache {}; function __webpack_require__(id) { if (cache[id]) return cache[id].exports; const module (cache[id] { exports: {} }); modules[id].call(module, module, module.exports, __webpack_require__); return module.exports; } // 假設(shè)簽名入口是模塊 12 const signer __webpack_require__(12); console.log(signer.sign({ timestamp: 1700000000000 }));運行這段腳本常見的報錯有兩種。一是xxx is not defined說明模塊表漏了依賴模塊回到 2.1 步驟把缺失 ID 的模塊補進來。二是window is not defined或document is not defined說明加密模塊在加載階段就引用了瀏覽器全局對象此時正式進入補環(huán)境流程。注意報錯位置通常不在你調(diào)用的入口函數(shù)里而在模塊工廠函數(shù)頂部——webpack 打包時很多模塊會在初始化階段執(zhí)行var doc window.document這類語句因此補環(huán)境必須在模塊加載前完成否則每次 require 都會掛掉。3. 補環(huán)境的原理與實操在 Node 里把瀏覽器環(huán)境“演”出來補環(huán)境是 js 逆向?qū)W習(xí)里的分水嶺概念。外行以為要把 window、document、navigator 整套實現(xiàn)一遍內(nèi)行知道只需要讓加密代碼“演”得不報錯并且補出來的屬性值和類型能被服務(wù)端認(rèn)可。這一章按“先原理、再實操”的順序把補環(huán)境從零到能用的過程寫清楚。3.1 補環(huán)境的運行邏輯不是抄瀏覽器是演到不報錯先理解報錯為什么會發(fā)生。Node.js 本身不提供 window、document 這類瀏覽器 API加密代碼卻習(xí)慣性地直接訪問它們。補環(huán)境就是在 Node 的全局對象上“種”出這些 API 的替身讓加密代碼在替身上正常走完邏輯。補環(huán)境的范圍怎么定我的習(xí)慣是三步先補最外層全局對象window、document、navigator、location讓腳本能跑起來再根據(jù)下一次報錯補齊細(xì)節(jié)最后做一次瀏覽器環(huán)境對比把會參與簽名計算的屬性值校準(zhǔn)到和真實瀏覽器一致。這里有一條重要原則能少補就少補。補得越多偽造痕跡越多越容易被服務(wù)端從環(huán)境指紋上識別出腳本痕跡。常見做法是抓一個瀏覽器真實環(huán)境導(dǎo)出一份 JSON 配置來補而不是憑記憶手寫幾百行模仿代碼。反正服務(wù)端校驗的是“像不像瀏覽器”不是“功能全不全”。3.2 第一輪補環(huán)境從報錯驅(qū)動把 window、document、navigator 補出來給出一個最基礎(chǔ)的骨架能覆蓋大多數(shù)模塊加載階段的全局引用。代碼在每個屬性后面標(biāo)注了為什么需要這個值避免新手照抄一堆用不上的屬性// 補環(huán)境骨架按需添加不要照抄一堆沒用的屬性 global.window global; global.navigator { userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36, platform: Win32, language: zh-CN, languages: [zh-CN, zh], webdriver: false, }; global.document { cookie: , referrer: , addEventListener: function () {}, removeEventListener: function () {}, createElement: function (tag) { // 節(jié)點類型基礎(chǔ)屬性要帶上指紋計算常從節(jié)點上取值 return { nodeName: String(tag).toUpperCase(), style: {} }; }, documentElement: { style: {} }, body: { appendChild: function () {} }, }; global.location { protocol: https:, hostname: mobile.yangkeduo.com, href: https://mobile.yangkeduo.com/, pathname: /, };這段代碼里有三個參數(shù)需要重點校準(zhǔn)。navigator.userAgent必須和目標(biāo)瀏覽器保持一致它幾乎必然參與 UA 指紋計算填錯直接導(dǎo)致簽名不一致。document.createElement返回的對象要帶nodeName、style這類基礎(chǔ)屬性因為加密代碼可能從節(jié)點上取這些值拼進指紋字符串。location.hostname要填實際請求的域名簽名校驗偶爾會帶上 referrer 或 origin域名寫錯也會被服務(wù)端識別出來。第一輪補完報錯會向前推進變成xxx is not a function或xxx is undefined這類具體問題。每修一處就回到報錯現(xiàn)場看它到底要什么值不要提前補后面才可能用到的東西。3.3 原型鏈補環(huán)境從“補實例”升級到“補類”有些模塊不直接訪問document而是在代碼深處new Image()或new HTMLImageElement()。如果只補了空 documentnew Image()會直接拋Image is not defined。這類場景就要從“給實例補屬性”升級到“給類補原型”。// 原型鏈補環(huán)境先定義類再把類掛到全局 function HTMLImageElement() {} Object.defineProperty(HTMLImageElement.prototype, nodeName, { value: IMG, writable: true, configurable: true, }); HTMLImageElement.prototype.addEventListener function () {}; HTMLImageElement.prototype.setAttribute function (k, v) {}; global.HTMLImageElement HTMLImageElement; global.Image function (w, h) { const img new HTMLImageElement(); img.width w || 0; img.height h || 0; return img; };這里用Object.defineProperty而不是直接賦值HTMLImageElement.prototype.nodeName IMG原因是直接賦值會讓 nodeName 變成可枚舉屬性。真實瀏覽器里 nodeName 是原型上的不可枚舉屬性檢測代碼用Object.keys遍歷原型鏈時多出來的可枚舉項會直接暴露環(huán)境被改過。原型鏈補環(huán)境的核心不是“屬性多不多”而是“像不像”。另一個經(jīng)驗補原型鏈時盡量往專用類上補比如只給HTMLImageElement補屬性不要順手在Object.prototype上掛一堆自定義字段。后者是排查災(zāi)難因為所有對象都會被污染服務(wù)端一旦檢測某個對象的自有屬性數(shù)量整個環(huán)境都會翻車。3.4 用 Proxy 接管屬性讀取補環(huán)境代理失效的原因補環(huán)境補到最后總會有漏網(wǎng)屬性此時很多方案會寫一個 Proxy把全局對象的屬性讀取統(tǒng)一接管沒命中的屬性返回一個函數(shù)或空對象避免代碼因取不到值直接拋錯。// 用 Proxy 兜底而非完全替代顯式定義 const handler { get(target, prop, receiver) { if (prop in target) return Reflect.get(target, prop, receiver); if (typeof prop string) { const fallback function () {}; fallback.toString () function () { [native code] }; fallback.valueOf () undefined; return fallback; } return undefined; }, has(target, prop) { return true; // 讓prop in window同樣返回 true }, getOwnPropertyDescriptor(target, prop) { if (prop in target) { return Object.getOwnPropertyDescriptor(target, prop); } return { configurable: true, enumerable: false, writable: true, value: undefined, }; }, }; global.window new Proxy(globalThis, handler);這段代碼看起來能把所有兜底邏輯處理好但實際場景里“補環(huán)境代理失效”往往不是 get 沒生效而是另外三個原因。第一加密代碼判斷屬性是否存在時可能用prop in window這個操作走的是 has 陷阱而不是 get 陷阱漏掉 has 就會讓所有屬性都判定為不存在。第二Object.getOwnPropertyDescriptor(window, prop)直接拿屬性描述符既不經(jīng)過 get 也不經(jīng)過 has需要單獨實現(xiàn)。第三也是最隱蔽的一點兜底函數(shù)被當(dāng)作對象繼續(xù)訪問其上的方法時函數(shù)本身沒有這些方法調(diào)用鏈還是會斷。比如代碼里window.someApi.init()兜底返回的函數(shù)沒有init屬性執(zhí)行到window.someApi.init()依然報錯。所以 Proxy 只適合兜底冷門屬性主力仍要靠顯式定義關(guān)鍵對象二者結(jié)合才能少踩坑。4. 補環(huán)境避坑代理失效、prototype 檢測與 source map 報錯處理補環(huán)境方案能不能過最終取決于服務(wù)端認(rèn)不認(rèn)。這一章整理四個高頻翻車點每條按“現(xiàn)象、原因、解決”展開都是實際排查中反復(fù)遇到的場景。照著這個順序檢查能少走不少彎路。4.1 補環(huán)境代理失效get 返回了值代碼卻走了 undefined 分支現(xiàn)象日志里 get 陷阱被頻繁觸發(fā)說明代理在工作但簽名結(jié)果和瀏覽器里對不上甚至明顯走了“不支持”邏輯分支。原因多數(shù)代理只實現(xiàn)了 get漏掉 has 和 getOwnPropertyDescriptor。加密代碼判斷某個 API 是否存在有三種常見寫法typeof window.xxx ! undefined、xxx in window、Object.getOwnPropertyDescriptor(window, xxx)。第一種會被 get 陷阱攔到后兩種完全繞過 get。尤其in表達式在 JS 里非常常見漏掉 has 陷阱等于讓所有屬性都是“不存在”代碼自然走進錯誤分支。解決把上一節(jié)給出的 handler 補全get、has、getOwnPropertyDescriptor 三個陷阱一起實現(xiàn)。接著做驗證寫一段十行測試腳本分別用typeof、in、getOwnPropertyDescriptor訪問關(guān)鍵屬性三個結(jié)果必須和瀏覽器里一致否則繼續(xù)修。4.2 could not read source map for webpack://meai.web/node_modules/ 報錯怎么處理現(xiàn)象把線上的 webpack JS 拉下來放到本地或分析工具里時控制臺拋出could not read source map for webpack://meai.web/node_modules/xxx.js這類報錯。報錯指向 node_modules 里的模塊路徑看起來像缺依賴容易誤導(dǎo)新手去補 node_modules。原因webpack 產(chǎn)物末尾通常帶著//# sourceMappingURLxxx.js.map注釋生產(chǎn)環(huán)境不會把 map 文件隨包發(fā)布工具按注釋去找當(dāng)然找不到。這個報錯跟簽名邏輯無關(guān)也不影響 JS 執(zhí)行純粹是注釋指向了一個不存在的文件。線上包里拿不到 map 文件想通過 source map 還原變量名的路是堵死的老老實實用字符串搜索和斷點定位更實際。解決本地分析時先把 sourceMappingURL 注釋整行刪掉或者用編輯器插件忽略 map 文件。不要花時間去找 map。這個經(jīng)驗對任何 webpack 打包的站點產(chǎn)品都適用。4.3 原型鏈補環(huán)境被檢測toString 的破綻現(xiàn)象補完環(huán)境本地運行一切正常anti-content 能算出來但提交到真實請求里服務(wù)端返回風(fēng)控提示。對比瀏覽器真實值后發(fā)現(xiàn)某些對象的方法實現(xiàn)特征異常。原因檢測腳本常執(zhí)行Function.prototype.toString.call(obj)來判斷某個方法是不是原生實現(xiàn)。補進去的document.createElement、window.addEventListener是普通 JS 函數(shù)toString會輸出完整的函數(shù)源碼而瀏覽器原生方法輸出的是function () { [native code] }。一旦檢測發(fā)現(xiàn)字符串不是以[native code]結(jié)尾就判定環(huán)境被改過。解決所有補進去的方法統(tǒng)一改寫 toString讓它返回function () { [native code] }并且要在函數(shù)定義后立即改寫const fakeAddListener function () {}; fakeAddListener.toString () function () { [native code] };另外能少重寫就少重寫。比如某個 API 在簽名流程中根本不參與計算寧可不補也不給它一個假的實現(xiàn)因為每個假實現(xiàn)都多一個被檢測的破綻。4.4 navigator 和 UA補了但和服務(wù)端不匹配現(xiàn)象navigator.userAgent填了最新版 Chrome 的 UA其它常見屬性也都有但簽名一直不過。把瀏覽器里的 navigator 整個導(dǎo)出再補進去結(jié)果還是一樣。原因不參與指紋的不只是 userAgent。screen.width、screen.height、devicePixelRatio、timezoneOffset、plugins、webdriver都在參與環(huán)境指紋計算。UA 對上了但其它值還是 Node 默認(rèn)狀態(tài)指紋就不一致。比如真實瀏覽器里navigator.webdriver是 undefined補環(huán)境腳本如果隨手給了個 false檢測方一比對就發(fā)現(xiàn)問題。解決在真實瀏覽器控制臺執(zhí)行JSON.stringify(Object.entries(navigator))拿到完整鍵值對再按這份清單逐項補。補完后寫一個斷言腳本把 Node 里的 navigator 和運行Object.entries(navigator)的結(jié)果做 diff改到除動態(tài)字段外全量一致。這一步是補環(huán)境參數(shù)調(diào)試?yán)镒罨〞r間的部分也是能不能讓服務(wù)端認(rèn)你的分水嶺。5. 驗證與邊界怎么確認(rèn)補出來的 anti-content 真的能用很多人在補環(huán)境上花了大量精力卻忽略了一個關(guān)鍵動作驗證。補環(huán)境跑通只是第一步跑出來的簽名和瀏覽器真實請求里的是否一致需要專門設(shè)計對比方法。這一章從驗證方法、動態(tài)因子識別、瀏覽器對比三個角度把這套流程的最后一段補完。5.1 雙端對比讓瀏覽器和 Node 各算一次逐字段對齊從瀏覽器抓一個真實請求把請求體里的動態(tài)字段抽出來在 Node 里用同一份輸入去生成 anti-content然后對比。這是最直接的驗證方式。// 用一份真實請求體驗證補環(huán)境結(jié)果 const fs require(fs); const { getAntiContent } require(./pdd_env.js); // capture.json 來自瀏覽器復(fù)制{ url, data, anti-content } const capture JSON.parse(fs.readFileSync(capture.json, utf-8)); const params Object.assign({}, capture.data); const output getAntiContent(params); console.log(node :, output); console.log(browser:, capture[anti-content]); console.log(length :, output.length, capture[anti-content].length); console.log(match :, output capture[anti-content]);對比時看三個信息。長度不同大概率是環(huán)境指紋輸出不一致優(yōu)先回第 4 章排查 navigator 等屬性。前綴不同問題多半出在簽名參與字段的取值方式上。前綴一致但后段不一致重點檢查時間戳和隨機數(shù)是否同步更新。注意 anti-content 里通常含時間戳或隨機數(shù)直接要求全等不現(xiàn)實可以抓兩個間隔極短的請求觀察動態(tài)部分的變化規(guī)律再做替換驗證。5.2 動態(tài)因子識別法哪些字段參與簽名哪些不參與如果雙端對比每次都不一樣先別急著懷疑環(huán)境用“單字段替換法”確認(rèn)哪些字段真正參與簽名。抓兩個真實請求 B1 和 B2把時間戳等可能變化的字段歸零逐個替換觀察 anti-content 是否變化。下面是一份示意記錄表操作anti-content 變化結(jié)論修改 timestamp變化參與簽名修改 pageSn變化參與簽名修改 pageSize不變不參與簽名修改擴展字段 ext_a變化參與簽名識別過程中有兩個邊界坑要注意。第一時間戳精度有些實現(xiàn)取秒有些取毫秒比較時要把兩包的 timestamp 歸一化再測否則結(jié)論會誤判。第二部分字段不參與簽名計算但服務(wù)端會單獨校驗改動它們同樣會導(dǎo)致請求失敗。因此“簽名參與”和“服務(wù)端校驗參與”是兩個維度不能混為一談。排錯時先確認(rèn)哪一層在報錯再決定改哪里的代碼。5.3 把瀏覽器當(dāng)黑匣子校準(zhǔn)補環(huán)境參數(shù)的三個技巧第一個技巧是從瀏覽器控制臺導(dǎo)出現(xiàn)有屬性而不是靠記憶補。navigator、screen、location、performance這些對象每一組都執(zhí)行一次Object.entries()導(dǎo)出再與 Node 里的對應(yīng)對象做按字段比對。補環(huán)境腳本與真實環(huán)境的差異會一目了然不需要反復(fù)試錯。第二個技巧是使用“復(fù)制為 fetch”保留完整請求鏈路。瀏覽器里點一下頁面可能會同時觸發(fā)多個請求復(fù)制完整請求能幫你分辨當(dāng)前 anti-content 是哪個頁面動作生成的。單獨復(fù)制一個請求體容易漏掉請求頭或 URL 參數(shù)導(dǎo)致補出來的環(huán)境在重放時整體錯位。第三個技巧是動態(tài)字段不要寫死。隨機數(shù)的長度、字符集、是否帶大寫都要以抓包觀察為準(zhǔn)。補環(huán)境腳本里生成隨機數(shù)時改成與抓包格式一致而不是隨便用Math.random().toString(36)湊數(shù)。格式對了簽名后續(xù)部分才能穩(wěn)定對齊。6. 用 vm 模塊給補環(huán)境加隔離避免環(huán)境串味與多開臟數(shù)據(jù)補環(huán)境代碼一直掛在 global 上短期跑通沒問題一旦并發(fā)請求或長期運行就會栽跟頭。兩個任務(wù)同時執(zhí)行時A 任務(wù)改寫了 navigator.languageB 任務(wù)又改了一部分兩邊簽名全部亂套。我的做法是用 Node 的 vm 模塊把補環(huán)境代碼和簽名代碼一起丟進沙箱每次調(diào)用創(chuàng)建全新 context跑完即棄。// 用 vm 隔離補環(huán)境避免全局污染 const vm require(vm); const fs require(fs); const envCode fs.readFileSync(./env.js, utf-8); // 補環(huán)境代碼 const signCode fs.readFileSync(./sign.js, utf-8); // 從 webpack 摳出的簽名模塊 function makeAntiContent(params) { const sandbox { params: { ...params }, result: }; vm.createContext(sandbox); vm.runInContext(envCode signCode, sandbox, { filename: sandbox.js }); return sandbox.result; } console.log(makeAntiContent({ timestamp: Date.now() }));這段代碼的核心是sandbox.params用了展開復(fù)制避免簽名代碼在沙箱里修改外部對象后下一輪調(diào)用還帶著上一輪的痕跡。每次 makeAntiContent 都從干凈狀態(tài)開始不存在全局串味問題。代價是createContext和runInContext有固定開銷高頻調(diào)用時可以用一個 context 池預(yù)創(chuàng)建幾個沙箱輪流復(fù)用。我早期做 webpack 逆向時圖省事把所有補環(huán)境代碼掛在 global 下結(jié)果凌晨兩點排查一個“同一函數(shù)同一入?yún)?、兩次輸出不同”的玄學(xué)問題最后發(fā)現(xiàn)是上一個任務(wù)改了 navigator.language。從那以后我再不把補環(huán)境放進共享全局作用域每次請求都用 vm 重新隔離。逆向這條路留退路比炫技重要。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲无套久久嗯嗯| 男人亚洲天堂| 強姦亂倫a| 欧美黄色大香蕉一区二区| 亚洲一二三精品久久网| 9久精品| 伊人久久大香线蕉无码| 欧美少妇第一页| 91痴汉| 人妻系列无码专区中文有码| 欧美国产操逼| 欧美人妻久久精品二区三区| 青青草国产亚洲精品久久| 97欧美日韩精品| 人人操人人操草草| julia ann久久| 亚洲精品国产专区在线观看| 久日91在线| 日产欧美电影一区二区三区| A男人的天堂| 亚洲第一页第二页激情| 69AV女优男人的天堂| 精品久9| 国产精品免费视频人成| 插B在线观看| 1024人妻熟女一区二区三区| 久久久555| 精品久久一区二区三区四区五区| aV中文麻| 玖玖97综合 | 嫩呦国产一区二区三区AV| 久久99网站| 欧美成人贴图| 五月丁香在线| 人人操,人人液| 超碰在线91| 日韩成人小视频| 免费精品福利在线观看| 国产精品伦理| 久久久涩| 国产传媒日本欧美专区| 国产精品美女| 女人一区| 黄色av一区二区在线| 一卡二卡在线播放| 亚洲欧美精品91| 91狠狠综合久久| 清柠毛片| 日韩人妻有码免费视频| 亚洲一区制服诱惑| 91操人视频| 久久精品女同亚洲女同13| 国产伦精品一区二区三区在线观| 欧美色蜜桃97| 神马福利久草| 成年人三级黄色片视频| 亚洲素人综合| 日韩亚洲美女一区久久| 欧美成人黄网色网站| 亚洲熟女一区二区| 在线观看AV不卡| 日韩熟女无码| 97精品在线| 国产97色在线| A级在线视频| 婷婷15月天青娱乐| 99色综合| 欧美性爱91| 中字一区| 啊啊啊啊啊啊在线看| 八戒无码国产午夜福利| …中文字幕亚洲乱,97人妻无码费视… | 蜜臀网址在线| 97色97好| 91超级碰| 国模少妇一区二区三区| 天天日天天操天天射河南省| 干妹子| 九九九九一区| 亚洲不卡av在线| 国产精品视频麻豆入口| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 日韩性爱1级片视频| 我想要啊 啊 啊| 午夜精品久久久久久久男人的天堂 | 色www精品视频在线观看| 91狠狠综合久久久| 波多野结衣被操50分钟免费视频 | 国产伦乱91| 白嫩少妇| 欧美专区17页| 日韩美女高潮喷水视频| 婷婷色网| 日本高清_区二区三区 | 肉丝网站91| 岛国视频免费在线观看| 免费精品无码一级毛片牛牛影视| 久久国产精品m码| 精品性爱久久视频| 精产国品一区二三产品| 蜜臀av一区二区三区免费观看| 人人操人人插人人摸人人干| 人人操欧美风骚| 精品人妻视频一区二区在线播放 | 欧美综合自拍亚洲综合图| 久久久久13| 探花一区在线| 国产精品久久久无码AV网站| 久久久久久久免费A片国产成a人亚洲精∨品无码| AV色五月天| 日本99视频| 美国一区二区三区视频| 人妻一区二区三区视频| 蜜臀无码视频在线观看| 免费A片三p视频| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 天天做日日爱夜夜爽| 黄视频免费| 国产无码成人无码| 18禁在线视频| 100啪啪视频大全| 欧洲精品一级二级精品综合视频综合| 日日操夜夜操天天操免费观看麻豆| 国产成人精品一区| 试看60秒| 任你干在线视频| 日日夜夜青青草母狗| 国语人妻精彩刺激| 中文字幕制服欧美久久一区| 艹我哪美一区无码| 天天日天天插| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 乱伦熟妇一区二区| 亚洲伊人成综合成人网| 综合网91| 亚洲乱码精品一区二区| 亚州 综合 色图| 综合五月婷婷| 蜜臀久久一区二区| 亚洲色吧网| 三级三级三级日本99| 午夜天堂啪啪| 9色在线| www.婷婷| 青青青国产| 男女91| 欧美日韩一干二干| 经典丝袜一区| 色欲久久99国产精品久久久久久| 久久久久久人| 三上悠亚在线毛片91| 伊人麻豆传媒| 五月天我淫我色av| 亚洲国产精品成人无码久久久| 最近2019中文字幕国语免费版| 久久一级无码精品毛片6| 欧美精品自慰系列寂寞少妇 | 亚洲男人的天堂网| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 人人操人人操人人操人人操人人操人人人11.CM | 中国一区二区亚洲人妻| 欧美人人AAA| 久久久久免费少妇| 吉川爱美亚洲二区在线| 国产久9| 亚洲欧美综合| 亚洲 日韩 丝袜 熟女 变态| www.99在线| 蜜桃成人1区2区3区| 日韩伦理视频| 伊人精品国产| 欧美78P| 国产日韩无码一区二区三区久久区| 亚洲精品成人动漫在线| www.人人cao| 天天综合网~69| 久日91在线| 精品一区二区三区蜜桃臀www| 日韩本不卡视频在线观看| 超碰97护士| 自拍偷拍第26| 国产在线不卡导航| 啊啊啊不要嗯嗯在线观看| 精品人妻久久久久一区二区三区| 中文字幕精品探花视频| 强免费黄色网址| 九九无码久久精品视频| 亚州Av天美传媒| 九九九久久久| 亚洲一区日韩| 欧日韩在线观看| 成人热久久精品| 少妇熟女视频一区二区三区| 免费看片黄| 亚洲av强奸乱伦| 91殴美大片| 黑丝制服中文字幕| 免费啪啪av| 五月丁香婷婷啪啪| 亚洲欧美日韩国产丝袜自拍中文| 中文字幕在线观| 亚洲综合中文字幕有码| 激情色播| 野狼激情网| 中文字幕伊人| 婷婷色色五月天福利| 激情五月天社区| 欧美婷婷久久| 精品福利| 婷婷色色网| 欧美韩国你懂得在线 | 免费9 1久久| 亚洲国产97在线精品一区| 欧美区亚洲区偷拍区| 婷婷中文字幕| 亚洲se91| 成人麻豆av电影网站| 欧美日不卡| 色婷婷A V一二三四区麻豆综合| 久久综合九色综合欧洲98| 亚洲免费人妻在| 亚洲一本色码中文字幕| 天天做天天爱夜夜爽毛片试看| 日本岛国黄色网址| 少好三P| 成人免费看吃奶视频网站| 性爱动态120秒| 亚洲国产97在线精品一区| 日韩欧美国产一区二区三区四区 | 热天堂一区二区| 9ⅰ久久久天天| 超碰成人公开| 久久99草| 日韩一级特黄av毛片| 亚洲美女色图| 欧美一区二区三区四区综合| 欧美 亚洲 另类 综合| 三男一女不戴套的A片| 亚洲 欧美 91| 97天堂| 韩国久久97| chaopen97久久| 亚洲中文字幕三级在线| 夫妻AV网站| 久久久久久AⅤ无码免费肉站| 99热18这里只有精品| 熟妇的味道HD中文字幕| 欧美激情亚洲情色| 手机看av网站在线看| 成人精品视频| 免费看A片毛毛片在线播| oumeizonghese,www| 一类无码操逼视频| 豆1无夜无码| 99在线无码精品秘 入口黑人| 96久久久精品| 国产中文字幕曰本毛片| 久久久久久久久久久精| 狠狠综合网| 揉揉揉夜夜| 国产视频一区二区三区在线免费观看| 四方色播| 激情自拍 校园春色| 亚洲人久久久久日| 99re不伦| 无码人妻精品一区二区中文| 九九人妻| 亚洲欧洲偷拍一区| 中文字幕精品免费一区二区| 国产不良强奸视频免费看| 人妻精品一区二区三区| 亚州国产精品乱| 蜜桃狠狠色伊人亚洲综合网站| 97超级久久强资源| 国内毛片无遮挡国产| 久久亚洲色图中文字幕| 日本免费亚洲欧美| 亚洲在线a| 国产传媒日本欧美专区| 在线看片国产精品每日更新| 蜜臀久久99精品久久久久久婷婷 | 香蕉综合网| 少妇一区二区三区在线观看| 国产三区免费在线观看| 久久久久久九九九| 殴美日韩m| 啪啪AV导航| 日比av无码| 午夜天堂网| 最新中文字幕在线亚洲| 久久久啊啊啊| 超碰97男人| a在线视频免费观看| 性91| 久久久久国产精品人妻aⅴ天堂| www久| A级在线视频| 九九九草| 中文久久一区| 九月婷婷久久| 国产三级多多影院2022国产AA一级毛片无码 | 91久久久老司机| 中文字幕 国产 精品| 少妇综合| 老司机福利社视频在线观看| 一区中文字幕二区日韩| 综合色色婷婷| 综合五月婷婷亚洲一区| 明星性猛交ⅹxxx乱大交| 夜夜夜夜爽| 99999久久久久9国产精品| 网页导航五月天免费一二三区| 欧美综合亚洲综合| 福利大香蕉| 四虎影视在线| 婷婷五月天久久久| 国产精品久久久久中文字幕| yiqicaoav| 传媒在线观看一区二区三区| 亚洲999综合| 久久人妻精品| 中文字幕狠狠玩| 婷婷av在线中文字幕| 亚洲三级。日韩三级| 亚av顶级裸体一区二区三区四区五区| 理论久久婷婷网 8| 婷婷五月色| 国产精品一区二区 尿失禁| 蜜乳AV免费观看| 欧美少妇高潮| 久操视频在线| 精品9999| 亚州色国| 欧美熟女妇同| 成人精品视频一区二区| 成年女人一区| 欧美在线官网| 97婷婷色| 综合色播| 五月天激情影院| 欧美亚洲中文字幕| 在免费jIzzjIzz在线视频| 国产特级毛片AAAAAA高潮流水| 一区二区乱码福利| 亚洲色图一区二区三区| 亚洲高清色综合| 校园春色 亚洲| 久操视频在线| 亚洲资源一区| 久草午夜| 嗯嗯啊好爽| 日韩欧美女求操每天更新| 国产午夜福利合集| 粉嫩AV一区二区夜夜| 欧美色色人| 日韩欧美资源| 91伊人久久在线| 欧美偷偷网| 超碰视97中文| 九九久久国产精品怡红院| 九九九九九九九九九九九蜜桃| 中文字幕AV片| 91色s| 国内成人圈中文字幕无码视频| 人妻五十路在线| 嫩草 我啊~嗯~在线| 蜜桃狠狠色伊人亚洲综合 | 加勒比人妻综合| 成人热久久精品| 91久久久老司机| 国产和美国毛片| 久久少妇人妻| 亚洲清纯综合| 国产97亚洲| 69视频入口| 秋霞 色色| 成人小说另类在线| 爽极品影院| 日本加勒比无码专区| 亚洲吊色| 天天综合网亚洲综合网| 人人妻人人爽一区二区三区| 欧美成人免费在线观看| 国产9 9在线 | 亚洲| 日日噜噜夜夜狠狠视频无| 久久精品国产亚洲AV高级北京| 婷婷亚洲五月***久久| 任你艹| 国产精品九9| 亚洲美女 晚间男人天堂| 男人天堂网手机版婷婷| 欲女人妻性色av| 精品国产乱码久久久兰草影视| 亚洲中文字幕一区| 人人妻人人爱人人玩| 亚洲av综合色区图片亚洲| 欧美激情视频在线一区| 自拍大香蕉乱插| 丝袜综合网| 超碰伊人在线| 免看60秒涩涩视频| 一区二区三区国产精产| 超碰碰激情97+久| 密臀成人视频久久久| 91精品91久久久久77777俄罗斯老妇姓x| 一道本东京热加勒比一区二区三区| 国产美女在线精品免费看| 精品少妇一区二区三区在线视频| 高清无码在线播放网站| 一区二区三区欧美激情| 欧美 亚洲 制服 精品| 久久一二三四五六七八九区区| 天干天干天干天天做| 亲子敌伦对白在线播放| 欧美激情黑人| 国产成人www免费人成看片| 久久久A∨| 青青伊人久久| 91久久久亚洲| 色五月激情综合网| 丝袜av一区二区三区| 日韩综合97p| 成人a大片在线观看| 亚洲另类在线观看| 2017超碰| 免费一级性爱久久| 四虎永久在线精品免费网址| 插B在线观看| 国产美女自拍AV| 九九久久九九久久| 欧美97av| 黑人精品成人一区二区三区| www.99热在线只有精品| 亚洲91色| 91chinese在线| 天天日天天操VV| 天天看天天日| 色色色综合| 色婷婷一区二区三区久久午夜| 国产偷拍网站| 人妻熟女字幕一区二区| 插插综合网天天影视网| 久久精品国产亚洲AV高级北京| 婷婷五月丁香五月| 色路综合| 熟女视频久久| 午夜无码熟妇丰满人妻| 夜夜天天噜狠狠爱2021| 精品96久久| 日本熟女不卡视频| 91人妻丝袜无码| 欧美天天弄| 狠狠狠狠狠| 欧美丝袜中文字幕07在线| 白嫩国模丰满一二三区| 啊啊啊好湿久久| 超碰欧美97| 日韩精品国产精品五码一区二区| 日日夜夜骑| 激情九月婷婷| 亚洲欧美伦综合| 色色国产| 中国特猛少妇色xxx| 九九色逼| 亚洲综合999| 青草青青久久久久久国产| sewuyueav| 婷婷中文字幕| 色九久| 五月婷婷六月丁香| 天天综合网在线观看| 青娱乐休闲视频在线观看| 国产精品久久久久久片| 欧美中字不卡| 秋霞曰韩R级| 国产精品一二三| 国产亚洲综合欧美一区| 99久久99九九99九九九| 99亚亚热| 蜜乳AV免费观看| 精品无码一二三四区| 国产精品网址| 精品制服美女中文一区二区三区| 熟女乱伦二区| 97在线视频网站| 亚洲 图片 综合91| 在线观看不卡一区二区三区| 精品乱码久久久久| 亚洲精品成人激情在线| 少妇熟女一区二区三区| 少妇诱惑视频| 免费看国产曰批40分钟怎么下载| 91热色| 五月天激情小说网| 国产精品成人AV片免费看网站| 人人澡人人爽人人精品| 久久免费99精品久久久久久| 欧美熟女丝袜| 九九热在线视频| 国产高清亚洲日韩一区| 中文字幕AV片| 婷婷激情啪啪| 91精品人妻偷情| 天美传媒av在线| 国产99精品一区二区三区免费| 9997se| 天天综合91在线| 日日超碰亚洲| 国产人妻精品一区二区三区秋霞 | 亚洲熟女性高潮久久久| 天天性射网| 熟妇熟女亚洲天堂网| 最新av网站在线观看| 中文精品少妇天堂| 免费看污网站| 91成人在线免费视频| www亚洲欧美| 性色av一区二区| 玖玖婷婷五月天| 日本天天干天天操一区| 韩日精品福利视频一区不卡在线免| 九月丁香| 一本大道不卡一二三区| 免费一二区| 精品美女少妇一区二区三区| 日日夜夜干| 欧美日韩国产三级黄色| 亚洲色图欧美| 毛片99-全集电影手机免费观看完整-B029AV | 久久风骚城市| 一区二区三区四区姦女| 9999免费精彩视频| 免费啪啪av| 亚洲在线a| 玖玖爱伊人玖玖爱| 九九玖玖精品| 91综合在线| 女人被男人桶爽视频网站| 久久老女人| 久久99久久99精品天美传媒棢·纸:. | 日日骚一区二区三区| 久久綜合很很很| 夜夜肏2021| 国产一级作爱毛片| 国产综合在线视频网站| 久久久新亚洲AV| 欧美成人贴图| 91亚洲欧美综合高清在线| 99国产天美| 国产在线76页| 啪啪啪大香蕉| 亚洲啪啪性视频| 成人 日本A片无码8888| 99久久精品欧美国产| 青青草原av| 日韩人妻丝袜美腿中文| 国产精品久久久九九九| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 久久午夜色播影院免费高清| 国产又长又大又粗的视频| 九月AV| 熟女人妻久久中文字幕一二区| 日本国产欧美高清在线| 免费人成在线观看网站品爱网| 国产高清自拍| 亚洲91色| 69一区二区三区 | 91欧洲国产成人久久精品网站| 久久久精品九| 国产精品乱码久久久、久久| 色妇91| 亚洲欧洲第二视频在线观看色图| 亚洲AV无码久久精品蜜桃小说| 99爱久久视频频| 女人的久久久| 欧美少妇一区二区三区| juliaann精品熟女一区| 后入 亚洲 美女 射| 精品少妇后入一区二区三区四区人妻巨乳 | 在线国产探花| 国产激情久久久| 色婷婷丁香五月| www五月| 91黑丝露脚| 日韩精品一区二区三区四虎影视| 成人资源中文字幕在线观看天天| 色av中文字| 啊啊啊啊啊操我视频| 中文字幕在在线观看网站| 久久久久久性爱视频| 超碰 另类 欧美| 亚洲熟妇熟在线电影视频| 欧美一区二区情色| 亚洲中文字幕日产无码久久| 性欧美精| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 91狠狠综合久久| 99色| 美腿色图| 日韩 欧美 国产 麻豆| 99热99re6国产在线播放| 黑人精品欧美一区二区蜜桃| 四虎精品一区| 色妺妺AⅤ| 亚洲天堂在线怕怕视频 | 操逼日批| 成人网站 免费观看| 久久激情五月| 超碰激情808| 动漫av中文| 蜜区区视频79| 蜜臀久久99精品久久久电影| 日本1区2区不卡视频| 国产综合网站在线播放| 欧美国产日韩清纯唯美| 97干色天堂| 高跟伊人julia ann| 亚洲影视第一页| 综合色一区三区二区| 久久久久亚洲三级电影| 欧美色女人| 2020久久免费视频| 377p欧洲日本亚洲大胆| 激情丁香五月| 少妇三P| 欧美线天码中字| 99人妻| 又粗又长又爽在线观看| 婷婷五月天伊人| 日韩精品9999| 亚洲色电影在线| 一本色道久久天天射天天干| 亚洲一欧洲中文字幕在线 | 国产激情久久久| 一区 欧美 日韩 麻豆| 97精品视频在线播放| 亚洲精品国语在线播放| 熟女突然公开看18禁影片| 欧美熟妇视频 | 日韩激情视频| 亚洲Av诱惑| 干日本人少妇午夜寂寞影院| 婷婷五月天补不补| 涩涩久久精品| 精品国产三级av韩国在线| 国产自产自拍| 天天操天天射青青草| 骚日日av| 色综合国产在线观看| 99精品久久久久久久婷婷蜜桃| 日韩激情视频| 清纯唯美激情| 啪一啪免费视频| 熟妇熟女一区二三区| 欧洲一区二区三区四区在线观看| 強姦亂倫a| 丝袜美腿欧美| 一本色道久久综合精品婷婷| 日韩卡一卡二卡三在线| 哈哈操电影AV| 欧美 亚洲 在线| 午夜福利成人免费视频| 涩涩久久精品| 超碰无码加勒比| 男人天堂网址| 人妻一区视频| 婷婷三区| 亚洲另类天堂| 久久婷婷六月综合| 色五月AV在线| 国产91啪| 少妇极品熟妇人妻无码| 9久久久久久| AV中文字幕三四五| 国产强奸乱伦欧美| 天堂精品在线| 国产丁香精品露脸视频| 国产午夜福利专区综合| 天美传媒av 在线| 97碰久久| 日本三级韩三级99久久| 天堂性色| AV 少妇 人妻 偷拍| 久久久999国产精品| 91白嫩| 国产大陆天天艹| 国产专区路线| 国产视频第二页| 婷婷五月天综合网| 欧美性爱一区二区三区| 免费观看的av| 超碰在线一区二区| 成人综合色网| 极品国产内射| 色哟哟-国产专区| 中英熟女操女| 国产精品网站免费| 精品视频免费在线一区| 色天堂在线观看| 在线观看中文av字幕| 超碰在线1234区| 日本www操操操| 欧洲小说色图视频另类| av在线免费一区二区| 国产99999久久精品| 日韩激情啪啪啪| 丝袜色综合| 色五月大香蕉| 免费试看60秒| 亚洲欧洲无码97久久精品| 欧美黑人精品在线播放| 日韩电影天堂视频一区二区| 久久高清欧美国产| 本道在线| 日本综合色图| 国产精品福利资源在线尤物| 日韩少妇在线视频| 久久久久国产无av| 中文有码9| 国产不卡片| 日韩性爱毛片操骚逼| 久久精品一区一起草| 人人操欧美风骚| A级国产欧美激情在线| 国精综合一二三区影视| 国产精品久久久无码AV网站| 青青草原伊人网| 六月丁香网| 国产操逼网站亚洲一级黄色| 高跟伊人julia ann| 超97在线精品视频| 欧美色道啊| 人人操人人插人人摸人人干| 亚洲精品久久久久久| 国产91美女高潮| 91精品久久久久五月天精品| 九九超碰综合网| 一区=区三区视频| 日本性爱少妇| 成全动漫视频观看免费下载| 九九九久| 制服少妇欧美| 亚洲性爱高潮影院| 亚洲中文国际强奸字幕| 欧美组图日韩亚洲中文字幕| 久久久少妇诱惑精品视频| 97综合在线观看| 91呆哥人妻| 国产熟女无套内射| 欧美亚洲美少妇一区二区| 久久性爱视频| 国产偷拍自拍在线视频| 91丨国产丨白浆秘 洗澡动漫| 日韩人妻精品| 美女97超碰| 激情五月天丁香| 久久美女国产| 青青操网| 综合久久9| 久久人妻无码毛片A片麻豆| 蜜臀av在线播放一区二区三区| 中国一级操逼视频| 后入精品| 日韩欧美蜜桃精品久久中文字幕久久 | 久久美女国产| 久久久久少妇| 蜜臀Av一区二区三区| 天天操人人操骚逼网站| 国产白领连续中出在线观看| 五月综合视频| 殴美大黄片| 91精品久久久| 久久狠狠色噜噜狠狠狠狠97| 美女丝袜激情小说| 久久日本熟妇熟色高清| 99热97| 天天综合色| 无码国产精品久久久久| 中文字幕一区二区在线日韩精品| 欧美色www亚洲国产阿娇要播| 天躁夜夜躁2021| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 妇女视频网站| 人妻中文在线| 亚洲古典另类欧美在线| 欧美另类综合久久| 密乳无码| 亚洲精品尤物yw在线影院| 国内亚洲高清无码| 国产女同在线观看视频| 一级一性爱免费视频| 国产97亚洲| 九九久久玖玖| 夜色91| 大香蕉综合网| 欧美综合天天| 激情婷婷综合久久| 91精品国产91综合久久蜜臀| 日韩免费中文字幕视频| 久久老熟女| 亚洲日本大香蕉1| 欧洲一区二区| 91色夜| 超碰97伊人| 亚洲综合首页| 思思久热在线精品66| 日韩欧美日韩| 国内毛片热久久思思热| 一级岛国大片| 男人的天堂欧美| 综合亚洲情色| 操我啊啊啊啊啊| 人妻一区久久二区三区色播| 99国产精品免费| 蜜桃久久久久久久| 久久大线蕉一区| 久久久久久久六六| 一本大道久| 欧美偷拍| 日韩免费在线观看不卡| 美女熟妇色| 久久亚洲AV成人精品无码| 欧美熟女操屄| av天堂手机版追回| 丰满人妻一区二区三区| 天天看综合网| 伊人操操| 亚洲丰满很很操| 久久9精品| 97色碰| 国产一级137片内射麻豆| 日韩精品人妻一| 在线国产探花| 天无日色综合| 97在线青| 91中文字幕在线观看| 91日韩| 操逼视频色| 久久久精品成人国产| 色色无码| 78综合网| 嫩草 我啊~嗯~在线| 好涩综合| 日本一区视频在线观看| 亚洲精品日韩国产欧美| 中文字幕一区二区三区蜜臀| 亚洲有码第一页| 黄页av| 色在线综合| 一级免费啪啪片| 中文字幕日产av人| 日韩成人人妻网站| 国产精品人妻无码久久久互動交流| 在线播放一级无码视频| 国产亚洲色婷婷久久99精品91| 亚洲乱色视频一区、二区在线| 福利在线视频一区二区| 亚洲色宗合| A 在线网址| 欧美1727免费观看视频| 天堂伊人久久| 风月影院十八禁| 影音先锋乱| 九九热超碰97亚洲最新香蕉| 超碰在线综合97| 一级做受视频免费是看美女| 九九aV| 精品久久久久久久久久久久 | 日韩97视频| 亚洲av成人精品一区| 久干9操| 九九九综合精品| 一区超碰一区| 巨爆乳一区二区爆乳区| 亚洲五月天激情| 欧美第一页| 91亚洲人电影| 国产免费黄色一级大片| 欧美系列在线一区二区| 亚州操操穴网| 国产麻豆91欧美一区二区久久婷婷国产精品 | 日本天堂在线播放| 蜜乳成人AV| 天天综合色| 国产精品在线一区二区| 老司机福利青青草| 成人婷婷丁香| 久操| 欧美极品性爱天天射| http://qxhbdz.com| 欧美黑人与女人91| 久久av成人无码免费| 欧美美女在线高潮999| 97久久超碰日韩精品| 一级久久性爱视频| 久久999久| 久久久性| 一色网男人的天堂| 无码粉嫩白虎一线天b区| 伊人影院综合是一个与深夜成人在线| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 欧美精品日韩久久久九| 欧美亚洲玖玖玖| 欧美性性性| 精品v日韩欧美国产| 九九九九九九九九九九精品视频| 嗯嗯啊啊啊好爽| 色婷婷电影网| 国产精品久久久久久9999| 久久久久久电影| 天天影视综合网欧美精品| 一区二区三区高清| 五月丁香啪啪| 国产日本顶级一区二区三区| 少妇滛荡视频| 超碰久草| 91精品丝袜在线观看| 伊人少妇久久久| 91动漫操逼视频| 97超色| 两性综合网| 日欧美色| 欧美 青青草| 尤物AV免费网站| 国模吧 一区二区三区| 91色s| 狠狠综合网| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 亚洲欧美一区二区三区在钱蜜桃| 天天综合网在线91| 丁香婷婷久久 | 国产精选三级在线观看| 爱丝福利| 久久99网站| 精品人妻久久久| 最新欧洲欧美日本激情网站| 校园春色AV天堂| 超碰亚洲欧美日韩无| 国产日本一区二区三区蜜臀在线观看| 综合网,亚洲,欧美| 欧美Ⅴ性爱| 狠狠夜色午夜久久综合在线| 精品国产丝袜一区二区三区乱码| 黄色十八禁| 婷婷五月天色色| 97超碰欧美精品| 成人AV素股で擦久久| 人人人摸人人| 视频二区熟女人妻| 中日高清无码操逼视频| 国产精品农村妇女| 熟妇视频一区二区三区在线观看| 黄色操人| 无码九九九九| 激情婷婷五月天| 精品无码一区二区三区| 精品一区二区三区四区外站| 亚洲日韩精品在线播放| 成人久久久| 日本淫穴在线| 婷婷五月激情综合| 婷婷色色五月天福利| 天堂综合| 五月婷婷六月激情| 黄片qw| 欲射影视| 日本在线不卡v二区| 妇女一区二区三区| 嗯嗯啊啊好疼| 乱色视频中文字幕| 熟女乱3伦999| 色哟哟AV| 顶级少妇BT天堂| 强歼乱伦资源网| 日韩无码一区二区三区| 99热欧美| 欧美日韩国产一区二区小黄片大全| 精品性爱久久视频| 日韩人妻少妇 一区二区三区| 人人操 欧美| 中文字幕福利视频一区二区三区在线观看| 久久久亚洲精品电影免费看| 26uuu性物| 日韩综合色图| 久久草视频污视频| 加勒比99999| 夜夜操美女| 国产精品粉嫩福利在线| 青青草日本无码| 逼逼逼逼操操操操操操操操操午夜剧场| 91亚洲人电影| 韩国成人精品久久久免费看| 人妻熟女一区二区在线视频| 97日视频| 欧美日韩天堂| 性色AV蜜色av色欲av| 乱操9999| 亚洲色性情三级| 欧美性爱五月天| 日韩性爱毛片操骚逼| 色九久| 欧美极品少妇| 吉川爱美98堂在线| 欧洲色| 久久精品毛片免费不卡| 一级片视频啪啪| 无码人妻一区二区三区四区老鸭窝| 97精品第3页| 日韩美脚一区二区网站| 黄色性爱网网| 国产精品干干干| 日本人妻最新在线中| 亚洲天堂男| 欧美啪啪啪91| 欧美日韩国产人人| 五月天色电影| 男人天堂婷婷五月天校园春色| 91精品久久综合熟女| 在线A日本| 成年人黄色视频免费| 国产极品馒头逼| 熟女少妇视频| 欧美日日人人天天| 色在线69堂| 欧美 传媒 麻豆 日韩 偷拍| 欧美大码在线视频| 99热这里只有精| 色情五月丁香| www色婷婷| 人人爱人人操人人性| 青青操综合网| 嫩呦国产一区二区三区AV| 日韩免费av片高清无码| 成人性交午夜免费片| 亚洲一区二区中文字幕| 欧美第五页| 九九九九九九免费视频| 伊人久久亚洲色欲综合网站 | 亚州欧美在线| 久9综合在线| 青青草女人天天干| 无码操逼天堂| 日韩人人精品| 国模久久在线| 91精品国| 亚洲少妇视频| JuliaAnnXXX888| 欧美亚洲首页| 老司机香蕉久久久久| 麻豆成人影音在线| 久久免费少妇| 日韩大香蕉| 黄色视频高清无码网站| 黄片www视频免费| 日韩三级在线观看网站| 最新av中文字幕高清| 日本精品中文字幕视频| 欧美日韩另类在线播放| 国产中文大片资源中文字幕| av网页一区二区三区| 国产女性无套 免费观看| 黄色高清无码无码破解免费暗网| 精品超碰国产| 丁香五月成人| 97操97色| 嫩草伊人久久精品| 欧日韩在线观看| 蜜臀在线看片| 欧美色图另类图片| 久久69| AV一区观看| 亚洲欧洲精品视频发布| 日本肉体xxxx裸交| 丁香五月成人| 精彩国产视频播放1区2区| 伊人aaa| 欧美淫乱视频| 久久久久久性爱免费视频| 丝袜AV一区二区三区| 国产熟女精品一区二区| 国产三级资源在线观看| 在线观看岛国有码| av九九| 中文字幕乱码人妻一区二区三区,99精品| 色天使大香蕉| 亚洲97网站| 成人性生活高清视频在线播放| 国产精品又黄又猛又粗| 免费簧片在线观看| 婷婷久久综合久| 欧美亚洲丝袜美女电影| 成人色女网| 91插B网站| 日韩综合无码一区久久92| 日韩在线一区二区| 99精品热| 久久超碰免费的| 精品久操| 亚洲无码国产探花在线观看| 日韩在线观看字幕精品| 天天综合网站| 人妻 欧美 中文| 久久激情视频| 看免费的黄片| 久热大香蕉| 少妇500双飞99| 久久久亚洲精品中文字幕人妻| 黄色香蕉视频网站一区| 丰满人妻av一区二区三区 | 台湾佬激情综合| WWW美腿丝袜香蕉中文| dy888午夜老子影视达达兔| 九色精品视频导航1| 99热| 无码操逼天堂| 97视频在线| 欧美顶级黄片AAAAA在线免费看| 五月天激情网图片| 欧美激情久久久久| www国产无码| 欧美强奸一区二区诱惑| 第四色色综合91| 制服中出中文人人精品| 最新亚洲风情电影| 国产精品不卡少妇白| 久久精品国产亚洲AV嘿嘿| 性吧在线视频| 91国产丝袜美女| 东北女人高潮视频| 91强热人妻| 一区 欧美 日韩 麻豆| 96超碰网| 国语av最新自产拍在线观看| 伊人久久国产免费观看视频| 中日韩久久久免费看| 思思热免费在线视频| 嗯阿好爽好紧| 熟妇人妻精品一区二区| 亚洲一本大道中文字幕无码在线| 一区二区 日韩 欧美 国产 传媒| 99操逼| 国语av最新自产拍在线观看| 日韩啪啪啪啪啪| 国产午夜福利合集| 国产黄片在线免费观看| 超碰国产情侣自拍网| 97亚洲在线| 人妻22p| 操淫穴亚洲五月丁香 | JIZZJIZZ亚洲女人被躁| 啪啪综合网| 色欧美色交综合| 亚洲AV无码AV吞精久久久久| 2019天天操天天爽天天拍| 日韩三级伊人| 免费视频无码| 麻豆一区二区三区在线看| 3p国产色噜噜一区| 亚洲精品不卡一二三区|