DC-9靶機(jī)滲透實(shí)戰(zhàn):從SQL注入到端口敲門的完整攻擊鏈解析
1. 項(xiàng)目概述與核心價(jià)值最近在整理自己的滲透測(cè)試實(shí)戰(zhàn)筆記翻到了DC-9這個(gè)靶機(jī)。它不像某些靶機(jī)那樣上來就給你一個(gè)明顯的漏洞入口而是需要你像偵探一樣從零散的信息中拼湊出攻擊路徑。整個(gè)過程涉及了Web應(yīng)用安全中非常經(jīng)典的SQL注入漏洞以及一個(gè)相對(duì)少見的提權(quán)技巧——端口敲門。很多朋友在打這個(gè)靶機(jī)時(shí)要么卡在信息收集不全要么在提權(quán)環(huán)節(jié)找不到頭緒。今天我就把整個(gè)通關(guān)流程結(jié)合我踩過的坑和總結(jié)的技巧從頭到尾拆解一遍。無論你是剛接觸滲透測(cè)試的新手還是想鞏固Web滲透知識(shí)體系的朋友這篇指南都能讓你對(duì)“漏洞串聯(lián)”和“權(quán)限提升”有更深刻的理解。DC-9靶機(jī)模擬了一個(gè)存在多處安全缺陷的網(wǎng)站最終目標(biāo)是獲取系統(tǒng)的最高權(quán)限。它的核心價(jià)值在于它不是一個(gè)孤立的漏洞點(diǎn)而是一個(gè)完整的攻擊鏈演練。你需要先通過前端的SQL注入拿到后臺(tái)訪問權(quán)限然后在后臺(tái)發(fā)現(xiàn)新的攻擊面最后利用系統(tǒng)層面的配置缺陷完成提權(quán)。這個(gè)過程完美復(fù)現(xiàn)了現(xiàn)實(shí)中攻擊者“由外到內(nèi)、層層遞進(jìn)”的滲透思路。接下來我們就從最基礎(chǔ)的環(huán)境搭建和信息收集開始。2. 環(huán)境準(zhǔn)備與初步信息收集2.1 靶機(jī)環(huán)境搭建與網(wǎng)絡(luò)配置首先你需要一個(gè)虛擬化環(huán)境來運(yùn)行DC-9。我通常使用VMware WorkstationVirtualBox也是完全可行的。將下載好的DC-9靶機(jī)OVA文件導(dǎo)入后最關(guān)鍵的一步是設(shè)置網(wǎng)絡(luò)。務(wù)必將靶機(jī)的網(wǎng)絡(luò)適配器設(shè)置為“NAT模式”或“僅主機(jī)模式”。我強(qiáng)烈推薦使用“僅主機(jī)模式”并在你的攻擊機(jī)通常是Kali Linux上也配置一個(gè)同網(wǎng)段的僅主機(jī)網(wǎng)絡(luò)適配器。這樣做的好處是你和靶機(jī)構(gòu)成了一個(gè)封閉的、不受外界干擾的測(cè)試環(huán)境避免了外部網(wǎng)絡(luò)掃描的干擾也符合安全測(cè)試的倫理要求。啟動(dòng)靶機(jī)后它通常不會(huì)顯示IP地址。我們需要找到它。在Kali Linux中打開終端使用netdiscover或nmap進(jìn)行二層或三層發(fā)現(xiàn)。一個(gè)更穩(wěn)妥的方法是先進(jìn)行ARP掃描sudo netdiscover -r 192.168.56.0/24假設(shè)你的僅主機(jī)網(wǎng)段是192.168.56.0/24這條命令會(huì)列出該網(wǎng)段內(nèi)所有活躍的IP和MAC地址。找到那個(gè)不屬于你已知設(shè)備的IP很可能就是DC-9。記下這個(gè)IP地址我們后續(xù)所有操作都將針對(duì)它。注意有些虛擬化環(huán)境特別是VirtualBox的僅主機(jī)網(wǎng)絡(luò)可能需要你手動(dòng)配置一個(gè)靜態(tài)IP給Kali并確保它能ping通靶機(jī)網(wǎng)段。如果發(fā)現(xiàn)網(wǎng)絡(luò)不通檢查一下虛擬網(wǎng)絡(luò)的DHCP服務(wù)器是否已啟用或者手動(dòng)設(shè)置IP地址。2.2 全面的端口與服務(wù)掃描拿到靶機(jī)IP假設(shè)為192.168.56.105后下一步就是摸清它的“家底”——開放了哪些端口運(yùn)行著什么服務(wù)。這里我習(xí)慣分兩步走先快速掃描確認(rèn)開放端口再針對(duì)性地進(jìn)行深度探測(cè)。第一步快速全端口掃描使用Nmap的-p-參數(shù)進(jìn)行全端口掃描但為了加快速度可以結(jié)合--min-rate。nmap -p- --min-rate 1000 192.168.56.105這個(gè)命令會(huì)相對(duì)快速地掃描所有65535個(gè)端口。等待片刻你會(huì)發(fā)現(xiàn)DC-9只開放了80端口。這很有意思一個(gè)只開Web服務(wù)的靶機(jī)往往意味著所有突破口都集中在網(wǎng)站應(yīng)用本身。第二步深度服務(wù)與版本探測(cè)針對(duì)開放的80端口我們需要進(jìn)行更細(xì)致的掃描獲取Web服務(wù)器類型、版本甚至可能的目錄信息。nmap -sV -sC -p 80 192.168.56.105 -oA dc9_web_scan-sV: 探測(cè)服務(wù)版本。-sC: 使用默認(rèn)的Nmap腳本進(jìn)行更全面的檢查。-oA: 將結(jié)果以所有格式普通、XML、可讀輸出到文件方便后續(xù)查閱。掃描結(jié)果會(huì)顯示運(yùn)行的是Apache httpd以及一些基本的HTTP頭信息。至此我們確定了唯一的攻擊入口運(yùn)行在80端口的Web應(yīng)用。3. Web應(yīng)用滲透與SQL注入突破3.1 網(wǎng)站枚舉與功能點(diǎn)分析在瀏覽器中訪問http://192.168.56.105我們會(huì)看到一個(gè)名為“Jetstream”的酒店搜索頁(yè)面。它的功能很簡(jiǎn)單通過城市名搜索酒店。作為滲透測(cè)試者我們看待每個(gè)輸入框的眼光都應(yīng)該是“懷疑的”。這個(gè)搜索框就是最典型的用戶輸入點(diǎn)也是SQL注入漏洞的高發(fā)區(qū)。首先進(jìn)行常規(guī)的目錄枚舉看看有沒有隱藏的管理后臺(tái)、配置文件或備份文件??梢允褂胓obuster或dirb工具。gobuster dir -u http://192.168.56.105 -w /usr/share/wordlists/dirb/common.txt -x php,txt,html,bak這個(gè)掃描可能會(huì)發(fā)現(xiàn)一些如/admin、/config.php之類的目錄或文件但在DC-9中關(guān)鍵信息往往就在明面上。我們回到搜索功能嘗試輸入一個(gè)單引號(hào)‘進(jìn)行最基本的注入測(cè)試。在搜索框輸入‘并提交觀察頁(yè)面反應(yīng)。如果頁(yè)面返回了數(shù)據(jù)庫(kù)錯(cuò)誤如MySQL、SQLite的錯(cuò)誤信息或者頁(yè)面布局出現(xiàn)異常沒有結(jié)果、空白頁(yè)那么存在SQL注入的可能性就極大。在DC-9中你會(huì)看到頁(yè)面返回了錯(cuò)誤這證實(shí)了我們的猜想。3.2 SQL注入漏洞的手動(dòng)利用與信息提取確認(rèn)存在注入點(diǎn)后我們需要判斷注入類型字符型還是數(shù)字型以及可用的查詢方式。通過輸入1‘ and ‘1’’1和1‘ and ‘1’’2并觀察結(jié)果差異可以判斷這是字符型注入。接下來使用union select語(yǔ)句來提取數(shù)據(jù)。但首先要確定當(dāng)前查詢的列數(shù)。使用order by語(yǔ)句進(jìn)行猜測(cè)輸入‘ order by 1 -- -頁(yè)面正常輸入‘ order by 2 -- -頁(yè)面正常輸入‘ order by 3 -- -頁(yè)面正常輸入‘ order by 4 -- -頁(yè)面報(bào)錯(cuò)這說明原始查詢返回了3列。-- -是SQL注釋符用于注釋掉后續(xù)的SQL代碼確保我們的注入語(yǔ)句語(yǔ)法正確?,F(xiàn)在我們可以構(gòu)造union查詢來獲取數(shù)據(jù)庫(kù)信息。首先查看當(dāng)前數(shù)據(jù)庫(kù)和用戶‘ union select 1, database(), user() -- -提交后在頁(yè)面的某個(gè)位置可能是城市名、酒店名或地址欄你應(yīng)該能看到數(shù)據(jù)庫(kù)名和當(dāng)前用戶。假設(shè)數(shù)據(jù)庫(kù)名為Staff。然后我們需要獲取數(shù)據(jù)庫(kù)中的表名。在MySQL中信息存儲(chǔ)在information_schema.tables里‘ union select 1, table_name, 3 from information_schema.tables where table_schema‘Staff’ -- -這條語(yǔ)句會(huì)列出Staff數(shù)據(jù)庫(kù)中的所有表。仔細(xì)查看結(jié)果你可能會(huì)發(fā)現(xiàn)兩個(gè)關(guān)鍵表StaffDetails和Users。Users表顯然更吸引人。接著獲取Users表的列名‘ union select 1, column_name, 3 from information_schema.columns where table_name‘Users’ -- -你會(huì)看到諸如id,Username,Password這樣的列名。勝利在望最后提取用戶名和密碼哈?!?union select 1, Username, Password from Users -- -頁(yè)面上會(huì)顯示所有用戶的用戶名和密碼很可能是MD5哈希。將這些信息復(fù)制保存下來。實(shí)操心得在實(shí)際手動(dòng)注入時(shí)頁(yè)面可能不會(huì)把所有數(shù)據(jù)都美觀地顯示出來。有時(shí)數(shù)據(jù)會(huì)擠在一列或者只顯示第一條。你可以使用group_concat()函數(shù)將多行數(shù)據(jù)合并到一個(gè)字段中顯示例如‘ union select 1, group_concat(Username), group_concat(Password) from Users -- -。另外注意觀察頁(yè)面源代碼CtrlU有時(shí)數(shù)據(jù)會(huì)藏在HTML注釋或者某個(gè)隱藏的標(biāo)簽屬性里前端沒有渲染出來而已。3.3 密碼破解與后臺(tái)登錄拿到MD5哈希密碼后我們需要破解它們??梢允褂迷诰€破解網(wǎng)站如cmd5.com但如果哈希值加了鹽或者比較復(fù)雜在線網(wǎng)站可能無法破解。更通用的方法是使用john或hashcat在本地進(jìn)行破解。首先將用戶名和哈希保存到一個(gè)文件中格式為用戶名:哈希值例如admin:856f5de590ef37314e7c3bdf6f8a66dc user1:5f4dcc3b5aa765d61d8327deb882cf99 ...然后使用john進(jìn)行破解john hashes.txt --wordlist/usr/share/wordlists/rockyou.txt --formatraw-md5rockyou.txt是一個(gè)常用的密碼字典。運(yùn)氣好的話john會(huì)很快破解出部分弱密碼。在DC-9中你很可能成功破解出admin賬戶的密碼。現(xiàn)在回想之前目錄掃描的結(jié)果或者嘗試常見的后臺(tái)路徑如http://192.168.56.105/admin.php或http://192.168.56.105/login.php。找到后臺(tái)登錄頁(yè)面使用破解得到的admin憑證登錄。成功進(jìn)入后臺(tái)意味著我們突破了Web應(yīng)用的第一道防線獲得了更高級(jí)別的權(quán)限。4. 權(quán)限提升與端口敲門技術(shù)4.1 后臺(tái)功能審計(jì)與新的攻擊面發(fā)現(xiàn)進(jìn)入后臺(tái)管理界面后不要急于到處點(diǎn)擊。首先系統(tǒng)地瀏覽每一個(gè)功能菜單用戶管理、文件管理、系統(tǒng)設(shè)置、日志查看等等。在DC-9的后臺(tái)你可能會(huì)發(fā)現(xiàn)一個(gè)“文件管理”或“查看日志”的功能它允許你讀取服務(wù)器上的文件。這就是一個(gè)本地文件包含LFI或路徑遍歷的漏洞點(diǎn)。嘗試讀取系統(tǒng)關(guān)鍵文件例如/etc/passwd。在文件查看的輸入框里嘗試輸入../../../../etc/passwd。如果成功你將看到系統(tǒng)用戶列表。仔細(xì)查看/etc/passwd文件除了常規(guī)的root,bin等用戶留意那些有登錄shell如/bin/bash或/bin/sh的用戶。你可能會(huì)發(fā)現(xiàn)一個(gè)不常見的用戶名例如fredf。同時(shí)在讀取其他文件如Web應(yīng)用配置文件、日志文件時(shí)可能會(huì)發(fā)現(xiàn)一些有趣的字符串或密碼提示。4.2 利用端口敲門技術(shù)開啟隱藏服務(wù)在審計(jì)后臺(tái)功能或讀取文件時(shí)你可能會(huì)發(fā)現(xiàn)一個(gè)關(guān)鍵的線索一段關(guān)于“端口敲門”的注釋或配置文件。端口敲門是一種通過向一系列特定端口發(fā)送連接請(qǐng)求“敲門”來觸發(fā)服務(wù)器打開另一個(gè)隱藏端口的技術(shù)。它本身是一種安全機(jī)制但配置不當(dāng)或秘密泄露就會(huì)成為漏洞。假設(shè)你在某個(gè)文件里發(fā)現(xiàn)了這樣的序列7469, 8475, 9842。這意味著你需要按順序向靶機(jī)的這三個(gè)端口發(fā)送數(shù)據(jù)包如TCP SYN包之后一個(gè)原本關(guān)閉的端口比如SSH的22端口才會(huì)臨時(shí)打開。我們可以使用nmap或netcat來完成敲門。使用nmap的-p參數(shù)指定端口并用-Pn跳過主機(jī)發(fā)現(xiàn)因?yàn)槎丝谑顷P(guān)閉的默認(rèn)掃描會(huì)認(rèn)為主機(jī)離線。nmap -p 7469,8475,9842 192.168.56.105 -Pn --max-retries 1 -T4這條命令會(huì)快速地向這三個(gè)端口發(fā)送探測(cè)包?;蛘呤褂胣etcatfor port in 7469 8475 9842; do nc -z 192.168.56.105 $port; sleep 1; done-z參數(shù)表示只進(jìn)行掃描不發(fā)送數(shù)據(jù)。sleep 1是為了在兩次敲門之間稍有間隔符合一些敲門守護(hù)程序的預(yù)期。完成敲門序列后立即使用nmap掃描SSH端口22是否開放nmap -p 22 192.168.56.105如果發(fā)現(xiàn)22端口突然從filtered或closed狀態(tài)變?yōu)閛pen那么恭喜你敲門成功現(xiàn)在你獲得了通過SSH連接靶機(jī)的機(jī)會(huì)。4.3 SSH登錄與系統(tǒng)內(nèi)信息收集使用之前在/etc/passwd中發(fā)現(xiàn)的可能有shell的用戶名如fredf以及你在Web滲透階段通過文件包含找到的密碼可能藏在日志或配置里嘗試SSH登錄。ssh fredf192.168.56.105輸入密碼如果成功你就獲得了一個(gè)低權(quán)限的交互式shell。登錄后的第一件事是信息收集。查看當(dāng)前用戶權(quán)限id sudo -lsudo -l命令至關(guān)重要它列出了當(dāng)前用戶可以用sudo權(quán)限執(zhí)行的命令。在DC-9中你可能會(huì)發(fā)現(xiàn)用戶fredf可以以root身份無密碼運(yùn)行一個(gè)文本編輯器命令例如/usr/bin/vi或者/usr/bin/nano。4.4 利用sudo權(quán)限完成最終提權(quán)如果能以root身份運(yùn)行某些編輯器提權(quán)就變得非常簡(jiǎn)單。這是因?yàn)橄駐i、nano、vim、less這類編輯器通??梢栽趦?nèi)部執(zhí)行系統(tǒng)命令。以vi為例執(zhí)行sudo /usr/bin/vi /tmp/test.txt。這會(huì)以root權(quán)限打開vi編輯器。在vi的命令模式下輸入:!bash或:sh然后按回車。這時(shí)vi會(huì)啟動(dòng)一個(gè)新的shell。由于vi是以root權(quán)限運(yùn)行的這個(gè)新啟動(dòng)的shell也就擁有了root權(quán)限。輸入id命令確認(rèn)你會(huì)看到uid0(root)。恭喜你已經(jīng)拿到了DC-9靶機(jī)的最高權(quán)限你可以查看/root目錄下的flag文件通常命名為root.txt或proof.txt作為通關(guān)的最終證明。注意事項(xiàng)利用編輯器提權(quán)是Linux系統(tǒng)提權(quán)中非常經(jīng)典的方法。除了vinano可以通過按下CtrlR然后輸入reset再按CtrlX來嘗試獲取shellless或more在查看文件時(shí)可以輸入!bash來執(zhí)行命令。關(guān)鍵在于sudo -l的列表任何允許以root身份運(yùn)行且能交互或執(zhí)行外部命令的程序都可能成為提權(quán)的跳板。5. 完整攻擊鏈復(fù)盤與防御思考回顧整個(gè)DC-9的滲透過程它清晰地展示了一條從外部到內(nèi)部、從Web到系統(tǒng)的完整攻擊鏈信息收集通過網(wǎng)絡(luò)掃描確定唯一入口80端口Web服務(wù)。漏洞發(fā)現(xiàn)與利用對(duì)Web搜索功能進(jìn)行SQL注入測(cè)試手動(dòng)利用注入漏洞提取后臺(tái)管理員憑證。橫向移動(dòng)利用破解的密碼登錄后臺(tái)發(fā)現(xiàn)文件讀取功能。信息深度挖掘通過文件包含漏洞讀取系統(tǒng)文件/etc/passwd發(fā)現(xiàn)系統(tǒng)用戶名和端口敲門序列。權(quán)限提升準(zhǔn)備利用端口敲門技術(shù)開啟隱藏的SSH服務(wù)。系統(tǒng)權(quán)限獲取使用發(fā)現(xiàn)的用戶名和密碼通過SSH登錄利用配置不當(dāng)?shù)膕udo規(guī)則如可root運(yùn)行的vi完成最終提權(quán)。這個(gè)鏈條上的每一個(gè)環(huán)節(jié)都對(duì)應(yīng)著現(xiàn)實(shí)世界中一種常見的安全配置錯(cuò)誤或漏洞SQL注入根本原因在于未對(duì)用戶輸入進(jìn)行過濾和參數(shù)化查詢。弱密碼使用了強(qiáng)度不足或常見的密碼。不安全的文件操作后臺(tái)功能未對(duì)文件路徑進(jìn)行嚴(yán)格校驗(yàn)導(dǎo)致路徑遍歷。敏感信息泄露將端口敲門序列等敏感信息明文存儲(chǔ)在Web可訪問的位置。不當(dāng)?shù)膕udo授權(quán)給普通用戶分配了不必要的、危險(xiǎn)的sudo權(quán)限。對(duì)于防御者而言針對(duì)每個(gè)環(huán)節(jié)都有明確的加固措施使用預(yù)編譯語(yǔ)句Prepared Statements防御SQL注入強(qiáng)制實(shí)施強(qiáng)密碼策略并定期更換對(duì)所有用戶輸入進(jìn)行嚴(yán)格的校驗(yàn)和過濾避免在代碼或配置中硬編碼敏感信息遵循最小權(quán)限原則謹(jǐn)慎分配sudo權(quán)限并定期審計(jì)。6. 常見問題與排查技巧實(shí)錄在實(shí)戰(zhàn)和教學(xué)過程中我總結(jié)了一些大家容易遇到的問題和解決方法Q1: Nmap掃描不到靶機(jī)IP怎么辦A1: 首先確認(rèn)靶機(jī)已啟動(dòng)完成。檢查虛擬機(jī)的網(wǎng)絡(luò)設(shè)置確保攻擊機(jī)和靶機(jī)在同一網(wǎng)絡(luò)模式如僅主機(jī)模式且網(wǎng)段相同。可以嘗試在靶機(jī)控制臺(tái)手動(dòng)輸入ip addr或ifconfig查看其IP。在Kali上也可以使用arp-scan -l進(jìn)行更底層的發(fā)現(xiàn)。Q2: SQL注入時(shí)union查詢的數(shù)據(jù)不顯示在頁(yè)面上怎么辦A2: 這是非常常見的情況。首先檢查你的注入語(yǔ)句語(yǔ)法是否正確注釋符-- -后面是否有空格。其次嘗試改變union select后各個(gè)字段的位置因?yàn)轫?yè)面可能只渲染其中某一列。最重要的是一定要查看網(wǎng)頁(yè)源代碼。數(shù)據(jù)很可能被成功查詢出來但前端腳本沒有將其顯示在可視區(qū)域而是放在了HTML注釋、隱藏的input標(biāo)簽value屬性或者某個(gè)div的>

相關(guān)新聞

089、LVGL基礎(chǔ)控件:按鈕矩陣(Btnmatrix)

089、LVGL基礎(chǔ)控件:按鈕矩陣(Btnmatrix)

LVGL基礎(chǔ)控件:按鈕矩陣(Btnmatrix) 上周調(diào)試一個(gè)智能家居面板項(xiàng)目,客戶要求在一屏內(nèi)顯示16個(gè)場(chǎng)景快捷鍵,每個(gè)按鍵還要支持長(zhǎng)按觸發(fā)配置。我第一反應(yīng)是用16個(gè)lv_btn堆Grid布局,結(jié)果內(nèi)存直接爆了——STM32H743的RAM被吃掉一大塊,界面還卡頓。后來?yè)Q成Btnmatrix,一個(gè)控件…

2026/7/29 15:47:23 閱讀更多
088、LVGL選項(xiàng)卡切換與內(nèi)容管理

088、LVGL選項(xiàng)卡切換與內(nèi)容管理

LVGL選項(xiàng)卡切換與內(nèi)容管理 從一次詭異的界面卡死說起 上周調(diào)試一塊基于STM32F429的工控屏,客戶反饋說切換選項(xiàng)卡時(shí)偶爾會(huì)卡死,復(fù)位后又能正常工作。我盯著邏輯分析儀看了半天,發(fā)現(xiàn)每次卡死前都伴隨著一次“快速雙擊”選項(xiàng)卡標(biāo)簽——用戶手速太快,在動(dòng)畫還沒結(jié)束時(shí)就觸發(fā)了…

2026/7/29 15:47:23 閱讀更多
LeetCode 76題解析:滑動(dòng)窗口與哈希表實(shí)現(xiàn)最小覆蓋子串

LeetCode 76題解析:滑動(dòng)窗口與哈希表實(shí)現(xiàn)最小覆蓋子串

1. 題目解析與核心思路 LeetCode 76題"最小覆蓋子串"是算法面試中的經(jīng)典高頻題目,也是Hot100題庫(kù)中的必刷題目。題目要求給定一個(gè)字符串S和一個(gè)字符串T,在S中找出包含T所有字符的最短連續(xù)子串。這道題完美結(jié)合了滑動(dòng)窗口和哈希表兩大核心算法思…

2026/7/29 15:37:18 閱讀更多
貨運(yùn)搬家平臺(tái)開發(fā)排名,司機(jī)資質(zhì)檔案加密存儲(chǔ)技術(shù)方案

貨運(yùn)搬家平臺(tái)開發(fā)排名,司機(jī)資質(zhì)檔案加密存儲(chǔ)技術(shù)方案

貨運(yùn)搬家平臺(tái)開發(fā)排名,司機(jī)資質(zhì)檔案加密存儲(chǔ)技術(shù)方案貨運(yùn)搬家平臺(tái)的核心信任根基與合規(guī)底線,在于司機(jī)資質(zhì)檔案的規(guī)范化、安全化存儲(chǔ)。區(qū)別于普通同城配送平臺(tái),貨運(yùn)、搬家場(chǎng)景涉及大型車輛運(yùn)輸、上門入戶服務(wù)、大額物品轉(zhuǎn)運(yùn),司機(jī)駕…

2026/7/29 16:57:25 閱讀更多
同城物流小程序哪家靠譜,訂單取消退款自動(dòng)處理邏輯

同城物流小程序哪家靠譜,訂單取消退款自動(dòng)處理邏輯

同城物流小程序哪家靠譜,訂單取消退款自動(dòng)處理邏輯同城物流小程序涵蓋小件跑腿、大件貨運(yùn)、同城搬家、點(diǎn)對(duì)點(diǎn)配送等多元化場(chǎng)景,訂單狀態(tài)流轉(zhuǎn)快、取消場(chǎng)景多樣、退款觸發(fā)條件復(fù)雜,區(qū)別于傳統(tǒng)電商固定售后流程。在同城物流賽道中,判…

2026/7/29 16:57:25 閱讀更多
動(dòng)畫系統(tǒng)中的狀態(tài)機(jī)設(shè)計(jì):從簡(jiǎn)單過渡到復(fù)雜編排的架構(gòu)演進(jìn)

動(dòng)畫系統(tǒng)中的狀態(tài)機(jī)設(shè)計(jì):從簡(jiǎn)單過渡到復(fù)雜編排的架構(gòu)演進(jìn)

動(dòng)畫系統(tǒng)中的狀態(tài)機(jī)設(shè)計(jì):從簡(jiǎn)單過渡到復(fù)雜編排的架構(gòu)演進(jìn) 一、引子:if-else 堆砌的動(dòng)畫代碼無法維護(hù) 一個(gè)下拉菜單的動(dòng)畫需求: 打開時(shí):遮罩淡入 → 菜單從上方滑入 → 列表項(xiàng)依次彈出(stagger)關(guān)閉時(shí)&#…

2026/7/29 16:57:25 閱讀更多
2026年Java面試高頻考點(diǎn)與備戰(zhàn)策略

2026年Java面試高頻考點(diǎn)與備戰(zhàn)策略

1. 2026年Java面試全景解析最近整理了一份2026年最新的大廠Java面試題庫(kù),涵蓋了1200道高頻考點(diǎn)。這份資料特別適合準(zhǔn)備"金三銀四"跳槽季的開發(fā)者,從Java基礎(chǔ)到分布式架構(gòu),從算法到系統(tǒng)設(shè)計(jì),基本覆蓋了所有技術(shù)棧的考察點(diǎn)…

2026/7/29 16:57:25 閱讀更多
大模型 Token 平臺(tái)怎么選?2026 年四類主流平臺(tái)深度對(duì)比

大模型 Token 平臺(tái)怎么選?2026 年四類主流平臺(tái)深度對(duì)比

大模型 Token 平臺(tái),是指以 API 形式提供大語(yǔ)言模型推理調(diào)用、按 Token 消耗計(jì)費(fèi)的服務(wù)基礎(chǔ)設(shè)施。對(duì)于開發(fā)者和企業(yè)而言,選對(duì)平臺(tái)意味著穩(wěn)定的訪問、可控的成本和足夠靈活的模型切換能力。2026 年市場(chǎng)上主流平臺(tái)已按定位分化為四個(gè)清晰的類別,…

2026/7/29 16:47:24 閱讀更多
面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個(gè)月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個(gè)問題:在 Claude Code 里把一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,結(jié)果可能比 1 個(gè) agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實(shí)擲骰子的過程。應(yīng)用投擲兩個(gè)骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號(hào)直觀展示每個(gè)骰子的點(diǎn)數(shù),并伴有快速滾動(dòng)的動(dòng)畫效果?!?/p>

2026/7/29 0:15:24 閱讀更多