JAVA开发运维(关于渗透测试与漏洞修复)

news2024/11/16 9:47:35

对于C端的网站,H5,小程序或者app都需要进行渗透测试。

渗透测试是模拟真实黑客的攻击手段,对目标网站或主机进行全面的安全评估。 与黑客攻击不同,渗透测试的目的是尽可能多地发现安全漏洞,而真正的黑客只需要找到一种入侵。 点击进入目标系统。一个好的渗透测试员也可以被认为是一个好的黑客,也可以称为白帽。

渗透测试并没有一个标准的定义,一般通用的说法是,渗透测试指模拟攻击者入侵来评估计算机系统安全的行为,是一种授权的行为。

或者说是为了证明网络防御按照预期计划正常运行而提供的一种机制。再换句话说,渗透测试就是给你的系统安了一双眼睛。

一般渗透测试都由专业人士在不同位置利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络的所有者。

一、渗透测试分类:

1、黑箱测试

黑箱测试又被称为所谓的“Zero-Knowledge Testing”,渗透者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email及各种公开对外的服务器。

2、白盒测试

白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片段,也能够与单位的其它员工进行面对面的沟通。这类测试的目的是模拟企业内部雇员的越权操作。

3、隐秘测试

隐秘测试是对被测单位而言的,通常情况下,接受渗透测试的单位网络管理部门会收到通知:在某些时段进行测试。因此能够监测网络中出现的变化。但隐秘测试则被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。

二、测试目标靶

1、主机操作系统渗透

对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。

2、数据库系统渗透

对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。

3、应用系统渗透

对渗透目标提供的各种应用,如ASP、CGI、JSP、PHP等组成的WWW应用进行渗透测试。

4、网络设备渗透

对各种防火墙、入侵检测系统、网络设备进行渗透测试。

三、测试步骤

当前的自动化渗透领域,主要依赖自动化渗透工具和框架,包括:APT2、AutoSploit、NIG-AP、Deep Exploit、AutoPentest-DRL等。

工具:nmap、Burpsuite、Kali Linux 、sqlmap等

渗透测试的基本流程主要分为以下几步:

  • 明确目标

  • 信息收集

  • 漏洞探测(挖掘)

  • 漏洞验证(利用)

  • 提升权限

  • 清楚痕迹

  • 时候信息分析

  • 编写渗透测试报告

1、明确目标

主要是确定需要渗透资产范围;确定规则,如怎么去渗透;确定需求,如客户需要达到一个什么样的效果。

2、信息收集

收集一些基础信息,系统信息,应用信息,版本信息,服务信息,人员信息以及相关防护信息。

3、漏洞探测(挖掘)

主要是探测(挖掘)系统漏洞、web服务器漏洞、web应用漏洞以及其他端口服务漏洞。

4、漏洞验证(利用)

利用探测到的漏洞进行攻击

5、提升权限

提升权限主要是在当前用户权限不是管理员的时候需要进行提升权限,提升权限可以是提升系统权限,web应用权限或是数据库权限等。

6、清楚痕迹

清楚渗透过程中的一些痕迹,如添加的测试账号,上传的测试文件等。

7、事后信息分析

对整个渗透过程进行信息分析与整理,分析脆弱环节,技术防护情况以及管理方面的情况进行一个现状分析以及提出相关建议。

8、编写渗透测试报告

根据测试情况编写报告,说清楚渗透清单(范围)、攻击路径、渗透成果、漏洞详情及可行的修复建议,最后对整改渗透情况进行简单的总结和分析。

四、主要测试项

1、信息收集

信息收集剖析这是所有侵略恶意攻击前提条件/原曲/基本。根据对互联网信息收集剖析,能够随之、针对性地制订仿真模拟黑客攻击恶意攻击方案,以提升侵略成功概率、减少曝露或被发现了的机率。信息收集的办法包含服务器网络扫描、操作类型辨别、运用辨别、账户扫描仪、配置辨别这些。

2、端口扫描

根据对总体目标地址的TCP/UDP端口扫描,确认其所开放式的提供服务的数量及种类,这是每个网站渗透测试的前提。根据端口扫描,能够基本上确定一个系统软件的相关信息,融合测试工程师积累的经验可以知道其可能出现,和被利用的安全性缺点,为开展更深层次的渗入提供参考。

3、权限提升

根据获取信息与分析,具有二种概率,其一是总体目标系统软件存在重大缺点:测试工程师能直接保障措施系统软件,之后直接调研总体目标系统中缺点遍布、缘故,产生最后的检测报告;其二是总体目标系统软件并没有远程控制重要缺点,但是能够得到远程控制一般权限,这时候测试工程师能通过该一般权限进一步搜集总体目标系统数据。下面,竭尽全力获得当地权限,搜集当地材料信息内容,寻找当地权限提升的机遇。这种不断地信息收集剖析、权限提升的结论将组成本次新项目全部网站渗透测试流程的导出。

4、溢出测试

当测试工程师不能直接利用账号动态口令登陆系统时,也会使用系统软件溢出的办法立即得到自动控制系统权限,这种方法有时候也会导致系统死机或者从新启动,但是不会可能会导致内容丢失,若出现卡死等常见故障,只需把系统软件从新启动并打开原来服务项目就可以。一般情况下,假如未经授权,将无法开展该项测试。

5、WEB应用测试

Web脚本制作及应用测试针对Web及数据库服务开展。依据最新统计分析,脚本制作安全性缺点为现阶段Web系统,特别是存有动态性视频的Web系统非常严重的安全性缺点之一。利用脚本制作有关缺点轻者可以获得系统软件别的文件目录的访问限制,严重将有可能会获得系统软件控制权限。所以对于带有动态网站的Web、数据库系统等功能,Web脚本制作及应用测试将是不可缺少的的一个环节。

6、SQL注入攻击

SQL引入多见于运用了SQL数据库后端网络服务器,侵略者根据递交一些独特SQL句子,最后很有可能获得、伪造、操纵网址服务端数据库系统里面的内容。该类系统漏洞是侵略者常用侵略方式之一。

7、检测页面隐藏字段

网站应用系统软件常选用隐藏字段存储信息。很多根据页面的电子商务应用程序流程用隐藏字段来存放产品价格、登录名、登陆密码等敏感内容。故意用户使用实际操作隐藏字段具体内容做到故意交易盗取信息内容等情形,是一种非常可怕的系统漏洞。

8、跨站恶意攻击

侵略者可以利用网址来恶意攻击浏览此网站的终端产品用户,来获取客户动态口令或者使用网站挂马来西亚操纵手机客户端。

9、Cookie利用

网站应用系统软件常使用cookies机制在手机客户端服务器上储存一些信息内容,比如客户ID、动态口令、时戳等。侵略者很有可能根据伪造cookies具体内容,获得客户的账户,造成严重后果。

10、后门程序检查

系统软件开发环节中遗留下来的侧门和调节选择项有可能被侵略者所利用,造成侵略者轻而易举地从近道执行恶意攻击。

五、渗透测试发现的一般问题

渗透测试常常会发现如最常见的 SQL 注入漏洞、XSS 漏洞、文件上传漏洞、越权漏洞、弱口令等。

序号

漏洞

风险

支持不安全的TLSv1.0协议

序号

漏洞

风险

短信轰炸漏洞

支持不安全的TLSv1.0协议

TLS/SSL Sweet32漏洞

不安全的CORS配置漏洞

不安全的文件上传检测机制漏洞

Javascript框架版本过低漏洞

启动了不安全的HTTP方法漏洞

名词解释:

  • 注入测试

攻击者通过客户端提交恶意构造的SQL语句,来获取数据库中的敏感数据,修改数据库并执行数据库管理操作,在某些情况下能对操作系统执行系统命令。

  • 跨站脚本测试

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的,如盗取用户密码、种植木马等操作。

  • 路径遍历测试

许多的Web应用程序一般会有对服务器的文件读取查看的功能,大多会用到提交的参数来指明文件名,形如:http://www.xxx.com/getfile=image.jpg当服务器处理传送过来的image.jpg文件名后,Web应用程序即会自动添加完整路径,形如“d://site/images/image.jpg”,将读取的内容返回给访问者。由于文件名可以任意更改而服务器支持“~/”,“/..”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,如网站的配置文件、系统的核心文件。

  • 绕过授权模式

测试应用程序B/S模式身份验证机制是否严格,如访问未授权文件,COOKIES后台欺骗。通过修改数据包来提升普通用户的权限,并尝试执行管理员操作等。

  • 文件包含漏洞测试

服务器通过PHP(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可去包含一个恶意文件,而攻击者可以构造这个恶意文件来源,如读取目标服务器上的数据库配置文件,包含远程脚本木马文件获取Webshell来操控网站等权限。

  • 弱口令测试

弱口令指的是容易被别人猜测到或被破解工具破解的口令均为弱口令。例如“123”、“abc”等,并且大多程序是通过用户名和口令来作为身份验证机制。

  • 文件上传测试

网站的上传文件页面若对上传的文件类型过滤的不严格或上传逻辑漏洞,可能被恶意绕过上传验证,攻击者可以上传网页后门以控制网站。

  • 敏感信息泄漏

通过恶意构造URL地址让页面报错,从而得到服务器的敏感信息,如网站绝对路径、版本等,并使用工具扫描网站的备份文件,测试文件等,使攻击者能进一步的了解网站的结构

  • 暴力破解测试

暴力破解密码,其中一种就是用某种暴力破解软件,一个接一个的试,直到试验出正确的密码,也称为穷举法,如使用XSCAN猜解FTP密码。

  • 溢出测试

溢出是黑客利用操作系统的漏洞,专门开发了一种程序,加相应的参数运行后,就可以得到目标服务器管理员资格的控制权,如常见的MS07-029 、MS08-067等。

  • 嗅探测试

用集线器组建的网络是基于共享的原理的,局域网内所有的计算机都接收相同的数据包,而网卡构造了硬件的“过滤器”通过识别MAC地址过滤掉和自己无关的信息,嗅探程序只需关闭这个过滤器,将网卡设置为“混杂模式”就可以进行嗅探,用交换机switch组建的网络是基于“交换”原理的,交换机不是把数据包发到所有的端口上,而是发到目的网卡所在的端口,常见黑客嗅探工具Cain,通过ARP欺骗可嗅探各种密码。

  • 权限提升

攻击者通过使用各种工具和技术,使用他们可获得从Guest到SYSTEM不等的访问权限。常见如Windows Linux本地溢出漏洞,应用程序FTP SERV-U本地提权等。

  • 配置缺陷测试

目标网站应用程序若设置不当,会产生目录浏览,IIS写入,数据库文件泄漏等漏洞,通过这些配置缺陷可查看网站根目录下所有文件,并能直接PUT脚本木马,达到控制网站的目的。

六、漏洞修复

.......

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

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

相关文章

TCP与UDP的区别

一、TCP协议 TCP协议全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,具有下面这些特征 1)面向连接 是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接&#xff0…

浏览器DOM(上)——节点

文档对象模型是用来描述文档,这里的文档,是特指 HTML 文档。同时它又是一个“对象模型”,这意味着它使用的是对象这样的概念来描述 HTML 文档,DOM 也是使用树形的对象模型来描述一个 HTML 文档。 DOM API 大致会包含 4 个部分。 …

【MySQL数据库原理】MySQL 数据库环境变量设置问题完整解决与数据库删除测试

目录 1、环境变量与终端问题2、数据库删除测试1、环境变量与终端问题 在上一篇文章中提到mysql专用终端会失效的问题,通常使用一段时间之后,点击会出现闪退的情况,主要原因是没有配置好环境变量。 因此,要解决上述问题就需要配置环境变量,这样就可以在Windows终端失效m…

域名解析设置方法

域名解析设置都是实时生效的,一般只需几秒即可同步到各地 DNS 上,但各地 DNS 均有缓存机制,解析的最终生效取决于各运营商刷新时间! 一、A记录 ①.主机名必须填写; 常用主机名有:www//*,效果参见上图说明&…

【linux】基于环形队列的生产者消费者模型(信号量)

文章目录一、引入二、信号量2.1 信号量的概念2.2 信号量的PV操作2.3 信号量接口2.3.1 信号量初始化sem_init2.3.2 信号量销毁sem_destroy2.3.3 信号量等待sem_wait(P)2.3.4 信号量发布sem_post(V)三、基于环形队列的生产者消费者模型3.1 引入环形队列3.2 环形队列的访问3.3 代码…

java单例模式的线程安全 JAVA多线程编程中的双重检查锁定(DCL单例(Double Check Lock))

java单例模式的线程安全 JAVA多线程编程中的双重检查锁定(DCL单例(Double Check Lock))一、饿汉模式单例(本身及时线程安全的)二、懒汉模式单例1.懒汉模式第一版,用INSTANCE null判断是否初始化…

2023 年男生还推荐报计算机专业吗?

计算机专业确实是一个非常热门的专业,就业前景也很广阔。 但是,近些年随着各个大学对计算机专业及其相关专业疯狂扩招,而且每年的毕业人口都在增多,行业是根本容纳不下的,就业竞争力度也急剧上升。因此,选…

图解PMP项目管理马斯洛需求层次理论在公司管理中的应用!

马斯洛的需求层次结构是心理学中的激励理论,包括人类需求的五级模型,通常被描绘成金字塔内的等级。 从层次结构的底部向上,需求分别为:生理(食物和衣服),安全(工作保障)…

小白开发微信小程序52--测试小程序

经过前面的50,51两个重要的步骤之后,小程序的前端代码和后端代码终于部署在外网了,回顾这个过程,细节很多,环节很杂,而且麻烦,有这些过程:1)申请域名2)域名备…

Vue本地存储及用法

1.本地存储是什么? 以文件的方式存储在本地,通过把数据存在浏览器中,用户不必每次都向服务器请求 获取同一个信息。在你离线时,使用本地存储的数据而不是向远端服务器上请求 数据就显得非常有用,甚至在先用户也可以从中…

Java语法理论和面经杂疑篇《五.集合框架》

目录 1. 集合框架概述 1.1 数组的特点与弊端 1.2 Java集合框架体系 2. Collection接口及方法 2.1 添加 2.2 判断 2.3 删除 2.4 其它 3. Iterator(迭代器)接口 3.1 Iterator接口 3.2 迭代器的执行原理 3.3 foreach循环 4. Collection子接口1:List 4.1 Li…

【数据分析之道-NumPy(三)】numpy切片与索引

文章目录 专栏导读1、前言2、NumPy数组切片2.1一维数组切片2.2多维数组切片3、NumPy数组索引3.1一维数组索引3.2多维数组索引4、NumPy数组高级索引4.1整数数组索引4.2布尔数组索引4.3数组索引总结专栏导读 ✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域…

Linux驱动开发——字符设备(2)

目录 虚拟串口设备驱动 一个驱动支持多个设备 习题 虚拟串口设备驱动 字符设备驱动除了前面搭建好代码的框架外,接下来最重要的就是要实现特定于设备的操作方法,这是驱动的核心和关键所在,是一个驱动区别于其他驱动的本质所在,…

vue:生成二维码 qrcode、vue-qr(二维码中间可带logo)

一、方法一 qrcode qrcode - npm 1.1、安装 yarn add qrcode 1.2、页面引入 import QRCode from qrcode; 1.3、方法里边使用 getQRCodeUrl(){ QRCode.toDataURL(hello world,{color: {dark:"#010599FF",light:"#FFBF60FF"}}).then((url) > {// 获…

【华为OD机试真题】查找树中元素(查找二叉树节点)(javaC++python)100%通过率

查找树中元素 知识点树BFSQ搜索广搜 时间限制:1s空间限制:256MB限定语言:不限 题目描述: 已知树形结构的所有节点信息,现要求根据输入坐标(x,y)找到该节点保存的内容 值;其中: x表示节点所在的层数,根节点位于第0层,根节点的子节点位于第1层,依次类推; y表示节…

智慧井盖-物联网智能井盖系统-管网数字化监测,守护城市生命线

平升电子智慧井盖-物联网智能井盖系统-管网数字化监测,守护城市生命线实现对井下设备和井盖状态的监测及预警,是各类智慧管网管理系统中不可或缺的重要设备,解决了井下监测环境潮湿易水淹、电力供应困难、通讯不畅等难题, 适合安装于城市主干…

U盘独个文件不能超过4GB的原因——U盘的文件系统

U盘独个文件不能超过4GB的原因——文件系统一 背景1.1 文件系统1.2 “簇”/”群集“1.3 文件系统的历史1.3.1 FAT1.3.2 exFAT(扩展文件分配表)1.3.3 NTFS1.3.4 HFS1.3.5 APFS1.4 文件系统缺陷的渊源1.5 文件系统缺陷的解释1.6 报错原因二 文件系统的比较…

详细解读appium怎样连接多台设备

我们在做app自动化的时候,若要考虑兼容性问题,需要跑几台设备,要是一台一台的跑比较耗 时,因此需要考虑使用多线程来同时操作多台设备。 1.我们拿两台设备来模拟操作下,使用:adb devices查看连接状况&…

考研数二第十四讲 牛顿-莱布尼茨公式与用定义法求解定积分

牛顿-莱布尼茨公式 牛顿-莱布尼茨公式在微分与积分以及不定积分与定积分之间架起了一座桥梁,因此,这个公式又被称为微积分基本公式。 微积分基本公式的简单推导 在看微积分基本公式之前,我们先来看一个有点特殊的函数,积分上限…

全网最详细SUMO仿真软件教程——入门篇

目录SUMO下载前提知识使用netedit创建路网需求生成SUMO-GUI可视化SUMO下载 SUMO官网: SUMO下载链接 配置SUMO_HOME系统变量,后续引入包需要。 前提知识 sumo仿真器跑起来需要三个文件,分别是Network、Route以及SUMO configuration file。 在sumo中&a…