WEB网站服务器安全漏洞扫描环境搭建及漏洞工具扫描

在这里插入图片描述

一、适用环境

1、企业自建有门户网站;
2、使用Struts框架的WEB网站;
3、网站服务器涉及有数据库之类的项目,如:微信登录、手机登录、充值、收费等。
4、使用安卓版、苹果版、电脑版结合的缴费类网站平台。
5、方便但需提高安全性的WEB网站系统。

二、安装配置Struts漏洞扫描工具的运行环境

(一)什么是Struts

struts2安全漏洞是apache项目下的一个web 框架,普遍应用于阿里巴巴、京东等互联网、政府、企业门户网站。
攻击者可通过发送恶意构造的HTTP数据包利用该漏洞,在受影响服务器上执行系统命令,进一步可完全控制该服务器,造成拒绝服务、数据泄露、网站造篡改等影响。由于该漏洞利用无需任何前置条件(如开启dmi ,debug等功能)以及启用任何插件,因此漏洞危害较为严重。
国家信息安全漏洞库(CNNVD)收到关于Apache Struts2 (S2-045)远程代码执行漏洞(CNNVD-201703-152)的情况报送。由于该漏洞影响范围广,危害级别高,国家信息安全漏洞库(CNNVD)对此进行了跟踪分析。
Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web 应用的开源MVC框架,主要提供两个版本框架产品: Struts 1和Struts 2。
Apache Struts2漏洞是由于上传功能的异常处理函数没有正确处理用户输入的错误信息。导致远程攻击者可通过发送恶意的数据包,利用该漏洞在受影响服务器上执行任意命令。
攻击者可通过发送恶意构造的HTTP数据包利用该漏洞,在受影响服务器上执行系统命令,进一步可完全控制该服务器,造成拒绝服务、数据泄露、网站篡改等影响。由于该漏洞利用无需任何前置条件(如开启dmi ,debug等功能)以及启用任何插件,因此漏洞危害较为严重。

(二)安装java运行环境jdk

参考:CentOS8下的JDK安装
https://blog.csdn.net/weixin_43075093/article/details/134822281
1、查看当前java的版本、检查是否存在jdk
java -version
(1)当前系统中没有安装java
在这里插入图片描述

(2)当前已经有的java版本
在这里插入图片描述

2、删除当前版本
(1)查看当前有哪几个安装包可删除:rpm –qa |grep java
(2)删除某个安装包:rpm –e –nodeps java-x.x.x-openjdk
(3)再查看java是否存在
在这里插入图片描述

3、查看可安装的java版本:yum –y list java*
在这里插入图片描述

4、安装JDK:yum install java-1.8.0-openjdk-devel.x86_64
在这里插入图片描述
在这里插入图片描述

5、查看已经安装好的java版本:java -version
在这里插入图片描述

6、yum 命令安装默认安装路径为 /usr/lib/jvm
在这里插入图片描述

7、配置环境变量:vi /etc/profile
set java environment
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.e18.x86 64
export CLASS_PATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar: J R E H O M E / l i b P A T H = JRE_HOME/lib PATH= JREHOME/libPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
在这里插入图片描述

8、执行source /etc/profile
9、查看环境变量更新后的结果中有jdk的路径
在这里插入图片描述

10、若未知是否已配置JAVA_HOME
(1)查找本机中JDK安装的位置
Find / -name java
在这里插入图片描述

(2)编辑环境变量 vim /etc/profile
执行环境变量 /etc/profile
在这里插入图片描述

(3)执行$JAVA_HOME,能正常显示一个路径
在这里插入图片描述

(三)下载Struts漏洞扫描工具

(严禁用于非授权的测试及非法途径)下载地址:
https://github.com/abc123info/Struts2VulsScanTools
在这里插入图片描述
在这里插入图片描述

(四)启动漏洞扫描工具

在这里插入图片描述

(五)执行漏洞扫描

在这里插入图片描述

三、远程代码命令执行的防御措施

1、假定所有的输入都是可疑的,对所有输入提交的可能执行命令的语句或构造语句严格检查,或控制外部输入;系统命令执行时,执行的结果与参数不传递到外部。
2、输入验证与过滤:验证输入的数据时,验证其名称、格式、长度、类型等信息。
3、在客户端与服务端都进行数据的验证与过滤。
4、对输出的数据检查,如数据库的输出或程序执行结果的输出进行检查验证。
5、对输入的数据进行编码加密,也在各输出点进行安全检查。
6、参数化查询:在处理数据库查询时,应使用参数化查询方式,而不是简单拼接SQL语句。参数化查询可以有效防止SQL注入攻击,避免攻击者通过恶意输入改变SQL查询的意图。开发者应该使用预定义的参数,并对参数进行正确的类型检查和转换。
7、最小权限原则:在服务器配置和应用程序设置中,遵循最小权限原则。即为每个角色或模块分配最少的权限,避免一些不必要的操作和权限。例如,数据库用户应该只拥有访问特定数据表的权限,而不是整个数据库的访问权限。
8、安全编码实践:在开发过程中,应采取安全编码实践,避免一些常见的安全漏洞。例如,禁止使用非安全的文件操作函数,如eval、exec等;不暴露系统和框架的详细错误信息,以防攻击者利用这些信息进行攻击。
9、安全框架和工具:选择适合的安全框架和工具来加强网站的安全性。安全框架和工具可以提供许多防御机制,如输入过滤、错误处理、访问控制等。开发者可以利用这些工具来规避一些常见的安全风险。

本文至此结束,不足之处敬请批评指正。

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

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

相关文章

排列对称串

Description:很多字串,有些是对称的,有些是不对称的,请将那些对称的字事按从小到大的顺序输出,字事先以长度论大小,如果长度相同,再以ASCI码值为大小标准 Input.输入数据中含有一些字串(1≤串长≤256)。 #…

气膜游泳馆有哪些应用优势呢?-轻空间

气膜游泳馆作为一种利用气膜技术建造的室内体育场馆,具有环保、节能、灵活、美观等特点,适合在各种气候和地形条件下使用。以下是气膜游泳馆具有的应用优势: 1. 全年四季恒温恒湿:气膜游泳馆内部设有智能化的恒温恒湿系统&#xf…

基础环境:wsl2安装Ubuntu22.04 + miniconda

服务器相关信息: Thinkpad p1 gen5 64G 2T 3080ti,自带的有nvidia-smi显卡驱动。使用wsl2安装Ubuntu22.04 miniconda目标:安装gpu版本的PyTorch2.1.2(torch2.1.2/cu117 torchvision0.16.2/cu117) 处理器 12th Gen I…

ubuntu扩展根目录磁盘空间

ubuntu扩展根目录磁盘空间 扩展虚拟机磁盘空间 查看现有磁盘状态 查询现有分区状态,/dev/sda是我们要扩展的磁盘 fdisk -l 开始进行磁盘空间的扩容 parted /dev/sda#扩展3号分区的空间 resizepart 3刷新分区空间 resize2fs /dev/sda3查询扩展结果,…

Linux安装Matlab运行时

一般而言,安装Matlab的linux系统是带桌面版的,如果没带,不在本教程范围内。 一、下载Matlab 下载地址:MATLAB Runtime - MATLAB Compiler - MATLAB 本教程使用R2020b(9.9) 二、linux系统中进行解压 将zip传入linux系统&#xf…

EigenLayer生态全解析:再质押与AVS崛起的序章

基于以太坊网络的再质押协议EigenLayer提出了利用为以太坊网络验证而质押的ETH来与其他协议共享安全性和资本效率,同时为协议参与者提供额外利息。在AVS、再质押、积分系统等概念的推动下,逐渐形成一个庞大的生态系统,从2024年初到现在EigenL…

使用JS代理 实现大对象的功能拆解

序言 在Android开发中,可以通过webView的addJavascriptInterface方法注入一个对象到网页中。但是随着开发的需求越来越多。这个对象身上的方法也越来越多。这个对象对应的java类,体积越来越大,不利于维护。为了在不影响之前代码的基础上。把…

【C++干货基地】深度理解C++中的高效内存管理方式 new delete

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 哈喽各位铁汁们好啊,我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的…

Golang基础5-指针、结构体、方法、接口

指针 和c/c类似,但是go语言中指针不能进行偏移和运算,安全指针 &(取地址) *(根据地址取值) nil(空指针) make和new之前对比:make用于初始化slice,map,channel这样的引用类型 而new用于类…

Metasploit Framework(MSF)从入门到实战(一)

MSF的简介 目前最流行、最强大、最具扩展性的渗透测试平台软件 基于Metasploit进行渗透测试和漏洞分析的流程和方法 2003年由HD More发布第一版,2007年用ruby语言重写 架集成了渗透测试标准 (PETS) 思想 一定程度上统一了渗透测试和漏洞研究的工作环…

针孔相机模型原理坐标系辨析内参标定流程内参变换

针孔相机的内参标定 针孔相机原理真空相机模型图片的伸缩和裁剪变换 内参标定———非线性优化张正定标定详细原理(含公式推导)通过多张棋盘格照片完成相机的内参标定流程(C代码)其他工具箱 相机分为短焦镜头和长焦镜头,短焦镜头看到的视野更广阔,同样距…

白平衡简介

文章目录 白平衡的概念白平衡的调节常见的白平衡模式 白平衡的概念 白平衡是指摄影、摄像和显示技术中的一项重要概念,用于调节图像中的白色或中性灰色的色彩,使其看起来在不同光源条件下都是准确的白色或灰色。白平衡的主要目的是确保图像的色彩准确性…

C语言 | Leetcode C语言题解之第49题字母异位词分组

题目: 题解: /*1.将字符串原串与副本进行绑定成一个节点2.对字符串副本进行按ascii码表进行从小到大排序3.按照字符串进行比较排序4.合并 */ typedef struct Node{char*s;char*s_vice;int len; }Node;void sortShellChar(char*s,int len){for(int dista…

查找总价格为目标值的两个商品 ---- 双指针

题目链接 题目: 分析: 解法一: 暴力解法, 将每两个的和都算出来, 判断是否为目标值解法二: 数组中的数是按升序排序的, 我们可以定义左右指针 如果和小于目标值, 则应该让和变大, 所以左指针右移如果和大于目标值, 则应该让和变小, 所以右指针左移 思路: 定义left 0, righ…

绝地求生【商城更新】WIA联名上架//专属商店下架

大家好,我是闲游盒. 本周商城将在4.24(周三)更新,商城内容更新如下: 上架物品 ▲W.I.A联名皮肤大礼包 小礼包如下: 包含3套衣服以及MINI、DBS的联名皮肤,3个头饰还挺有特色的,你喜欢…

链栈算法库构建

学习贺利坚老师, 链栈 , 构建链栈算法库 数据结构之自建算法库——链栈_领会链栈结构和掌握链栈中的各种基本算法-CSDN博客文章浏览阅读3.9k次,点赞3次,收藏8次。本文针对数据结构基础系列网络课程(3):栈和队列中第4课时栈的链式存储结构及其…

安全开发实战(3)--存活探测与端口扫描

目录 安全开发专栏 前言 存活探测 端口扫描 方式一: 1.3.1 One 1.3.2 Two 1.3.3 批量监测 方式二: 1.3.1 One 1.3.2 Two 1.3.3 Three 1.3.4 扫描ip地址,提取出开放端口和协议 ​编辑 1.3.5 批量扫描(最终完成版) 总结 安全开发专栏 安全开发实战​http://t.csd…

【zabbix7】新版本尝鲜之connector

zabbix历史版本中,会使用python脚本,把zabbix的告警发送到kafka进行二次处理,或者使用filebeat把zabbix的Export的njson指标数据发送到kafka进行二次处理,然而在zabbix7中新增了新功能connector简化了操作并且可以根据tag进行区分…

详解Al作画算法原理

ChatGPT AI作画算法,又称为AI图像生成算法,是一种人工智能技术,它可以根据给定的输入自动生成图像。这类算法近年来变得非常流行,尤其是随着深度学习技术的发展。这里我将聚焦于目前最先进的一类AI作画算法,即生成对抗…

C++:构造函数与析构函数

目录 构造函数 构造函数的概念 析构函数的作用 自定义构造函数与默认构造函数 自定义构造函数 默认构造函数 调用自定义构造函数 析构函 自定义析构函数和默认构造函数 自定义构造函数 默认析构函数 构造函数 构造函数的概念 我们通常的函数是都需要有返回值的,但…