S7-200 SMART PLC 安全全指南:配置、漏洞解析與復現防護

在工業自動化領域,PLC(可編程邏輯控制器)作為核心控制單元,其安全性直接關系到生產系統的穩定運行與數據安全。西門子 S7-200 SMART 系列 PLC 憑借高性價比、易用性等優勢,廣泛應用于中小型自動化項目。但實際使用中,工程師常面臨密碼配置不規范、權限管理模糊、漏洞防護意識薄弱等問題。本文將整合 S7-200 SMART CPU 的密碼設置、權限分級、經典漏洞(CVE-2019-13945)深度解析、詳細復現步驟及全方位防護方案,為工業場景提供從理論到實操的完整安全指引。
在這里插入圖片描述

一、S7-200 SMART CPU 基礎安全配置:密碼與權限管理

密碼與權限是保護 PLC 程序不被未授權訪問的核心屏障。S7-200 SMART CPU 通過嚴格的密碼復雜度要求和四級權限分級,實現精細化安全管控,需通過官方編程軟件 STEP 7-Micro/WIN SMART 完成配置。

1.1 密碼設置:從實操到安全規范

1.1.1 密碼設置詳細步驟
  1. 軟件與硬件準備:安裝 STEP 7-Micro/WIN SMART(建議 V2.6 及以上版本),通過以太網或 USB 電纜建立電腦與 PLC 的連接,確保 PLC 處于 “停止” 狀態。

  2. 進入系統塊配置:在軟件項目樹中雙擊 “系統塊”(System Block),打開系統配置界面,點擊左側 “安全”(Security)節點,進入密碼與權限設置頁面。

  3. 設置符合復雜度的密碼

  • 密碼必須滿足四大要求:至少 1 個小寫字母(如 a、b)、1 個大寫字母(如 A、B)、1 個數字(如 0-9)、1 個特殊字符(如!、#),長度需在 10-63 字符之間(復雜度不達標時軟件會彈窗提示錯誤)。

  • 示例:符合要求的密碼如 “Lk9!pQ2*sT5$”,避免使用 “123456Aa!”“設備編號 + 密碼” 等簡單組合。

  1. 下載配置生效:點擊 “下載” 按鈕,將密碼與權限配置寫入 PLC,下載完成后重啟 PLC,密碼設置正式生效。
1.1.2 密碼設置常見誤區與規避建議
  • 誤區 1:多人共用同一密碼,無密碼管理日志。

    建議:為工程師、運維人員、操作員分配獨立密碼,通過加密表格記錄密碼領用、更換、注銷信息,確保責任可追溯。

  • 誤區 2:密碼存儲在 PLC 附近紙質文檔或未加密電腦中。

    建議:使用工業級密碼管理工具(如 Keepass、1Password)存儲,或通過企業內部加密服務器管理,防止物理或網絡泄露。

  • 誤區 3:長期不更換密碼,默認使用初始密碼。

    建議:每 3 個月定期更換密碼,更換時需同步更新所有授權人員的密碼記錄,避免舊密碼殘留風險。

1.2 權限分級:按需配置,最小權限原則

S7-200 SMART CPU 將權限分為 4 個級別,核心是 “僅授予用戶完成工作必需的權限”,避免過度授權導致安全隱患。

1.2.1 四級權限詳細解析(附適用場景)
權限級別官方名稱核心操作權限適用場景
1 級完全權限無限制訪問:讀寫程序、上傳 / 下載項目、強制存儲器、修改系統配置、格式化存儲卡等項目開發工程師(需完整控制 PLC,進行程序調試與修改)
2 級讀取權限允許讀寫數據(如寄存器、定時器),但下載程序、強制操作、存儲卡編程需密碼現場運維人員(需監控設備運行數據,無需修改程序)
3 級最低權限僅允許讀取數據(如查看生產參數、故障代碼),所有寫入 / 修改操作均需密碼生產操作員(僅需監控設備狀態,無操作權限)
4 級不允許上傳最嚴格權限:無法上傳程序(即使知道密碼也無法導出),僅允許下載新程序核心生產設備(如關鍵生產線 PLC,防止程序被拷貝或篡改,保護核心技術)
1.2.2 權限配置關鍵注意事項
  • 權限修改限制:僅當 PLC 中 “無用戶程序” 時,才能將 4 級權限(不允許上傳)修改為其他級別;若已寫入程序,需先清空程序才能調整,避免惡意降級。

  • 多 PLC 統一管理:工廠多臺 PLC 需按設備重要性分級配置(核心設備用 4 級,普通設備用 2-3 級),制作 “PLC 權限配置表”,標注設備型號、權限級別、配置人員及時間,避免管理混亂。

  • 權限與密碼的關聯:密碼是權限的 “鑰匙”—— 即使設置 3 級權限,若密碼泄露,攻擊者仍可通過密碼獲取更高權限,因此 “密碼安全 + 權限分級” 需同步重視。

二、S7-200 SMART 經典漏洞解析:CVE-2019-13945

盡管有密碼與權限防護,S7-200 SMART 仍存在歷史高危漏洞 ——CVE-2019-13945,該漏洞可通過物理接觸繞過權限限制,獲取 PLC 控制權,曾導致多起工業生產安全事件。

2.1 漏洞原理深度剖析

  • 漏洞類型:物理接口權限繞過漏洞

  • 觸發前提:攻擊者需物理接觸 PLC(如進入控制柜),且 PLC 固件版本為V2.5 及以下(未修復版本)。

  • 核心漏洞點:PLC 啟動過程中(上電初始化階段),UART 接口(串行調試接口)會開放西門子預留的 “診斷模式”,該模式未做權限校驗,通過特定指令即可進入,繞過密碼與權限限制。

  • 攻擊流程

  1. 攻擊者在 PLC 斷電狀態下,通過 USB 轉 UART 模塊連接 PLC 的 UART 接口。

  2. 上電瞬間發送診斷模式喚醒指令,觸發 PLC 進入無權限限制的診斷模式。

  3. 進入診斷模式后,可讀取程序、修改權限、上傳惡意程序,完全掌控 PLC。

2.2 漏洞風險具象化(工業場景案例)

某汽車零部件工廠曾發生 PLC 程序被篡改事件:外部人員偽裝成檢修人員進入車間,通過控制柜內 S7-200 SMART 的 UART 接口,利用 CVE-2019-13945 漏洞繞過密碼,修改焊接設備 PLC 程序,導致批量零部件質量不合格,直接損失超 50 萬元。該案例表明,物理接觸 + 舊固件的組合,可能對生產造成毀滅性影響。

三、CVE-2019-13945 漏洞詳細復現步驟

重要安全聲明

:本復現步驟僅用于

合法的安全測試與技術研究

,需獲得設備所有權人書面授權,嚴禁用于未授權攻擊。復現可能導致 PLC 程序丟失、設備故障,需在

測試環境(非生產設備)

操作,并提前備份所有數據。

3.1 復現前提與環境準備

3.1.1 硬件設備清單
設備名稱規格要求作用說明
S7-200 SMART CPU全系列(如 SR20、ST30、SR40),固件版本V2.5 及以下(漏洞未修復)目標設備,舊固件是觸發漏洞的關鍵
USB 轉 UART 模塊3.3V 電平(如 CH340G、PL2303),避免 5V 模塊(可能燒毀 PLC UART 接口)實現電腦與 PLC UART 接口通信,確保電平匹配
杜邦線(母對母)4 根(顏色區分,線長≤50cm)連接模塊與 PLC UART 接口,減少信號干擾
直流電源24V DC,輸出電流≥1A(匹配 PLC 供電需求,如 SR20 額定電流 0.8A)獨立供電,避免復現中供電不穩導致設備重啟
電腦Windows 10/11 系統,安裝串口工具與驅動發送指令、監控通信數據
PLC 程序備份文件提前通過 STEP 7-Micro/WIN SMART 上傳備份,復現后恢復防止程序丟失,確保測試后設備正常使用
3.1.2 軟件工具準備
  1. USB 轉 UART 驅動:根據模塊型號安裝(如 CH340G 驅動從沁恒官網下載),安裝后通過 “設備管理器→端口” 確認串口編號(如 COM3),記錄備用。

  2. 串口調試工具:推薦 SecureCRT(V8.7+)或 SSCOM(V5.13),需支持 “十六進制發送”“關閉數據流控制” 功能,本文以 SecureCRT 為例。

  3. 固件版本查詢工具:通過 STEP 7-Micro/WIN SMART 連接 PLC,在 “在線→PLC 信息” 中查看固件版本,若為 V2.5.1 及以上,需降級(降級步驟見附錄)。

3.2 硬件連接步驟(關鍵:避免引腳接反)

S7-200 SMART UART 接口位于正面 “DEBUG” 區域(部分型號需拆外殼),為 4 針端子,引腳定義如下(以實物標注為準):

PLC UART 引腳編號引腳功能對應 USB 轉 UART 模塊引腳杜邦線顏色建議連接注意事項
1VCC(3.3V)不連接(避免供電沖突)-嚴禁接模塊 5V 引腳,否則燒毀 PLC UART 電路
2TX(發送數據)RX(接收數據)白色PLC TX→模塊 RX,接反無法通信
3RX(接收數據)TX(發送數據)綠色PLC RX→模塊 TX,確保線序正確
4GND(接地)GND(接地)黑色必須連接,否則信號干擾導致指令發送失敗
具體連接操作:
  1. 斷開 PLC 與現場設備(傳感器、執行器)的連接,僅保留供電與 UART 接口。

  2. USB 轉 UART 模塊連電腦,設備管理器確認串口編號(如 COM3),斷開 USB 連接(避免帶電接線)。

  3. 按引腳定義接杜邦線:PLC 引腳 2→模塊 RX、PLC 引腳 3→模塊 TX、PLC 引腳 4→模塊 GND,引腳 1 空接。

  4. 檢查接線牢固無接反后,24V DC 電源接入 PLC(“L+” 接正極,“M” 接負極),電源指示燈(PWR)亮起。

  5. 模塊重新連電腦,設備管理器確認串口正常識別(無黃色感嘆號)。

3.3 串口調試工具配置(確保參數匹配)

  1. 新建串口連接:打開 SecureCRT,點擊 “File→Quick Connect”,協議選 “Serial”,端口選 COM3(前文記錄的編號),波特率9600,數據位 8,校驗位 None,停止位 1,流控制 “None”(關鍵:關閉流控制),點擊 “Connect”。

  2. 配置十六進制發送:連接成功后,點擊工具欄 “Send Break” 下拉菜單,選 “Send Hex File”(或按 Alt+H),確保指令以十六進制傳輸(ASCII 格式 PLC 無法識別)。

  3. 測試通信連通性:發送測試指令 “01 03 00 00 00 01 84 0A”(十六進制,讀取 PLC 狀態寄存器),若接收區返回 “01 03 02 00 01 B8 0B”,說明連接與參數正確;無響應則檢查接線或參數。

3.4 漏洞觸發步驟(核心:啟動階段喚醒診斷模式)

  1. 斷開 PLC 電源(電源指示燈熄滅),確保完全斷電。

  2. 打開 SecureCRT “發送窗口”(View→Send Window),輸入漏洞觸發指令(十六進制):

    “55 AA 00 01 00 00 00 00 00 00 00 00 00 00 00 00”

    (該指令喚醒診斷模式,未修復固件會響應)。

  3. 勾選 “Send repeatedly”(重復發送),間隔設 100ms,按住 “發送” 按鈕,同時為 PLC 上電(接通 24V DC)。

  4. 觀察狀態與響應:

  • 上電 1-3 秒內,PLC 進入 “初始化階段”(RUN 與 STOP 燈交替閃爍),若指令發送成功,接收區返回 “55 AA 00 01 00 00 00 00 00 00 00 00 00 00 00 01”(末尾 “01” 表示進入診斷模式)。

  • 未收到響應則重復步驟 1-3(啟動窗口期僅 2-5 秒,需多次嘗試同步上電與指令發送)。

  1. 發送權限繞過指令(十六進制):

    “55 AA 02 02 00 00 00 00 00 00 00 00 00 00 00 00”

    接收區返回 “55 AA 02 02 00 00 00 00 00 00 00 00 00 00 00 01”,表示權限繞過成功。

3.5 未授權操作驗證(確認漏洞利用成功)

以讀取 PLC 程序為例,驗證是否獲得控制權:

  1. 發送 “讀取程序信息指令”(十六進制):

    “55 AA 03 01 00 00 00 00 00 00 00 00 00 00 00 00”

    接收區返回程序信息(如 “55 AA 03 01 00 00 00 08 00 00 01 23 00 00 00 01”,“00 08” 表示程序大小 8KB)。

  2. 發送 “讀取程序數據指令”(十六進制,“00 08” 為程序大小):

    “55 AA 04 01 00 00 00 00 00 00 00 08 00 00 00 00”

    接收區返回程序二進制數據,用十六進制編輯器查看,與提前備份的程序比對(MD5 校驗或二進制對比),一致則證明漏洞利用成功。

3.6 復現后恢復操作(避免設備異常)

  1. 發送 “退出診斷模式指令”(十六進制):

    “55 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00”

    接收區返回 “55 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 01”,表示退出成功。

  2. 斷開硬件連接:先斷 PLC 電源,拆除杜邦線與模塊,恢復 PLC 外殼(若拆除過)。

  3. 恢復程序與固件:通過 STEP 7-Micro/WIN SMART 下載備份程序,將固件更新至V2.5.1 及以上(漏洞修復版本,步驟見附錄)。

  4. 測試設備功能:上電運行程序,檢查傳感器、執行器正常工作,確認無硬件損壞或功能異常。

四、S7-200 SMART PLC 全方位防護方案

針對密碼安全、權限管理與 CVE-2019-13945 漏洞風險,需從 “技術防護” 與 “管理規范” 兩方面構建多層次安全體系。

4.1 技術防護:堵漏洞、強加密、防接觸

4.1.1 漏洞修復:及時更新固件

西門子已發布 CVE-2019-13945 漏洞修復固件,步驟如下:

  1. 登錄西門子工業支持中心(https://support.industry.siemens.com),搜索 “S7-200 SMART 固件”,找到對應 CPU 型號的最新固件(如 V2.5.1 及以上版本),點擊下載并解壓(注意區分 32 位與 64 位系統兼容包)。

2. 打開 STEP 7-Micro/WIN SMART,通過以太網或 USB 連接 PLC,確保通信正常后,點擊 “在線→固件更新”,彈出固件更新窗口。

3. 在窗口中點擊 “瀏覽”,選擇解壓后的固件文件(后綴通常為 “.upd”),點擊 “打開” 加載固件。

4. 點擊 “更新” 按鈕,軟件會彈出警告窗口(提示 “更新過程中嚴禁斷電,否則可能導致 PLC 損壞”),確認后點擊 “確定”,開始固件更新(進度條顯示更新進度,約 3-5 分鐘)。

5. 更新完成后,PLC 會自動重啟,重啟后通過 “在線→PLC 信息” 確認固件版本已更新至目標版本,漏洞修復完成。

4.1.2 物理安全:阻斷未授權接觸

物理接觸是 CVE-2019-13945 漏洞利用的前提,需從硬件層面加強防護:

  • 控制柜防護:為 PLC 所在控制柜加裝雙重機械鎖(如鑰匙鎖 + 密碼鎖),鑰匙僅由設備管理員與運維組長持有,密碼定期(每 2 個月)更換;控制柜表面粘貼 “非授權人員禁止開啟” 警示標識,明確責任歸屬。

  • 接口封堵與監控:對 PLC 閑置的 UART 接口、以太網接口,使用絕緣防水堵頭物理封堵(僅在調試時臨時拆除,調試后立即重新封堵);在控制柜內安裝門磁傳感器與震動報警器,傳感器與工廠物聯網平臺聯動,若柜門被非法打開或設備受到異常震動,平臺立即推送報警信息至管理員手機(含現場位置、報警時間),同時觸發車間聲光報警。

  • 區域隔離:將 PLC 控制柜集中部署在獨立的電氣控制室,控制室加裝門禁系統(刷卡 + 人臉雙重認證),非授權人員禁止入內;控制室內安裝高清監控攝像頭(覆蓋所有控制柜,錄像保存時間不少于 30 天),便于事后追溯異常操作。

4.1.3 密碼與權限強化
  • 密碼動態管理:通過 STEP 7-Micro/WIN SMART 的 “安全設置”,啟用 “密碼有效期” 功能(設置為 90 天),到期前 7 天軟件自動彈窗提醒用戶更換密碼;更換密碼時,強制校驗新密碼與歷史 3 次密碼不同,避免重復使用弱密碼。

  • 權限最小化配置:嚴格按照 “崗位需求” 分配權限,例如:生產操作員僅授予 3 級權限(僅讀數據),運維人員授予 2 級權限(讀寫數據,關鍵操作需密碼),核心設備(如主生產線 PLC)強制設置 4 級權限(不允許上傳),且僅允許 1-2 名核心工程師持有最高權限密碼。

  • 權限變更審計:通過 STEP 7-Micro/WIN SMART 的 “操作日志” 功能,記錄所有權限變更操作(含操作人、操作時間、變更前權限、變更后權限),日志定期(每周)導出備份,由安全管理員審核,若發現異常變更(如非授權將 3 級權限改為 1 級),立即暫停涉事 PLC 使用,排查操作源頭。

4.2 管理規范:定制度、明責任、強執行

4.2.1 人員權限與操作管理
  • 崗位權限分級制度:制定《S7-200 SMART PLC 操作權限管理辦法》,明確不同崗位(工程師、運維員、操作員、管理員)的權限范圍,例如:

    • 工程師:1 級權限(完全控制),負責程序開發、固件更新、權限配置;

    • 運維員:2 級權限(讀寫數據,關鍵操作需密碼),負責設備日常維護、數據監控;

    • 操作員:3 級權限(僅讀數據),負責生產狀態監控、故障上報;

    • 管理員:權限審批與審計,不直接操作 PLC。

      所有人員權限需通過 “書面申請 - 部門審批 - 管理員配置” 流程開通,嚴禁越權操作。

  • 雙人操作與監護制度:對 PLC 的核心操作(如程序下載、權限修改、固件更新),實行 “雙人操作”:一人為 “操作人”(負責執行操作),一人為 “監護人”(負責監督操作流程、核對操作參數),操作前需共同確認操作指令、設備編號,操作后共同在《PLC 操作記錄表》簽字確認,避免單人誤操作或惡意操作。

  • 人員離職交接流程:員工離職(尤其是工程師、運維員)時,需完成 “權限注銷 - 密碼交接 - 操作記錄移交” 三步流程:

  1. 管理員立即注銷離職人員的 PLC 操作權限,刪除其個人賬戶;

  2. 離職人員將所持 PLC 密碼(含管理密碼、操作密碼)書面移交指定接手人,交接雙方簽字確認;

  3. 離職人員將負責設備的操作日志、故障記錄、程序備份等資料移交,確保后續維護無信息斷層。

4.2.2 操作日志與審計管理
  • 日志全面記錄:啟用 STEP 7-Micro/WIN SMART 的 “完整操作日志” 功能,記錄所有對 PLC 的操作,包括:登錄 / 注銷、程序上傳 / 下載、密碼修改、權限變更、固件更新、強制存儲器操作等,日志需包含 “操作人、操作時間、操作類型、操作結果、設備編號” 等關鍵信息,確保每一步操作可追溯。

  • 定期審計與異常處理:安全管理員每周對操作日志進行審計,重點排查以下異常:

    • 非工作時間(如夜間、節假日)的 PLC 操作;

    • 權限越級操作(如操作員執行工程師權限的程序下載);

    • 頻繁的密碼錯誤登錄(可能是暴力破解嘗試);

    • 異常的程序修改(如未經審批的程序上傳)。

      若發現異常,立即暫停涉事 PLC 運行,通過監控錄像、操作記錄溯源,同時上報部門負責人,形成《PLC 安全異常處理報告》,記錄處理過程與結果。

4.2.3 應急響應與演練
  • 應急響應預案制定:制定《S7-200 SMART PLC 安全事件應急響應預案》,明確不同安全事件(如密碼泄露、漏洞攻擊、程序被篡改、設備故障)的處理流程,包括:

    • 事件分級:根據影響范圍(單臺設備 / 多條生產線 / 全廠)、損失程度(輕微影響 / 停產 / 安全事故),將事件分為 “一般事件、較大事件、重大事件” 三級;

    • 響應流程:“事件上報 - 應急小組啟動 - 現場處置 - 設備恢復 - 原因調查 - 預防改進”,明確每個環節的責任部門、責任人、處理時限;

    • 資源儲備:提前準備應急工具(如備用 PLC、程序備份、固件安裝包)、應急人員(工程師、運維員、安全管理員)聯系方式,確保事件發生后快速響應。

  • 定期應急演練:每季度組織一次 PLC 安全應急演練,模擬常見安全事件(如模擬 CVE-2019-13945 漏洞攻擊、密碼泄露導致程序被篡改),讓相關人員熟悉應急流程:

  1. 演練前制定《演練方案》,明確演練場景、參與人員、考核標準;

  2. 演練中,參與人員按預案執行 “事件上報、設備斷電、程序恢復、漏洞封堵” 等操作;

  3. 演練后,召開總結會,分析演練中存在的問題(如響應速度慢、操作不熟練),優化應急預案,提升實戰能力。

五、附錄:PLC 固件降級步驟(僅測試環境使用)

若現有 PLC 固件為 V2.5.1 及以上(已修復漏洞),需降級至 V2.5 及以下版本用于漏洞復現,步驟如下:

  1. 登錄西門子工業支持中心,搜索 “S7-200 SMART 舊版本固件”,下載目標版本(如 V2.4.0),解壓后備用。

  2. 打開 STEP 7-Micro/WIN SMART,連接 PLC,點擊 “在線→固件更新”,在固件更新窗口中取消勾選 “僅顯示兼容固件”(默認勾選,取消后可選擇舊版本固件)。

  3. 點擊 “瀏覽”,選擇解壓后的舊版本固件文件,點擊 “打開” 加載。

  4. 點擊 “更新”,軟件彈出 “降級警告”(提示 “降級可能導致部分功能不可用,且存在安全漏洞風險”),確認用于測試環境后,點擊 “確定” 開始降級。

  5. 降級過程中保持 PLC 供電穩定,完成后 PLC 自動重啟,通過 “PLC 信息” 確認固件版本已降級至目標版本。

注意

:固件降級僅允許在測試環境執行,生產環境嚴禁降級,避免引入安全漏洞。

六、總結:工業安全需 “技術 + 管理” 雙管齊下

S7-200 SMART PLC 作為工業自動化的核心設備,其安全性不僅依賴于技術防護(如密碼設置、固件更新、物理防護),更需要完善的管理規范作為支撐。從實際案例來看,多數 PLC 安全事件并非單純因技術漏洞導致,而是源于人員安全意識不足(如密碼隨意存儲)、操作不規范(如單人越權操作)、管理存在漏洞(如離職人員權限未及時注銷)。

本文通過整合 S7-200 SMART 的基礎安全配置、漏洞解析、復現步驟與防護方案,希望能幫助工業工程師建立 “從預防到應對” 的完整安全思維:日常使用中,通過規范密碼與權限配置、及時更新固件、加強物理防護,從源頭降低風險;管理層面,通過明確人員權限、執行雙人操作、定期審計日志、開展應急演練,構建全流程安全管控體系。

工業安全無小事,每一個細節(如一個復雜密碼、一次固件更新、一把控制柜鎖)都是守護生產安全的重要防線。只有將技術防護與管理規范深度融合,才能真正筑牢 S7-200 SMART PLC 的安全屏障,保障工業生產系統穩定、可靠運行。

若你在實際操作中遇到固件更新失敗、權限配置異常、應急處理難題等問題,歡迎在評論區留言,我們可共同探討解決方案,進一步優化 PLC 安全管理方案。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96889.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【計算機網絡 | 第14篇】應用層協議

文章目錄 應用層協議的核心定義:“通信合同”的關鍵內容🥝應用層協議的分類:公共標準 vs 專有協議🧾公共標準協議專有協議 應用層協議與網絡應用的關系🤔案例1:Web應用案例2:Netflix視頻服務 應…

小迪web自用筆記33

再次提到預編譯,不會改變固定邏輯。id等于什么的只能更換頁面。過濾器:代碼一旦執行在頁面中,就會執行,xss跨站。Js的特性是顯示在頁面中之后開始執行,那個代碼是打印過后然后再渲染。是的,核心是**“打印&…

Zynq開發實踐(FPGA之第一個vivado工程)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】數字電路設計,如果僅僅是寫寫代碼,做做verilog仿真,那么其實是不需要轉移到fpga上面的。這就好比是算法工程師&a…

【Selenium】Selenium 測試失敗排查:一次元素定位超時的完整解決之旅

Selenium 測試失敗排查:一次元素定位超時的完整解決之旅 在自動化測試過程中,我們經常會遇到元素定位超時的問題。本文記錄了一次完整的 Selenium TimeoutException 排查過程,從問題發現到最終解決,涵蓋了各種常見陷阱和解決方案。 問題背景 測試用例在執行過程中失敗,…

32.網絡基礎概念(二)

局域網網絡傳輸流程圖兩臺主機在同一個局域網,是否能夠直接通信?以太網原理舉例:上課,老師點名小王讓他站起來回答問題。教室里的其他人是可以聽見的,為什么其他人不響應?因為老師叫的是小王,和…

【高并發內存池】六、三種緩存的回收內存過程

文章目錄前言Ⅰ. thread cache的內存回收Ⅱ. central cache的內存回收Ⅲ. page cache的內存回收前言 ? 前面我們將內存的申請流程都走通了,現在就是內存回收的過程,主要是從 thread cache 開始,一層一層往下回收,因為我們調用的…

DeerFlow 實踐:華為IPD流程的評審智能體設計

目錄 一、項目背景與目標 二、IPD 流程關鍵評審點與 TR 點解析 (一)4 個關鍵評審點 (二)6 個 TR 點 三、評審智能體詳細設計與協作機制 機制設計核心原則 (一)概念評審(CDCP)…

【ubuntu】ubuntu中找不到串口設備問題排查

ubuntu中找不到串口問題排查1. 檢查設備識別情況2. 檢查并安裝驅動3. 檢查內核消息4. 禁用brltty服務1. 停止并禁用 brltty 服務2. 完全移除 brltty 包3. 重啟系統或重新插拔設備5.輸出結果問題:虛擬機ubuntu中,已經顯示串口設備連接成功,但是…

Unity 性能優化 之 靜態資源優化 (音頻 | 模型 | 紋理 | 動畫)

Unity 之 性能優化 -- 靜態資源優化參考性能指標靜態資源資源工作流程資源分類原理小結Audio 實戰優化建議模型導入工作流程DCC中模型導出.DCC中Mesh生產規范模型導出檢查流程模型優化建議紋理優化紋理基礎概念紋理類型紋理大小紋理顏色空間紋理壓縮紋理圖集紋理過濾紋理Mipmap…

GitHub 熱榜項目 - 日榜(2025-09-13)

GitHub 熱榜項目 - 日榜(2025-09-13) 生成于:2025-09-13 統計摘要 共發現熱門項目:18 個 榜單類型:日榜 本期熱點趨勢總結 本期GitHub熱榜項目呈現三大技術熱點:AI開發工具化(如GenKit、ROMA多智能體框架&#xff…

Pytest 常見問題及其解決方案

常見問題及解決方案 1. 測試通過了,但覆蓋率不達標 現象: 雖然所有測試都通過了,但覆蓋率報告顯示某些代碼沒有被覆蓋。 解決方案: 檢查覆蓋率配置:確保 .coveragerc 或 pytest.ini 中正確設置了要分析的源代碼路徑。 使用標記(markers)排除測試文件本身:避免測試代…

直擊3D內容創作痛點-火山引擎多媒體實驗室首次主持SIGGRAPH Workshop,用前沿技術降低沉浸式內容生成門檻

當3D、VR技術在游戲、教育、醫療、文化領域遍地開花,“內容短缺”卻成了制約行業爆發的關鍵瓶頸——傳統3D/4D創作不僅耗時耗力、依賴專業技能,還難以適配消費級設備,讓許多創作者望而卻步。近日,由火山引擎多媒體實驗室聯合領域頂…

華為基本命令

我們使用的是華為官方的模擬器eNSP 一、華為設備的模式 華為的設備有兩種模式: 用戶視圖和系統視圖 用戶視圖只能讀取,或者進行一些基礎查詢 系統視圖能對設備和接口進行一些配置管理,和一些高級操作 在“用戶視圖”下使用system-view系統可…

2025.9.14英語紅寶書【必背16-20】

單詞組合 中文速記句子 英文句子 confine, misery, necessitate, negotiate, preach, precaution, precision, stretch 病人被 confine(限制) 在床上,感受 misery(痛苦),情況 necessitate(需要) 醫生 negotiate(商討),牧師 preach(布道) 并提醒 precaution(預防)…

HUST-STAR電控組視覺任務

視覺任務 注意:視覺部分建議采用 python 完成,下面教程也大多針對 python。其原因在于 python 配置相應環境更為輕松,且內置庫較為豐富,屬于初學者友好類型。沒接觸過 python 也不必擔心,它的大體邏輯與 C 相近&#…

壓縮和歸檔 文件傳輸

壓縮和歸檔壓縮:4G----1.5Gbzip2-bunzip2 gzip-gunzip xz-unxzgzip 要壓縮的文件原來的文件就會被刪除 (壓縮和解壓縮)會生成一個 aaa.gz 的文件歸檔: 4G----4G 打包tarc 創建歸檔文件 v 看到創建的詳細過程 f 文件類型 t 不展開歸檔文件&…

深入探索 C++ 元組:從基礎到高級應用

在現代 C 編程中,元組(std::tuple)是一個強大且靈活的容器,能夠存儲和操作多個不同類型的數據。它在標準庫中扮演著重要角色,并在實際開發中提供了諸多便利。本文將全面探討 C 元組的各個方面,從基礎用法到…

Excel批量處理一列數據---分列功能

0 Preface/Foreword當有多行數據需要處理時,為了減少手動操作,可以EXCEL數據分列功能可以提高效率。1 數據分列1.1 數據分類步驟如下:選中需要處理的一列數據;選擇菜單欄中的“數據”;選擇分列按照需求設置即可1.2 查找…

HTTPS + 域名 + 雙向證書認證(下)

文章目錄1. .p12文件1.1 主要特點1.2 常見用途1.3 常見操作1.4 與其他格式的區別1.5 與公鑰的區別和聯系1.6 安全性注意事項2. Nginx 配置2.1 location指令2.2 alias 與 root 指令的區別3 雙向認證配置3.1 創建根證書3.1.1 生成根CA的私鑰3.1.2 生成請求證書3.1.3 生成自簽署CA…

嵌入式 - ARM3

一、arm啟動C語言1. 配置異常向量表2. 實現了軟件中斷的部分注:ldmfd sp!, {r0-r12, lr} ldmfd sp!, {r0-r12, pc}^ bx lr 左半部分:繁瑣易理解的返回方式:先彈出所有通用寄存器和lr &…