HW面试经验分享 | 某安蓝队中级

2024-04-11 05:28

本文主要是介绍HW面试经验分享 | 某安蓝队中级,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先说结论(通过,只有一面)某安比较容易,问的也比较正常

1、webshell流量特征

 
  1. 菜刀:base64加密,php马有eval,(base64_decode ($_POST[z0])),&z0=QGluaV9zZXQ

  2. 蚁剑:以_0x 开头的参数名,@ini_set("display_errors","0")

  3. 冰蝎:

  4. 1、大量的 content-type:application,content-type 为 application/octet-stream。

  5. 2、默认内置 16 个 ua,content-length 请求长度payload 都为定长

  6. 3、Accept头有application/xhtml+xmlapplication/xmlapplication/signed-exchange属于弱特征

  7. 哥斯拉:

  8. 1、pass=eval(base64_decode...,pass=加密数据

  9. 2、user-agent,accept,accept-language 固定

2、蜜罐原理

 
  1. 创建虚拟环境:在网络中创建一个看似易受攻击的虚拟环境,该环境模拟真实系统的一部分或全部功能,包括应用程序、服务和操作系统。

  2. 引诱攻击者:通过暴露蜜罐的存在,例如通过公开可访问的IP地址或虚假的网站,吸引攻击者主动尝试入侵、扫描或攻击蜜罐系统。

  3. 监测和记录:一旦攻击者进入蜜罐系统,蜜罐会记录攻击者的行为、攻击技术和使用的工具。

  4. 这些信息对于理解攻击者的策略和行为非常有价值。

  5. 分析和响应:通过分析记录的数据,研究人员可以识别攻击者的行为模式、漏洞利用方法和漏洞的目标。

  6. 这些信息可以用于改进真实系统的安全性,及时发现和应对新的威胁。

  7. 蜜罐的优势在于能够提供高质量的攻击数据和情报,帮助安全团队更好地了解攻击者的行为模式和目的,加强防御措施并及时应对威胁。

  8. 然而,蜜罐也需要专业人员来设计、部署和管理,以确保其安全性和有效性,并避免对真实系统造成潜在的风险。

3、fastjson反序列化

 
  1. 在请求包里面中发送恶意的json格式payload,漏洞在处理json对象的时候,没有对@type字段进行过滤,从而导致攻击者可以传入恶意的TemplatesImpl类,而这个类有一个字段就是bytecodes,有部分函数会根据这个bytecodes生成java实例,这就达到fastjson通过字段传入一个类,再通过这个类被生成时执行构造函数

4、log4j2原理

 
  1. Apache Log4j2中存在JNDI注入漏洞,主要原理是利用log4j2的日志输出jndi远程对象时,调用远程对象没做检查导致,程序将用户输入的数据进行日志记录时即可触发该漏洞并可在目 标服务器上执行任意代码。该漏洞利用过程需要找到一个能触发远程加载并应用配置的输入点,迫使服 务器远程加载和修改配置的前提下使目标系统通过JNDI远程获取数据库源,触发攻击者的恶意代码

5、XXE漏洞原理

 
  1. 一般通过改包让目标去读取本地文件(如config.php)然后请求恶意xml,然后通过恶意xml去请求记录数据的跳板,最后通过跳板携带数据到记录点,完成一个获取数据的操作

6、Struts2原理

 
  1. 用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行

7、应急响应

 
  1. 检查系统账号安全

  2. 查看服务器是否有弱口令,远程管理端口是否对公网开放

  3. 查看服务器是否存在可疑账号、新增账号

  4. 查看服务器是否存在隐藏账号、克隆账号

  5. 检查异常端口、进程

  6. 检查启动项、计划任务、服务

  7. 查看可疑文件和目录

  8. 查看webshell创建的时间

  9. 等等等... 还没说完被叫停

8、内存马查杀&原理

 
  1. java内存马原理:通过在Java虚拟机(JVM)中运行的恶意代码,实现对被攻击者系统的远程控制。其原理是通过在Java虚拟机中注入特定的Java类、变量或方法等Java对象,然后在Java虚拟机中运行这些代码,实现对受害者机器的远程控制

  2. java内存马排查:

  3. 利用Java Agent技术遍历所有已经加载到内存中的class。

  4. 先判断是否是内存马,是则进入内存查杀。

  5. 识别:1,filter名字很特别 2,filter优先级是第一位 3,对比web.xml中没有filter配置

  6. 4,特殊classloader加载 5,对应的classloader路径下没有class文件 7,Filter的doFilter方法中有恶意代码

  7. 清除:1、清除内存马中的Filter的恶意代码,2、 模拟中间件注销Filter

接下来就问些其它的,项目上的问题

1、说一下你做项目时候挖到RCE没有,是怎么挖到的
2、你在项目上有挖到什么比较有意思的洞
3、做过溯源没有
4、技战法写过没有

 
  1. 这里写过就是写过,没写过就是没写过,别乱编

5、真实环境做过应急没有

没了,相对来讲比较简单,学好正式课还是能过的!加油!

 声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线

这篇关于HW面试经验分享 | 某安蓝队中级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893187

相关文章

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作