主頁 >  其他 > 探討Morest在RESTful API測驗的行業實踐

探討Morest在RESTful API測驗的行業實踐

2022-11-29 07:20:37 其他

摘要:在本文中,我們將重點探討使用自動化智能化Morest測驗技術在RESTful API測驗的行業實踐,

本文分享自華為云社區《【智能化測驗專題】華為云API智能測驗工具--Morest測驗框架》,作者: DevAI ,

如今,許多公司都在通過RESTful API提供云服務,隨著RESTful API的日益普及,測驗RESTful API變得至關重要,為了解決這個問題,研究人員提出了幾種自動RESTful API測驗技術,在華為,我們設計并實作了一個名為Morest的自動化RESTful API測驗框架,Morest已用于測驗10個微服務,并檢測出83個未被發現的程式錯誤,這些錯誤均已被開發人員確認并修復,盡管,在微服務的RESTFUL API的測驗方面,Morest展現出強大的測驗用例生成能力和缺陷探知能力,但同時,我們也注意到在實踐中應用自動RESTful API技術時,開發者的參與是不可避免的并且重要,

在本文中,我們將重點探討使用自動化智能化Morest測驗技術在RESTful API測驗的行業實踐,

1 簡介

REpresentational state transfer (REST) 的概念由Roy Fielding在2000年首次提出[1],它是一種軟體架構風格,定義了不同組件之間互動的約束,在Web服務的背景關系中,符合REST約束的API稱為RESTful API,使用RESTful API,可以將狀態以JSON、XML、YAML等格式傳輸到客戶端,在過去的十年中,各種公司(如亞馬遜、谷歌、華為和微軟)采用REST標準來設計他們的Web API,

隨著RESTful API的出現,測驗RESTful API服務對于Web服務的質量保證變得至關重要,為此,已經提出了幾種技術[2-4]來自動生成RESTful API的測驗用例,在華為,我們基于我們之前的作業[4]開發了一個高度自動化和彈性的RESTful API測驗框架,稱為Morest,Morest曾在華為測驗了十個RESTful API服務,并展示了強大的能力,因為它幫助揭示了總共83個以前未知的錯誤,所有錯誤都得到了開發人員的確認并已得到修復,雖然Morest可以減輕手動撰寫RESTful API測驗用例的負擔,但我們發現開發者在實踐中仍然發揮著重要作用,在本文中,我們關注自動RESTful API測驗中的人為因素,

首先,我們介紹了Morest框架的設計,并解釋了這種設計如何有助于促進Morest和開發者之間的更好協調,其次,我們將Morest的性能與幾個基線進行了比較,包括由華為內部服務的質量保證團隊維護的手動撰寫的測驗套件,以研究Morest如何優于其他自動測驗技術,以及Morest如何補充人工,最后,我們討論了在應用Morest程序中的經驗教訓,

調查結果/要點可總結為:

? Morest 在華為的10個微服務中發現了83個以前未識別到的漏洞,所有這些漏洞都得到了開發者的確認和修復,這顯示了在行業實踐中應用自動RESTful API測驗工具的巨大潛力,

? 即使測驗程序高度自動化,人為因素對于RESTful API測驗也很重要,首先,OpenAPI 規范的質量對于自動化工具的性能至關重要,這些規范必須手動維護和管理,其次,生成回歸測驗用例需要適當的設定和拆卸機制,由于復雜性高,無法自動處理,

? 由人類專家和自動化工具創建的測驗用例可以相互補充,尤其是手動創建的測驗用例擅長成功請求 RESTful API,而自動創建的測驗用例擅長覆寫角落用例,因此,提高測驗性能需要人類專家和自動化工具之間的良好協調,

? 為了促進專家和工具之間的順利協調,工具輸出的呈現方式也很重要,根據我們對來自不同產品的81位華為開發者的調查,Morest 測驗報告中最需要的四個屬性是狀態碼、失敗的測驗用例、成功的測驗用例以及引數分布,

2 Morest的框架

2.1 概述

圖1顯示了Morest的概述,一般來說,Morest包含三個組件:測驗用例生成、測驗用例執行和測驗報告生成,Morest的輸入一般是被測服務的符合OpenAPI規范的介面定義檔案,輸出是包含回歸測驗用例和分類故障以進行除錯的測驗報告,

2.2 測驗用例生成

測驗用例生成是Morest的核心組件,它是基于我們之前的作業[4]構建的,我們不討論每個技術細節,而是總結測驗用例生成的三個關鍵步驟,

首先,Morest從目標服務的OpenAPI規范中提取API之間的依賴關系,圖3顯示了針對 5個API的YAML格式的S-Service的OpenAPI規范,我們可以看到該規范嵌入了不同 API 之間的依賴關系,

例如,在圖 3 中,操作 getVolume 以引數 storage_id 作為輸入,它是操作 getStorage 的輸出,這表明 getVolume 依賴于 getStorage, Morest 通過引數推斷 [4] 提取此類依賴關系,由于 Morest 依賴 OpenAPI 規范作為唯一輸入,因此 OpenAPI 規范的質量至關重要,

第二,Morest 使用提取的 API 之間的依賴關系生成 RESTful-service Property Graph (RPG),RPG 可以描述詳細的 API 依賴關系,并允許在測驗程序中動態改進捕獲的依賴關系1,圖 2 顯示了圖 3 中規范的相應 RPG,在 RPG 中,每個節點代表一個操作或模式,邊代表操作和模式之間的資料依賴關系,例如,一條從操作 A 指向模式 B 的邊意味著 A 的至少一個引數來自模式 B,

第三,Morest 從 RPG 生成 API 呼叫序列來測驗目標服務,通過以深度優先的方式遍歷 RPG,Morest 可以生成請求序列作為不同使用場景的測驗用例,

2.3 測驗用例執行

如圖 1 所示,我們使用測驗用例執行器來執行 2.2 節生成的測驗用例,測驗執行者負責具體化呼叫序列,一般來說,Morest中的引數有兩種,即具體值和依賴值,

具體來說,Morest 會根據 OpenAPI 規范的定義生成具體值,另一方面,從 API 的先前回應中檢索到的依賴值在執行期間動態組裝,一旦執行了具體的測驗用例,執行器將相應的回應轉發給測驗用例生成部分和測驗報告生成部分,這里要解決的一個關鍵挑戰是如何構建一個高吞吐量的測驗用例執行器,由于可能有多個實體為不同的 RESTful API 服務生成測驗用例,我們實作了一個 Kafka 集群來并行執行測驗用例,因此,我們可以通過動態增加 Kafka 集群的能力來增加吞吐量,

2.4 測驗報告生成

Morest 的測驗報告包括用于不同目的的成功測驗用例和失敗測驗用例,

2.4.1 成功的測驗用例(回歸測驗)

只有當它的所有API呼叫都收到帶有2xx狀態代碼的回應時,測驗用例才被認為是成功的,成功的測驗用例被聚合并作為回歸測驗用例持續存在,以持續測驗RESTful API服務,由于RESTful API的頻繁更新,撰寫回歸測驗用例需要不平凡的手動作業,通過將 Morest 集成到生產管道中,Morest可以減輕開發人員的負擔,這里值得一提的是,應該應用兩個程序(設定和拆除)來組裝最終的回歸測驗用例,為了引導回歸測驗,setup 用于初始化可執行環境(例如,在圖3中創建存盤),另一方面,由于測驗用例通常不是冪等的(換句話說,它們可能會意外地改變RESTful API服務的狀態,從而導致執行失敗),因此設計拆解是為了補償受影響的狀態(例如,釋放測驗用例執行后創建的存盤),目前,Morest使用CRUD創建、讀取、更新和洗掉語意[5]來自動組裝回歸測驗用例,或者,我們還在管道中啟用手動制作的回歸測驗用例,

2.4.2 失敗的測驗用例(檢測到的失敗)

Morest通常在一小時內檢測到1,000多個故障,并且驗證每個故障是勞動密集型的,因此,在這個組件中,我們通過狀態碼、RESTful API端點和相應的測驗用例序列AURORA [6] 應用于集群故障,以補償開發人員發現缺陷的努力,此外,還可以將失敗的測驗用例修改后添加為回歸測驗用例,不斷提高回歸測驗用例的健壯性和多樣性,

3 評估

為了評估 Morest 的性能,我們在華為內部的一個云服務上進行了183個RESTful API的實驗,即S-Service,我們使用了四個基線來與Morest進行比較:

? 隨機生成 (RandomGen):API呼叫序列以及API引數是隨機生成的,

? 自下而上的生成(Restler):Restler從單個RESTful API開始,并通過根據生產者-消費者關系動態包含更多 API 呼叫來逐步生成測驗用例,

? 操作依賴圖引導生成:(RestTestGen):與Morest一樣,RestTestGen[3]使用OpenAPI規范推斷RESTful API之間的生產者-消費者關系,它構建并遍歷操作依賴圖(ODG)以生成API呼叫序列,與ODG相比,RPG承載的資訊更多,可以動態更新,

? 手動撰寫的測驗套件(ManualSuite):我們獲取了由S-Service的質量保證(QA)團隊維護的測驗用例,用于研究手動撰寫的測驗用例與自動生成的測驗用例之間的關系,對于自動RESTful API測驗技術,我們運行了8個小時,以便它們能夠收斂,我們還重復了五次實驗以減輕隨機性,對于ManualSuite,我們將所有測驗用例運行一次,因為這組測驗用例是固定的,

為了評估不同技術的性能,我們收集了在 S-Service 上檢測到的行覆寫率、方法覆寫率和獨特錯誤的數量,每種評估技術的代碼覆寫率和檢測到的錯誤的平均結果如表 1 所示,

我們可以觀察到 ManualSuite 實作了最高的代碼覆寫率,通過審查ManualSuite中的測驗用例并與S-Service的QA團隊討論,我們發現人類專家對S-Service的領域知識比任何自動生成技術都多,尤其是在OpenAPI規范沒有很好記錄的情況下,因此,人類專家撰寫的測驗用例總是可以成功請求目標RESTful API,而工具生成的測驗用例可能無法請求某些API,同時,我們也注意到ManualSuite中的測驗用例主要是為了回歸目的而維護的,因此,ManualSuite不會揭示S-Service中的任何錯誤,

最后,但同樣重要的是,從表1中,我們還可以看到,由于其測驗用例生成引擎[4],Morest在自動化技術中實作了最高性能,此外,Morest可以發現其他工具檢測到的所有錯誤,

為了全面了解自動化測驗技術和手動撰寫的測驗套件之間的差距,我們進一步研究了每個自動化工具和ManualSuite之間的代碼覆寫率差異,結果如表2所示,

從表2可以看出,雖然ManualSuite可以達到最佳的整體代碼覆寫率,但即使是隨機生成的測驗用例,平均也能覆寫ManualSuite無法覆寫的120.40行代碼,結果表明,自動化工具確實可以補充人類的努力,通過進一步研究代碼覆寫率報告,我們發現自動化工具擅長覆寫極端情況,事實上,手動撰寫的測驗用例并不能詳盡地涵蓋API呼叫的不同組合,更不用說API引數的不同值,

此外,覆寫極端案例還有助于自動化工具檢測錯誤,例如,Morest可以為volume_id引數生成一個包含64個字母的字串來觸發決議錯誤,

4 經驗教訓

4.1 OpenApi規范的質量

RESTful API 服務的OpenAPI規范由開發者維護,是Morest學習正確API使用的唯一資料源,因此,OpenAPI規范的質量會極大地影響Morest的性能,為規范介面檔案質量,華為提出了嚴格的OpenAPI規范要求和檢測工具,但是,一些遺留專案的RESTful API規范,例如S-Service,并沒有遵循標準,

在實踐中,我們發現OpenAPI規范的質量不佳是Morest代碼覆寫率的主要限制,

在這里,我們總結了阻礙OpenAPI規范質量的兩個最常見的問題,并提供了處理它們的策略,

4.1.1 重復引數名

由于 Morest 依賴引數名稱來推斷 RESTful API 之間的依賴關系,因此重復的引數名稱會帶來混亂,如圖 4 所示,getVolumeMapping 和 getVolumeHost 都需要輸入id,

但是,兩個端點中名為 id 的引數指的是不同的物體(一個id代表VolumeMapping,另一個標識VolumeHost),

雖然RPG的設計和動態更新策略可以緩解這個問題[4],但 Morest 仍然不能完全擺脫這個問題,因此,Morest可能會生成無效的測驗用例,從而限制測驗效率,為了應對這一挑戰,最直接的方法是重新設計相應的被測系統,并確保特定物體的引數名稱具有唯一性,然而,這是勞動密集型的且不切實際的,由于可能會在被測服務之上構建各種其他服務,因此更改引數名稱可能會導致意外行為,因此,在實踐中,我們建議使用名為x-name [7] 的OpenAPI 擴展來重命名具有相同名稱的引數,Morest可以通過查詢規范中的x-name來區分它們,

4.1.2 生產環境相關問題

被測服務在不同的生產環境中可能表現不同,具體來說,連接到不同設備的生產環境可能會對API引數產生不同的限制,例如,在圖5中,capability的值受生產環境的連接設備數量的限制,如果capability的值無效,相關的測驗用例也會失效,為了填補RESTful API規范和生產環境需求之間的空白,我們建議為每個生產環境單獨生成一個規范,

4.2 高并發測驗

在這里,我們將討論我們使 Morest 框架具有彈性和效率的經驗,我們利用 Kafka 集群來執行測驗用例并以異步方式同時檢索相關回應,此外,大多數RESTful API服務允許異步API呼叫以實作高吞吐量,但是,這帶來了維護API正確呼叫序列的挑戰,例如,如果我們調度一個任務在S-Service中創建一個存盤并立即附加卷到它,那么下面的操作很可能會失敗,因為在S-Service中創建一個存盤需要幾秒鐘才能完成,在實踐中,我們通過設定定制的異步RESTful API處理程式(例如,為相關API插入小的時間延遲)來解決這一挑戰,

4.3 測驗輸出的呈現

4.3.1 測驗報告

Morest 可以在8小時內生成超過 200,000 個測驗用例(在第3節的實驗中),分析測驗結果是勞動密集型的,因此,我們對華為的81位開發者進行了調查,以確定哪些專案應該包含在報告中,

圖 6 顯示了開發人員最想要的四個屬性,特別是,所有開發人員都要求提供狀態代碼和失敗的測驗用例,以定位其 RESTful API 服務背后的故障,超過一半的開發人員(85.2% = 69 / 81)希望包含成功的測驗用例,可以用作回歸測驗用例,此外,大量開發人員 (70.4% = 57 / 81) 關心引數分布(n向組合覆寫率)以評估特定輪次測驗是否足夠,

4.3.2 故障聚類

在將所有捕獲的故障呈現給用戶之前,Morest使用聚類演算法(例如AURORA[6])對失敗的測驗用例進行分組,根據測驗目標(例如,缺陷搜尋、性能評估),可以相應地應用不同的分組標準(例如,狀態代碼、錯誤訊息和回應時間),我們的主要經驗是提供通用的聚類標準,以滿足不同開發或質量保證團隊的需求

4.3.3 回歸測驗

Morest的一個關鍵特性是生成回歸測驗用例,由于RESTful API服務的復雜性,生成的測驗用例通常不是冪等的,因此,我們需要設定和拆卸組件來組裝回歸測驗用例,

否則,簡單地應用自動生成的測驗用例可能會污染RESTful API環境(例如,創建臟資料)并導致誤報失敗(例如,由于不同的系統狀態而失敗),我們的經驗是,生成設定和拆卸代碼是逐案生成的,并且需要有關被測服務的強大領域知識,因此,構建回歸測驗用例需要人類專家和Morest之間的協調,

5 相關作業

一些現有的作業專注于自動測驗 RESTful API,RestTestGen[3]利用輸入OpenAPI規范的靜態分析來生成和執行測驗用例,具體來說,RestTestGen中請求RESTful API的順序是固定的,Restler[2]從請求單個RESTful API開始,并形成受給定測驗用例長度閾值限制的測驗用例,相比之下,Morest使用定制的測驗用例生成引擎,該引擎通過靜態分析生成初始測驗用例,并通過動態引數推斷改進測驗用例,此外,Morest是一個用于測驗RESTful API服務的可擴展框架,Restler和RestTestGen都可以作為測驗用例生成引擎集成到Morest中,

EvoMaster[8]以白盒方式測驗RESTful API,不幸的是,在大多數情況下,我們無法獲得RESTful API服務的源代碼,即使可以訪問源代碼,也需要付出很多努力來設定環境和撰寫測驗驅動程式,因此,我們選擇了黑盒方式來執行自動化的RESTful API測驗,

最近,一項實證研究[9]發現自動RESTful API測驗存在各種未解決的問題,在這項作業中,我們將Morest應用于測驗商業RESTful API服務,這為可擴展的自動化RESTful API測驗提供了啟示,

6 結論

在本文中,我們介紹了Morest,一個用于自動測驗RESTful API服務的框架,Morest具有自動化程度高、基于場景的測驗用例生成、高并發測驗用例執行等特點,Morest被用于華為10個微服務的測驗,發現了83個未被發現的Bug,通過在實踐中應用Morest,我們發現,盡管Morest具有強大的錯誤探知能力,但仍然需要人工來準備符合OpenAPI規范的介面檔案以及構建回歸測驗用例,此外,通過對華為內部微服務的測驗實驗,我們發現自動化工具可以通過覆寫邊界情況來補充人工撰寫測驗用例的不足,

原文鏈接: https://conf.researchr.org/details/ase-2022/ase-2022-industry-showcase/5/MOREST-Industry-Practice-of-Automatic-RESTful-API-Testing

REFERENCES

[1] R. T. Fielding and R. N. Taylor, “Architectural styles and the design of network-based software architectures,” Ph.D. dissertation, 2000,aAI9980887.

[2] V. A, P. G, and M. P, “Restler: stateful REST API fuzzing,” in ICSE 2019. IEEE / ACM, 2019, pp. 748–758.

[3] E. V, M. D, and M., “Resttestgen: Automated black-box testing of restful apis,” in ICST 2020, oct 2020.

[4] Y. Liu, Y. Li, G. Deng, Y. Liu, R. Wan, R. Wu, D. Ji, S. Xu, and M. Bao, “Morest: Model-based restful API testing with execution feedback,” CoRR, vol. abs/2204.12148, 2022. [Online]. Available: https://doi.org/10.48550/arXiv.2204.12148

[5] I. Rauf and I. Porres, “Beyond CRUD,” in REST: From Research to Practice,E. Wilde and C. Pautasso, Eds. Springer, 2011, pp. 117–135. [Online]. Available: https://doi.org/10.1007/978-1-4419-8303-9_5

[6] T. Blazytko, M. Schl?gel, C. Aschermann, A. Abbasi, J. Frank, S. W?rner, and T. Holz, “AURORA: statistical crash analysis for automated root cause explanation,” in 29th USENIX Security Symposium, USENIX Security 2020, August 12-14, 2020, S. Capkun and F. Roesner, Eds. USENIX Association, 2020, pp. 235–252. [Online]. Available: https:// www.usenix.org/conference/usenixsecurity20/presentation/blazytko

[7] OpenAPI, “Openapi extensions,” https://swagger.io/docs/specification/openapi-extensions/, 2022-06-01 2022.

[8] A. Arcuri, “Evomaster: Evolutionary multi-context automated system test generation,” in 11th IEEE International Conference on Software Testing, Verification and Validation, ICST 2018, V?ster?s, Sweden, April 9-13, 2018. IEEE Computer Society, 2018, pp. 394–397. [Online]. Available: https://doi.org/10.1109/ICST.2018.00046

[9] M. Kim, Q. Xin, S. Sinha, and A. Orso, “Automated test generationfor REST apis: No time to rest yet,” CoRR, vol. abs/2204.08348, 2022. [Online]. Available: https://doi.org/10.48550/arXiv.2204.08348

 

點擊關注,第一時間了解華為云新鮮技術~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/538619.html

標籤:其他

上一篇:淺議飛機狀態監控

下一篇:whylogs工具庫的工業實踐!機器學習模型流程與效果監控 ?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more