网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年渗透测试面试题总结-拷打题库25
有哪几种后门实现方式? webshell检测有什么方法思路? Linux服务器中了木马后,请简述应急思路? 遇到新0day(比如Struts2)后,应该如何进行应急响应? 新业务上线前可以从哪些方向进行安全评估? 现有系统可以从哪些方向进行审计发现其中的安全风险? xss与sql注入的基本原理与分类 xss如何防御?(分前端与后端,后端需要在入口和出口都过滤) app客户端与服务器通信可能出现哪些漏洞问题 如何防御中间人攻击? https的建立过程 TCP三次握手的过程以及对应的状态转换 app客户端破解的大致流程,app解包后文件夹的基本结构 对称加密与非对称加密的不同,分别用在哪些方面 DDOS的攻击,说道syn洪流的原理 ddos的防御 滴滴客户端可能存在哪些逻辑漏洞 csp是什么?如何绕过csp? 黄金票据和白金票据的区别 mysql root 权限有哪些提权方式 正常注入点sa权限,可以os-shell但是全部是基于断网机,你怎么办? 鱼叉,水坑攻击的案例 同源策略和跨域 sql盲注时候有什么办法优化 拿到一台内网的PC机,应该做什么? SQL注入,id=1如何检测?orderby怎么利用?limit语句怎么利用?盲注有什么? sqlmap os shell原理 为什么同源策略无法防御csrf? cors和jsonp比较? B站与A站不同源的情况下如何通过B站获取到A站用户信息
1. 后门实现方式
扩展分析:后门是攻击者维持权限的核心手段,需从系统层、应用层、协议层多维度分析。
- 系统账户后门:创建隐藏用户、修改系统服务(如SSHD添加密钥登录)、计划任务(cron或schtasks植入持久化脚本)。
- Rootkit技术:通过内核模块(如Linux的LKM)或文件隐藏(如劫持
ls
命令)实现进程/文件隐藏。- Web应用后门:上传webshell(如.jsp/.php脚本)、数据库存储过程植入恶意代码(如MySQL通过
INTO OUTFILE
写文件)。- 协议隧道后门:利用DNS/ICMP协议封装数据(如dnscat2),绕过防火墙监控。
- 供应链污染:在软件更新包中捆绑恶意模块(如SolarWinds事件)。
2. Webshell检测方法思路
扩展分析:需结合静态特征、动态行为、AI模型综合检测。
- 静态检测:基于文件哈希/特征码(如
eval($_POST)
语句)、文件熵值(加密webshell的高随机性)。- 动态沙箱:监控文件操作行为(如创建敏感文件
/etc/passwd
)、网络连接(异常外联IP)。- 日志关联:分析HTTP请求中异常参数(如长Base64字符串)、访问频率(高频访问
.php?cmd=whoami
)。- 机器学习:训练模型识别PHP函数调用序列(如
system()
+curl
组合)或异常文件权限变更。
3. Linux服务器中木马应急思路
扩展分析:应急需快速止损、定位入侵路径、修复漏洞。
- 隔离网络:通过iptables阻断出站流量或物理断网,防止横向渗透。
- 进程分析:
ps auxf
查看父子进程树,检查异常进程CPU占用(如挖矿程序);使用ls -al /proc/PID/exe
定位二进制路径。- 文件排查:查找近期修改的SUID文件(
find / -perm -4000 -mtime -3
),检查/tmp
和/dev/shm
中的可疑文件。- 日志溯源:分析
/var/log/auth.log
中的SSH登录记录(如爆破日志)、last
命令查看用户登录历史。- Rootkit检测:使用
rkhunter
或chkrootkit
扫描,对比ls
与ls -al
结果差异。
4. Struts2 0day应急响应
扩展分析:需快速止血、评估影响范围、修复与溯源并重。
- 临时缓解:在WAF中添加规则拦截
Content-Type: application/x-www-form-urlencoded
中的OGNL表达式特征(如%{#
)。- 漏洞验证:通过流量抓包分析是否存在
ParametersInterceptor
的异常参数解析。- 系统恢复:从备份还原受影响服务器,并部署虚拟补丁(如Apache Shiro拦截恶意请求)。
- 入侵排查:检查Web日志中POST请求长度异常(如超长参数)、查找
/struts/webconsole.html
等调试页面访问记录。
5. 新业务上线前安全评估方向
扩展分析:需覆盖SDLC全生命周期,结合威胁建模。
- 架构审计:检查是否遵循最小权限原则(如数据库只允许内网访问)、是否存在单点故障。
- 代码审计:使用SAST工具扫描硬编码凭证(如API密钥)、未验证的重定向(如
redirectUrl=xxx
)。- 配置核查:确保Nginx禁用
TRACE
方法、Redis配置密码且绑定127.0.0.1。- 渗透测试:模拟攻击者尝试水平越权(修改Cookie中的
userid=100→101
)、业务逻辑漏洞(重复提交订单)。
6. 现有系统安全风险审计
扩展分析:从攻击面管理(ASM)视角全面排查。
- 组件漏洞:使用SCA工具识别Log4j、Fastjson等历史漏洞组件版本。
- API安全:检查未鉴权的Swagger接口、GraphQL introspection信息泄露。
- 数据安全:审计敏感数据存储是否加密(如MySQL的TDE)、日志中是否记录明文密码。
- 横向移动风险:检查内网服务(如SMB、RDP)是否暴露,是否存在弱口令。
7. XSS与SQL注入原理与分类
XSS扩展:
- 存储型:恶意脚本存入数据库(如论坛评论),每次访问触发。
- 反射型:通过URL参数注入(如
https://site.com/search?q=<script>alert(1)</script>
)。- DOM型:前端JavaScript直接操作DOM导致执行(如
document.write(location.hash)
)。SQL注入扩展:
- 联合查询注入:通过
UNION SELECT
提取数据。- 报错注入:利用
updatexml()
或extractvalue()
触发错误回显。- 时间盲注:通过
sleep()
函数延时判断条件真假。
8. XSS防御(分前后端)
后端防御:
- 输入过滤:对
<script>
、onerror
等关键词进行HTML实体转义(如<
→<
)。- 输出编码:根据上下文选择编码方式(HTML/JS/CSS)。
- CSP策略:设置
Content-Security-Policy: default-src 'self'
限制外部脚本加载。前端防御:
- DOM净化:使用DOMPurify库过滤危险标签。
- 框架防护:Vue/React默认转义插值表达式(
{{ data }}
)。- HttpOnly Cookie:防止JavaScript读取敏感Cookie。
9. App通信漏洞问题
扩展分析:
- 证书校验缺失:未校验服务器证书域名,导致中间人攻击。
- 敏感数据明文传输:如密码、身份令牌未加密(HTTP明文)。
- API接口未鉴权:未使用OAuth2.0令牌,通过修改
user_id
参数越权访问。- 重放攻击:请求无时间戳或随机数,可重复提交(如多次充值)。
10. 防御中间人攻击
扩展方案:
- 证书锁定(Pinning):在客户端预置服务器证书指纹,拒绝不匹配连接。
- 双向认证(mTLS):要求客户端提供证书,防止假冒用户。
- HSTS头:强制浏览器使用HTTPS(
Strict-Transport-Security: max-age=31536000
)。- 网络层防护:部署ARP防火墙防止ARP欺骗,使用VPN加密通道。
11. HTTPS建立过程
详细流程:
- TCP三次握手:客户端→SYN→服务器→SYN-ACK→客户端→ACK。
- ClientHello:发送支持的TLS版本、密码套件、随机数(Client Random)。
- ServerHello:选择密码套件(如TLS_AES_256_GCM_SHA384)、发送证书和Server Random。
- 证书验证:客户端验证证书链是否受信、域名是否匹配、是否过期。
- 密钥交换:客户端生成Pre-Master Secret,用服务器公钥加密传输。
- 会话密钥生成:双方通过Client Random、Server Random、Pre-Master Secret计算对称密钥。
- 加密通信:使用对称密钥加密后续HTTP数据。
12. TCP三次握手状态转换
状态机分析:
- 客户端发送SYN:状态从
CLOSED
→SYN_SENT
。- 服务器接收SYN:状态
LISTEN
→SYN_RECEIVED
,回复SYN-ACK。- 客户端接收SYN-ACK:发送ACK,状态
SYN_SENT
→ESTABLISHED
。- 服务器接收ACK:状态
SYN_RECEIVED
→ESTABLISHED
。异常场景:
- SYN Flood攻击:伪造大量SYN包耗尽服务器半连接队列。
- RST复位:任一方向发送RST包立即终止连接。
13. App破解流程与结构
破解流程:
- 逆向工具:使用Apktool反编译APK,Jadx查看Smali代码。
- 脱壳:针对加固应用(如梆梆),使用Frida Hook DEX加载过程。
- 代码修改:篡改校验逻辑(如绕过许可证检查),注入恶意代码。
- 重打包签名:使用zipalign对齐,apksigner重新签名。
APK结构:
assets/
:存放资源文件(如配置文件、证书)。lib/
:原生库(.so文件)。res/
:图片、布局XML。META-INF/
:签名文件(MANIFEST.MF)。classes.dex
:Dalvik字节码。
14. 对称与非对称加密
对称加密(AES):
- 场景:加密大量数据(如HTTP Body)、数据库字段加密。
- 密钥管理:需安全分发(如通过KMS服务)。
非对称加密(RSA):
- 场景:密钥交换(TLS握手)、数字签名(代码签名证书)。
- 性能问题:加解密速度慢,通常与对称加密结合使用(如RSA加密AES密钥)。
15. SYN洪流原理与防御
攻击原理:
- 伪造大量源IP发送SYN包,服务器分配资源等待ACK(半开连接耗尽内存)。
- 利用TCP协议设计缺陷,不完成三次握手。
防御方案:
- SYN Cookie:不保存连接状态,通过哈希计算验证ACK合法性。
- 流量清洗:识别异常SYN速率(阈值触发黑洞路由)。
- TCP半连接超时:缩短SYN-RECEIVED状态等待时间(默认60s→15s)。
16. 滴滴客户端逻辑漏洞
潜在漏洞:
- 订单金额篡改:前端校验价格,后端未验证导致0元支付。
- 越权查看行程:修改
order_id
参数访问他人订单详情。- 重复优惠券领取:未限制领取次数或未校验用户身份唯一性。
- 地理位置欺骗:伪造GPS坐标绕过区域限制(如虚假司机接单)。
17. CSP绕过方法
CSP策略:通过
Content-Security-Policy
头限制脚本加载源。
- JSONP绕过:利用允许的域(如
script-src 'self' example.com
)中的JSONP接口执行代码。- AngularJS沙箱逃逸:在允许
unsafe-eval
时通过{{constructor.constructor(...)}}
执行代码。- CSP配置错误:若允许
data:
协议,可通过<script src="data:;base64,...">
注入。
18. 黄金票据与白金票据区别
黄金票据(Golden Ticket):
- 生成条件:需域控的krbtgt账户NTLM哈希。
- 功能:伪造任意用户的TGT(票据授权票据),可访问域内任何服务。
- 检测难度:票据未在KDC中记录,日志无异常。
白金票据(Silver Ticket):
- 生成条件:需特定服务的NTLM哈希(如SQL Server)。
- 功能:直接伪造TGS(服务票据),仅针对特定服务。
- 有效期:可设置超长有效期(如10年),绕过常规票据生命周期。
19. MySQL root提权方式
提权路径:
- UDF提权:编译恶意共享库(
lib_mysqludf_sys.so
),通过CREATE FUNCTION sys_exec RETURNS STRING SONAME 'udf.so'
执行命令。- 启动项写入:利用
INTO OUTFILE
写VBS脚本到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
。- CVE漏洞利用:如CVE-2016-6663通过
mysqld_safe
覆盖配置文件获取root权限。
20. 断网环境利用os-shell
渗透技巧:
- 反向代理:上传reGeorg等工具,通过数据库外联建立Socks隧道。
- DNS隧道:使用dnschef将数据封装在DNS查询中渗出。
- ICMP隧道:通过
ping -p
携带Payload(需目标机有ICMP出站权限)。- 存储暂存:将数据写入数据库表,待网络恢复后导出。
21. 鱼叉与水坑攻击案例
鱼叉攻击案例:
- 伪装HR邮件:发送带恶意附件(如"薪资调整表.docm")的钓鱼邮件,触发宏下载Cobalt Strike。
- 供应链攻击:针对开发者邮箱投递恶意npm包(如
eslint-config-xxx
),窃取SSH密钥。水坑攻击案例:
- 入侵行业论坛:在下载页面植入恶意脚本,劫持访问者浏览器挖矿。
- 劫持合法广告:通过广告网络分发恶意JS,重定向至漏洞利用包。
22. 同源策略与跨域
同源策略(SOP):
- 限制范围:协议、域名、端口均相同(如
https://a.com:443
与http://a.com:80
不同源)。- 豁免场景:
<script>
、<img>
标签可跨域加载,但无法读取内容(除非CORS允许)。跨域方案对比:
- JSONP:仅支持GET,通过
<script>
加载回调函数,易导致XSS。- CORS:需服务器设置
Access-Control-Allow-Origin
,支持所有HTTP方法。- 代理服务器:将跨域请求转发至同源后端(如Nginx配置
proxy_pass
)。
23. SQL盲注优化
加速技巧:
- 二分法猜解:减少字符判断次数(如ASCII值范围0-127)。
- 条件响应:通过
CASE WHEN ... THEN 1 ELSE 0 END
触发不同页面内容。- 并行请求:使用Burp Intruder并发发送Payload,缩短总耗时。
- 时间函数复用:如MySQL的
IF(SUBSTR(...)=X, BENCHMARK(1000000,MD5(1)), 0)
。
24. 内网PC渗透步骤
攻击路径:
- 信息收集:抓取密码哈希(Mimikatz)、ARP表(
arp -a
)、共享文件夹(net view
)。- 横向移动:利用PsExec/WMI执行远程命令,Pass-the-Hash攻击。
- 权限提升:查找内核漏洞(如CVE-2021-34527)、服务配置错误(如DACL覆盖)。
- 数据窃取:搜索敏感文件(
.docx
、.xlsx
)、导出浏览器Cookie。- 持久化:注册表添加启动项、计划任务部署后门。
25. SQL注入检测与利用
检测方法:
- 报错检测:
id=1'
触发数据库语法错误。- 布尔盲注:
id=1 and 1=2
观察页面差异。- 时间盲注:
id=1; WAITFOR DELAY '0:0:5'--
测试延时。Order By利用:
- 确定列数:
order by 5
逐步测试直至报错。- 基于错误的注入:
order by (select 1 from dual where 1=2)
触发条件错误。Limit注入:
- 子查询利用:
LIMIT 1,1 PROCEDURE ANALYSE(extractvalue(1,concat(0x7e,user())),1)
。
26. SQLMap os-shell原理
技术细节:
- 写入Webshell:通过
INTO OUTFILE
上传脚本(如<?php system($_GET['cmd']);?>
)。- 执行命令:访问webshell路径传入参数(
/shell.php?cmd=whoami
)。- 交互式隧道:结合
sqlmap --os-shell
自动处理编码和路径问题。依赖条件:
- 数据库有文件写权限(
secure_file_priv
为空)。- Web目录可写且可执行脚本。
27. 同源策略无法防御CSRF
根本原因:
- 自动携带Cookie:浏览器在跨域请求中自动发送Session Cookie(即使跨域)。
- 请求伪造:攻击页面可构造
<form action="http://bank.com/transfer" method=POST>
诱导用户提交。- 防御手段:使用CSRF Token(服务器生成并校验)、SameSite Cookie属性(限制第三方Cookie)。
28. CORS与JSONP比较
CORS优势:
- 安全性:服务器显式设置
Access-Control-Allow-Origin
,防止任意域访问。- 方法支持:支持POST/PUT/DELETE等所有HTTP方法。
- 错误处理:通过预检请求(OPTIONS)提前验证权限。
JSONP局限:
- 仅限GET:无法发送POST请求或携带大量数据。
- XSS风险:回调函数未过滤导致攻击(如
callback=<script>alert(1)</script>
)。- 兼容性:适用于旧浏览器(IE9以下)。
29. B站获取A站用户信息
攻击路径:
- JSONP劫持:A站存在JSONP接口(如
api.a.com/userinfo?callback=xxx
),B站构造恶意页面诱导用户访问,通过回调函数窃取数据。- CORS配置错误:A站设置
Access-Control-Allow-Origin: *
且允许携带Cookie,B站通过AJAX读取数据。- XSS组合利用:A站存在存储型XSS,B站诱导用户点击链接触发XSS,通过
XMLHttpRequest
将数据回传至B站。