2025年渗透测试面试题总结-16(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
一百一十一、3389 无法连接的几种情况
一百一十二、三种业务逻辑漏洞及修复
一百一十三、上传脚本403的根源
一百一十四、用户名枚举漏洞利用
一百一十五、突破SQL注入转义
一百一十六、.htaccess文件利用
一百一十七、安全狗检测机制
一百一十八、提权目录避免空格的原因
一百一十九、防注入系统绕过拿Shell
一百二十、CSRF/XSS/XXE对比与修复
一百一十一、3389 无法连接的几种情况一百一十二、说出至少三种业务逻辑漏洞,以及修复方式?一百一十三、目标站无防护,上传图片可以正常访问,上传脚本格式访问则 403,什么原因?一百一十四、目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?一百一十五、如何突破注入时字符被转义?一百一十六、拿到一个 webshell 发现网站根目录下有.htaccess 文件,我们能做什么?一百一十七、安全狗会追踪变量,从而发现出是一句话木马吗?一百一十八、提权时选择可读写目录,为何尽量不用带空格的目录?一百一十九、如何利用这个防注入系统拿 shell?一百二十、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
一百一十一、3389 无法连接的几种情况
- 网络层问题
- 防火墙拦截(本地/云安全组未放行3389)
- 路由器未配置端口转发(NAT环境)
- ISP屏蔽默认RDP端口(常见于家庭宽带)
- 服务配置问题
- 远程桌面服务未启用(
sysdm.cpl
中未开启)- 端口被修改(注册表
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
的PortNumber
值)- 系统策略限制
- 账户被加入“拒绝通过远程桌面服务登录”策略(
gpedit.msc
)- NLA(网络级别身份验证)强制但客户端不支持
一百一十二、三种业务逻辑漏洞及修复
漏洞类型 案例 修复方案 越权访问 修改URL参数访问他人订单 服务端校验资源所属用户身份 验证码滥用 绕过短信验证码次数限制 增加图形验证码+IP/设备频率控制 支付逻辑漏洞 商品价格参数篡改为负数 关键业务参数签名校验+服务端复核
一百一十三、上传脚本403的根源
- Web服务器防护机制
- Apache/Nginx配置了
location ~ \.php$ { deny all; }
阻止脚本执行- 文件解析策略
- 仅允许静态资源后缀(.jpg/.png)通过
AddType
指令- 安全模块拦截
- ModSecurity等WAF基于Content-Type或文件头拦截
- CDN/边缘防护
- Cloudflare等CDN对脚本类访问返回403
一百一十四、用户名枚举漏洞利用
- 爆破有效用户名
- 利用提示差异制作用户名字典(如公司邮箱规则)
- 关联攻击路径
- 结合密码喷洒攻击(Password Spraying)
- 信息泄露利用
- 通过社工库补充用户名关联信息(电话/邮箱) ▶️ 修复:统一提示“重置链接已发送至注册邮箱”
一百一十五、突破SQL注入转义
层级突破方案:
markdown
1. 二次注入:存储时转义→读取时拼接利用 2. 宽字节注入:GBK编码转换(`%df'` → 吞噬转义符\) 3. 替代字符集:`CONVERT(column USING utf16)` 4. 非字符串注入:数字型/时间盲注 5. 注释符绕过:`/*!50400SELECT*/`(MySQL版本特性)
一百一十六、.htaccess文件利用
apache
### 可执行操作示例: # 1. 解析漏洞 AddType application/x-httpd-php .jpg # 2. 目录权限开放 Require all granted # 3. 自定义错误页劫持 ErrorDocument 404 /shell.php # 4. 重定向写Webshell RewriteRule ^logo.png$ /tmp/cmd.php [L] # 5. 环境变量注入 SetEnv LD_PRELOAD /var/www/evil.so
一百一十七、安全狗检测机制
- 变量追踪原理:对
$_GET/$_POST
等超全局变量进行语法树分析,匹配危险函数调用链
(如eval($_POST['cmd'])
→ 标记为木马)- 绕过方式:
✔️ 动态函数名:$f='syste';$f($cmd);
✔️ 反射调用:(new ReflectionFunction('assert'))->invoke($cmd)
一百一十八、提权目录避免空格的原因
- 命令行解析歧义
C:\Program Files
可能被解析为C:\Program
和Files
两个参数- 路径拼接失败
copy payload.exe "C:\test dir\"
引号缺失导致截断- UNICODE绕过限制失效
- 部分提权工具不兼容带空格路径的短文件名(
PROGRA~1
)
一百一十九、防注入系统绕过拿Shell
逆向利用步骤:
mermaid
graph LR A[触发WAF拦截] --> B{判断拦截模式} B -->|正则拦截| C[使用非常规语法: /*!SELECT*/] B -->|行为分析| D[分块传输/HTTP2+0x0B分割] D --> E[写入日志文件:SELECT '<?=eval($_GET[0])?>' INTO OUTFILE '/var/log/nginx/error.log'] E --> F[访问日志路径触发Shell]
一百二十、CSRF/XSS/XXE对比与修复
维度 CSRF XSS XXE 攻击本质 伪造用户请求 注入恶意脚本 XML解析器攻击 关键修复 SameSite=Strict
Anti-CSRF TokenCSP头部
输入输出过滤禁用DTD
LIBXML_NONET组合漏洞案例 CSRF+XSS → 蠕虫传播 XSS+XXE → 内部网络探测 XXE+SSRF → 云元数据窃取 所有解决方案均需结合纵深防御原则,例如XXE修复需同时禁用外部实体(
setExternalEntityResolver(null)
)和禁用DTD(setDisableEntities(true)
)。