主页 > 人工智能  > 

2025国家护网HVV高频面试题总结来了03(题目+回答)

2025国家护网HVV高频面试题总结来了03(题目+回答)

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

目录

 0x1 高频面试题第一套

 0x2 高频面试题第二套

 0x3 高频面试题第三套

 0x4高频面试题第四套


 0x1 高频面试题第一套

给你个目标怎么信息收集

子域名有哪些收集方式

知道哪些数据库?

讲讲各个数据库怎么getshell

sqlserver默认端口是多少

redis主从rce的原理是什么

csrf怎么防护

ssrf怎么判断

ssrf不出网怎么探测

一、信息收集方法论(针对目标)

基础信息

域名/IP:通过Whois查询、备案信息、DNS解析记录获取。

子域名:利用工具(如Sublist3r、subfinder)、证书透明度(CT Logs)收集。

端口扫描:Nmap/Masscan探测开放端口(如HTTP/HTTPS、数据库端口)。

目录探测:Dirsearch/Gobuster扫描敏感路径(如/admin、/backup)。

扩展信息

网络资产:Shodan/Censys搜索IP关联服务、IoT设备。

代码泄露:GitHub搜索目标关键词,查找API密钥或源码。

WAF识别:Wafw00f检测防护设备(如Cloudflare、Imperva)。


二、子域名收集方式

工具自动化

推荐工具:subfinder、Sublist3r、Amass(支持API聚合)。

命令示例:subfinder -d example -silent。

在线平台

VirusTotal、SecurityTrails、Crt.sh (基于证书透明日志)。

搜索引擎语法:site:*.example (Google/Bing)。

字典爆破

使用字典(如subdomains-top1m.txt )配合工具dnsgen或altdns。


三、常见数据库及利用方式

数据库类型

默认端口

Getshell方法

MySQL

3306

① SELECT ... INTO OUTFILE写Web目录 ② 利用日志文件篡改(需FILE权限)。

SQL Server

1433

① 开启xp_cmdshell执行系统命令 ② 使用OLE Automation写文件。

Redis

6379

① 未授权访问下通过config set dir写Webshell ② 主从RCE(需Redis 4.x+)。

MongoDB

27017

① 未授权访问下插入JS代码到集合,触发执行。

PostgreSQL

5432

① 利用COPY或pg_read_file读写文件。


四、SQL Server默认端口

默认端口:1433(若修改需通过端口扫描或服务指纹识别)。


五、Redis主从RCE原理

流程

攻击者伪造Redis主节点,诱导目标从节点同步数据。

同步恶意模块(.so文件)到从节点,通过MODULE LOAD加载模块。

执行模块中预设的命令(如反弹Shell)。

条件

Redis版本≥4.0(支持模块功能)。

主从配置权限开放或未授权访问。


六、CSRF防护方案

Token验证:请求中携带随机Token(如JWT),服务端校验。

SameSite Cookie:设置Cookie属性为SameSite=Strict/Lax。

Referer校验:验证HTTP头中Referer来源是否合法。

二次确认:关键操作(如转账)需密码/短信二次验证。


七、SSRF检测与利用

判断依据

响应内容差异(如读取本地文件返回file://内容)。

DNS请求:利用Burp Collaborator观察DNS查询记录。

延时探测:访问内网IP(如192.168.0.1:80)观察响应时间。

不出网场景利用

内部服务攻击:访问内网Web应用(如http://127.0.0.1:8080)。

协议利用:通过gopher://协议发送Payload到Redis/MySQL。

云元数据:尝试访问169.254.169.254(AWS/Aliyun元数据API)。

DNS重绑定:绕过IP限制,将域名绑定到内网IP(需控制DNS解析)。

 0x2 高频面试题第二套

ssrf只能用http怎么打weblogic

xxe过滤system 和public怎么绕过

csp了解吗

dom xss有哪些关键字

Location对象有哪些属性

网站没用cookie用token一般会存放在哪里?

获取localStorage的函数名是什么

jwt攻击方式有哪些

sql注入怎么绕waf

sql注入过滤了,怎么解决

一、SSRF仅限HTTP协议攻击WebLogic的方法

利用内网管理接口

WebLogic默认管理端口为7001,通过SSRF访问http://内网IP:7001/console,尝试未授权访问或弱口令登录。

触发历史漏洞(如CVE-2020-14825未授权RCE),构造请求路径:

GET /console/images/%252E%252E%252Fconsole.portal HTTP/1.1

探测内部服务

通过SSRF扫描内网其他WebLogic实例或关联服务(如Coherence组件),利用HTTP协议传递恶意序列化数据触发反序列化漏洞。


二、XXE过滤SYSTEM和PUBLIC的绕过

内部实体嵌套

<!DOCTYPE test [<!ENTITY % a "<!ENTITY &#x25; b 'file:///etc/passwd'>"> %a;]> <root>&b;</root>

利用本地DTD文件

引用系统中已存在的DTD文件(如Linux下/usr/share/yelp/dtd/docbookx.dtd )并覆盖实体:

<!DOCTYPE message [ <!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd"> <!ENTITY % ISOamso '<!--' > <!ENTITY % ISOamsa 'file:///etc/passwd'> %local_dtd; ]>

UTF-16编码绕过 将XML文件编码为UTF-16,使WAF无法识别关键字。


三、CSP(内容安全策略)核心要点

方向

说明

防御机制

通过HTTP头定义可信来源,限制脚本、样式等资源的加载(如script-src 'self')。

常见绕过

① 利用JSONP端点注入 ② 预加载劫持(HSTS+HTTP Cache) ③ unsafe-eval配置不当。

关键指令

default-src、script-src、style-src、connect-src(限制请求目标)。


四、DOM XSS关键触发点与函数

危险源(Source)

location.href 、document.URL、window.name 、location.search 。

污染点(Sink)

eval()、innerHTML、document.write() 、setTimeout()、Function()。

示例Payload

// 利用location.hash 触发 <img src="x" onerror=alert(location.hash.slice(1))>


五、Location对象属性

属性

描述

href

完整URL(可修改实现页面跳转)。

protocol

协议(如http:、https:)。

host

主机名和端口(如example :8080 )。

pathname

URL路径(如/admin)。

search

查询参数(如?id=1)。


六、Token存储位置(无Cookie场景)

客户端存储

localStorage / sessionStorage(需防范XSS窃取)。

HTTP头传递

Authorization: Bearer <token>(常见于JWT)。

内存变量

前端框架(如Vue/React)的全局状态管理(如Vuex/Redux)。


七、访问LocalStorage的函数

基础方法:

localStorage.getItem('key'); // 获取值 localStorage.setItem('key', 'value'); // 设置值


八、JWT攻击方式

攻击类型

利用方法

算法篡改

修改头部为alg: none,删除签名部分。

密钥爆破

弱密钥(如secret)通过工具(hashcat)暴力破解。

KID注入

控制kid参数指向攻击者可控文件(如/proc/self/environ)。

头部参数注入

篡改jku/x5u指向恶意JWKS服务,伪造公钥。


九、SQL注入绕WAF及解决方案

绕过技术

混淆变形

大小写混合:UnIoN SeLeCt。

内联注释:/*!50000SELECT*/(MySQL特定语法)。

编码绕过

URL编码:%55nion%53elect → Union Select。

十六进制:SELECT * FROM users WHERE id=0x61646D696E。

分块传输 使用Transfer-Encoding: chunked拆分恶意Payload。

解决方案

防御层:使用预编译(参数化查询)、ORM框架。

过滤层:统一字符过滤(如preg_replace('/[\W]/', '', $input))。

监控层:实时日志分析+WAF拦截非常规请求。

 0x3 高频面试题第三套

limit的注入怎么利用

基于ast的waf怎么绕过

会免杀吗?用的什么方法

说说shellcode loader具体流程

有哪些shellcode加载器

uuid加载器具体函数名是什么

有哪些内存马

添加filter马的具体方法名是什么

讲讲cc1

fastjson有哪些利用

一、Limit注入利用方法

利用条件

适用于MySQL的LIMIT子句(需支持PROCEDURE关键字)。

示例:SELECT * FROM users LIMIT 1 PROCEDURE ANALYSE(1,1);(触发延时或报错注入)。

盲注绕过

使用时间盲注:LIMIT 1,1 UNION SELECT IF(1=1, SLEEP(5), NULL)。

报错注入:LIMIT 1 INTO @var, @var2(需版本支持)。


二、基于AST的WAF绕过

语法混淆

内联注释:SELECT/*!50000 0x1*/(绕过AST解析)。

分块编码:Transfer-Encoding: chunked拆分恶意语句。

非常规函数

使用冷门函数或运算符:SELECT 1 ^ 2(替代OR逻辑)。

字符串拼接:CONCAT('sel','ect')绕过关键字检测。


三、免杀技术与方法

技术

实现方式

代码混淆

使用AES加密shellcode,运行时解密加载(如Metasploit的shikata_ga_nai编码)。

白名单滥用

劫持合法进程(如rundll32.exe 、msbuild.exe )加载恶意代码。

内存加载

无文件落地,通过PowerShell反射注入(Invoke-ReflectivePEInjection)。


四、Shellcode Loader流程

分配内存:VirtualAlloc申请可执行内存区域。

写入代码:memcpy或WriteProcessMemory将shellcode写入内存。

权限设置:VirtualProtect修改内存为PAGE_EXECUTE_READWRITE。

触发执行:CreateThread或回调函数(如EnumSystemLocalesA)执行。


五、常见Shellcode加载器

C/C++加载器:直接调用Windows API实现。

Python加载器:ctypes库调用内存操作函数。

UUID加载器:将shellcode编码为UUID字符串,通过UuidFromString加载。

DotNetToJS:利用JS脚本加载.NET程序集。


六、UUID加载器核心函数

关键API:

UuidFromStringA((RPC_CSTR)uuid_str, &uuid); // 转换UUID字符串为二进制 HeapAlloc(GetProcessHeap(), 0, sizeof(uuid)); // 分配内存 EnumSystemLocalesA((LOCALE_ENUMPROCA)shellcode_addr, 0); // 触发执行


七、内存马类型

Filter型:注入Tomcat的Filter链(如addFilter)。

Controller型:动态注册Spring MVC的恶意控制器。

WebSocket型:劫持WebSocket通信端口。

Agent型:通过Java Agent修改字节码(如Instrumentation)。


八、添加Filter内存马方法

Java反射调用:

// 获取StandardContext Field filterConfigs = context.getClass().getDeclaredField("filterConfigs"); filterConfigs.setAccessible(true); // 添加恶意Filter context.addFilter(filterDef, filterMap);


九、CC1链解析(Commons Collections 1)

利用链: InvokerTransformer.transform() → ChainedTransformer链式调用 → Runtime.exec() 。

关键类:

TransformedMap.decorate() 触发transform。

AnnotationInvocationHandler.readObject() 反序列化入口。


十、Fastjson利用链

历史漏洞:

JNDI注入:利用@type指定JdbcRowSetImpl,结合LDAP/RMI服务反弹Shell。

AutoType绕过:通过特殊字符绕过黑名单(如Lcom.sun.rowset.JdbcRowSetImpl; )。

Gadget利用:

TemplatesImpl:加载恶意字节码生成类文件。

BCEL ClassLoader:org.apache.bcel.util.ClassLoader 加载远程类。

 0x4高频面试题第四套

fastjson和普通的序列化区别

如果你是开发者怎么修复fastjson

kerberos有哪些攻击方式

ntlm可以怎么利用

Net-ntlm可以中继哪些

ZeroLogon除了可以置空密码,还可以怎么利用

adcs了解吗

讲讲activity劫持

知道frida hook吗

一、Fastjson与普通序列化的区别

对比维度

Fastjson

普通序列化(如Jackson/Gson)

核心功能

专为JSON设计,支持Java对象与JSON互转,强调高性能。

通用序列化,支持JSON/XML等格式,灵活性高。

AutoType机制

默认开启,通过@type字段动态反序列化任意类,导致历史高危漏洞(如RCE)。

需显式定义类型或配置,无动态类加载,安全性更高。

性能优化

采用ASM字节码生成,序列化速度极快(适合大规模数据场景)。

依赖反射机制,性能略低,但稳定性更强。

漏洞频率

因AutoType特性成为攻击焦点,多次曝出严重漏洞(如CVE-2022-25845)。

漏洞较少,安全设计更保守。


二、Fastjson漏洞修复方案(开发者视角)

关闭AutoType:

ParserConfig.getGlobalInstance().setAutoTypeSupport(false); // 全局禁用动态类型

升级至安全版本:

使用Fastjson 2.x(重构版,默认关闭AutoType)或最新修复版本(如1.2.83+)。

白名单控制:

ParserConfig.getGlobalInstance().addAccept("com.example.safeclass"); // 仅允许指定类反序列化

输入过滤:

对用户输入的JSON字符串进行严格校验,过滤@type等危险关键字。

结合WAF:

部署Web应用防火墙拦截恶意序列化Payload(如检测JdbcRowSetImpl等黑名单类)。


三、Kerberos攻击方式

黄金票据(Golden Ticket):

利用域控的KRBTGT账户哈希伪造TGT(Ticket Granting Ticket),获得任意服务访问权限。

白银票据(Silver Ticket):

通过服务账户哈希伪造服务票据(ST),直接访问特定服务(如CIFS、LDAP)。

AS-REP Roasting:

针对无需预认证的账户,捕获AS-REP响应并离线爆破哈希。

Kerberoasting:

请求服务票据(ST),利用弱加密算法(如RC4)爆破服务账户密码。

委派攻击:

滥用约束委派(Constrained Delegation)或资源委派(Resource-based Delegation)提权。


四、NTLM利用与Net-NTLM中继

NTLM利用方式:

Pass-the-Hash:使用NTLM哈希直接认证,绕过密码明文需求。

中继攻击(Relay):将NTLM认证请求转发至其他服务(如LDAP),执行特权操作。

NTLMv1破解:通过DES算法弱点,从NTLMv1响应中恢复密码哈希。

Net-NTLM中继目标:

SMB:写入共享目录或执行远程命令(需目标未启用SMB签名)。

LDAP:修改域用户权限或添加恶意组成员。

HTTP:攻击Web应用(如OWA、SharePoint)执行后端操作。


五、ZeroLogon(CVE-2020-1472)扩展利用

域控完全接管:

利用漏洞重置域控密码后,通过DCsync导出所有域用户哈希。

持久化后门:

创建隐藏管理员账户或注册恶意SPN(Service Principal Name)。

AD数据库篡改:

修改组策略对象(GPO)或安全描述符,部署域级恶意配置。


六、ADCS(Active Directory证书服务)安全要点

核心功能:

为域内用户/设备颁发数字证书,用于身份认证、加密通信等。

常见攻击面:

ESC1-ESC8漏洞链:利用证书模板配置错误(如允许任意用户注册、无管理员审批)。

证书窃取:通过DPAPI(Data Protection API)导出用户证书私钥。

NTLM中继至AD CS:通过PetitPotam强制域控向恶意CA服务器认证。


七、Activity劫持(Android)

攻击原理:

恶意应用声明与合法应用相同的intent-filter,诱导用户点击后窃取输入数据。

防御措施:

显式包名检查:在启动Activity时指定目标包名。

任务栈校验:使用FLAG_ACTIVITY_NEW_TASK或android:taskAffinity隔离任务栈。


八、Frida Hook技术

核心功能:

动态注入JavaScript代码,拦截/修改应用函数调用(如密码校验逻辑)。

使用示例:

// Hook Android加密函数 Java.perform(function() { let CryptoClass = Java.use("com.example.CryptoUtils"); CryptoClass.encrypt.implementation = function(data) { console.log(" 明文数据: " + data); return this.encrypt(data); }; });

应用场景:

逆向分析、漏洞挖掘、绕过证书绑定(SSL Pinning)等。

标签:

2025国家护网HVV高频面试题总结来了03(题目+回答)由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“2025国家护网HVV高频面试题总结来了03(题目+回答)