WEB安全_基础入门_系统及数据库,明确安全测试思路(演示只需要熟悉流程)

article/2025/10/2 6:38:20

目录

  • 前言
  • 一、操作系统层面
    • 背景
    • 知识点
      • 1.识别操作系统的常见方法
        • 方式一:改变大小写看操作系统的类型
        • 方式二:TTL判断
        • 方式三:nmap端口判断
      • 2.简要两者区别及识别意义
      • 3.操作系统层面漏洞类型对应意义
        • SQL注入漏洞
        • 跨站脚本漏洞
        • 弱口令漏洞
        • HTTP报头追踪漏洞
        • Struts2远程命令执行漏洞
        • 框架钓鱼漏洞(框架注入漏洞)
        • 文件上传漏洞
        • 应用程序测试脚本泄露
        • 私有IP地址泄露漏洞
      • 4.简要操作系统层面漏洞影响范围
        • 举例:MS17010
  • 二、数据库层面
    • 1.识别数据库类型常见方法
    • 2.数据库类型区别以及识别意义
      • 数据库类型区别
      • 意义
    • 3.数据库长线漏洞类型以及攻击
    • 4.简要数据库层面漏洞影响范围
  • 三、第三方层面
    • 如何判定常见的第三方软件
    • 常见第三方或者软件漏洞类型及攻击
  • 四、补充一
  • 五、演示一某操作系统层面漏洞演示
  • 六、演示二某操作系统层面漏洞演示
  • 七、演示三第三方应用安全漏洞
  • 八、补充二

前言

在这里插入图片描述
在这里插入图片描述

一、操作系统层面

背景

windows、linux
三个点:系统层面的漏洞/识别/漏洞的类型
(像ddos漏洞,就不需要太注意,我们需要注意能获取权限的哪些漏洞。)

在这里插入图片描述

知识点

1.识别操作系统的常见方法

如果对方有网站,通过网站识别;如果没有网站,就通过扫描来识别。

方式一:改变大小写看操作系统的类型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
windows服务器不区分大小写的
在这里插入图片描述
在这里插入图片描述

方式二:TTL判断

在这里插入图片描述
在这里插入图片描述

方式三:nmap端口判断

Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口。它会扫描远程在线主机,该主机的操作系统,包过滤器和开放的端口。
Nmap操作系统的探测
使用nmap 验证多种漏洞

Kali-linux:nmap命令
通过添加-sV参数,能够得到服务版本信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.简要两者区别及识别意义

在这里插入图片描述

3.操作系统层面漏洞类型对应意义

SQL注入漏洞

在这里插入图片描述

跨站脚本漏洞

在这里插入图片描述

弱口令漏洞

在这里插入图片描述

HTTP报头追踪漏洞

在这里插入图片描述

Struts2远程命令执行漏洞

在这里插入图片描述

框架钓鱼漏洞(框架注入漏洞)

在这里插入图片描述

文件上传漏洞

在这里插入图片描述

应用程序测试脚本泄露

在这里插入图片描述

私有IP地址泄露漏洞

在这里插入图片描述

4.简要操作系统层面漏洞影响范围

举例:MS17010

在这里插入图片描述
在这里插入图片描述
漏洞:需要前提条件、不需要前提条件,然后去获取权限,然后do something。
通过漏洞去获取权限,对操作系统形成干扰,使得某些服务崩溃

二、数据库层面

1.识别数据库类型常见方法

网站分为静态和动态。
静态也就是单页面,上面没有其他的功能,没有后台、功能。单纯的html。媒介和到数据库。
静态网站是没有漏洞的。只要有数据传递才会有漏洞。

2.数据库类型区别以及识别意义

数据库类型区别

在这里插入图片描述
在这里插入图片描述
可以在网上寻找常见的搭建组合,

在这里插入图片描述
在这里插入图片描述

Access没有端口
resid:6379
memcached:11211
psotgreSQL:5432
vertica:5551
greenplum:5432
在这里插入图片描述

意义

数据库的结构功能都不一样,不同的数据库攻击以及漏洞都不一样。

3.数据库长线漏洞类型以及攻击

在这里插入图片描述

4.简要数据库层面漏洞影响范围

通过对数据库的攻击,可以获取权限,进行下一步的操作。

三、第三方层面

如何判定常见的第三方软件

Jboss,PHPmyadmin,vsftpd,teamview
在这里插入图片描述
在这里插入图片描述
根据不同的应用,用不同的方法去扫描探针,大部分使用的端口
端口扫描也有缺陷
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

常见第三方或者软件漏洞类型及攻击

攻击多种多样
漏洞危害可以直接影响到权限。

四、补充一

除去常规web安全app安全测试外,类似服务器单一或复杂的其他服务:你要判定其他服务,比如说:邮件,游戏服务器,负载均衡(提供服务的服务器,只要有服务,都可以成为安全测试的目标,但是找漏洞的方向不一样,你得看他这个上面是什么应用,再根据应用去找思路)。

此类目标测试原则只是少了web应用或其他安全问题,只是少了测试方法,并不是找不到漏洞(你可以找系统漏洞或者第三方,不要就到这某个点上。)
所以明确安全测试思路是很重要的!

五、演示一某操作系统层面漏洞演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因此就可以做一些操作。通过这个漏洞就攻击到了服务器,就可以供给进行操作了。

六、演示二某操作系统层面漏洞演示

在这里插入图片描述
接下来演示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在这个ubuntu的ip地址是
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
msf攻击参考
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
补充书名说明:两个图在这里插入图片描述在这里插入图片描述

继续操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、演示三第三方应用安全漏洞

在这里插入图片描述
我们可以从vulhub上看到一些操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改之后
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应该是可以读取的,可能是而配置限制了,又翻车了。

八、补充二

安全扫描件
在这里插入图片描述


http://chatgpt.dhexx.cn/article/JWrg6BES.shtml

相关文章

web平台安全测试方案

平台安全测试方案 1、 测试目的 能尽可能发现当前系统存在的安全隐患,在漏洞报告提供出有价值的建议通过报告修复漏洞后,能减少系统出现严重的安全事故 2、测试对象 Web应用程序服务器操作系统 3、测试工具及环境 AppScan(Windows10&am…

什么是web安全测试

1.1什么是web安全测试? Web安全测试就是要提供证据表明,在面对敌意和恶意输入的时候,web系统应用仍然能够充分地满足它的需求 1.2为什么进行Web安全测试 2005年06月,CardSystems,黑客恶意侵入了它的电脑系统&#x…

web安全测试内容

一. 首先你得了解Web Web分为好几层,一图胜千言: 事实是这样的: 如果你不了解这些研究对象是不可能搞好安全研究的。 这样看来,Web有八层(如果把浏览器也算进去,就九层啦,九阳神功……&#xff…

解决报错RuntimeError: set_sizes_and_strides is not allowed on a Tensor created from .data or .detach().

完整报错信息如下 RuntimeError: set_sizes_and_strides is not allowed on a Tensor created from .data or .detach(). If your intent is to change the metadata of a Tensor (such as sizes / strides / storage / storage_offset) without autograd tracking the change…

基于keras的卷积神经网络(CNN)

1 前言 本文以MNIST手写数字分类为例,讲解使用一维卷积和二维卷积实现 CNN 模型。关于 MNIST 数据集的说明,见使用TensorFlow实现MNIST数据集分类。实验中主要用到 Conv1D 层、Conv2D 层、MaxPooling1D 层和 MaxPooling2D 层,其参数说明如下…

Grad strides do not match bucket view strides.This may indicate grad was not created according to th

家人们来看看是不是报这个 warning: [W reducer.cpp:283] Warning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the params strides changed since DDP was constructed.…

Python多维数组跨度strides(学习笔记)

Python多维数组跨度 今天就来搞明白有关于多维数组的跨度 strides的知识 先构建一个四位数组: arrnp.arange(1,25.0).reshape(2,2,2,3) print(轴(维度):,arr.ndim) arr分析:arange(1,25.0)是1~24共24个数字,注意到25.0是float类型 再来看看…

RuntimeError: sparse tensors do not have strides

这是一个可以复现的问题。 归根结底在于 torch不支持Sparse与Sparse的矩阵乘法(mm)。 也不支持Dense 与 Sparse的矩阵乘法。 只支持Sparse与Dense的矩阵乘法。 torch.mm是消边的矩阵乘法,mm matrix multiply。 而torch.mul是同形矩阵的element-wise点乘。 所谓s…

Warning: Grad strides do not match bucket view strides pytorch利用DDP报错

遇到报错: [W reducer.cpp:362] Warning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the param’s strides changed since DDP was constructed. This is not a…

Python ndarray.strides用法

用法 ndarray.strides: 跨越数组各个维度所需要经过的字节数元组 a np.array([[10,2,4],[3, 4,11]],dtypenp.int32) print(a.strides) #(12,4) 12表示在内存中a[n, 0]到a[n1, 0]跨过多少byte; 4表示在内存中a[n, 0]到a[n, 1]跨过多少byte# 查看数组a所有元素占用内存大小&…

神经网络:CNN中的filter,kernel_size,strides,padding对输出形状的影响

输入数据在经过卷积层后,形状一般会发生改变,而形状的变化往往与以下四个超参数有关。 1,filter(out_channel) 该超参数控制着输入数据经过卷积层中需要与几个卷积核进行运算,而输入数据与每个卷积核进行…

tf.keras.layers.Conv2D用法总结

概述 tf.keras.layers.Conv2D()函数用于描述卷积层。 用法 tf.keras.layers.Conv2D(filters, kernel_size,strides(1, 1), paddingvalid, data_formatNone,dilation_rate(1, 1), activationNone )1.filter:卷积核的个数 2.kenel_size:卷积核尺寸&…

CNN中stride(步幅)和padding(填充)的详细理解

步幅:卷积核经过输入特征图的采样间隔 填充:在输入特征图的每一边添加一定数目的行列,使得输出的特征图的长、宽 输入的特征图的长、宽 两个参数的核心: 设置步幅的目的:希望减小输入参数的数目,减少计…

java输出(java输出语句快捷键)

java最简单的输入输出 java输出语句怎么写 去百度文库,查看完整内容> 内容来自用户:白岸海歌 System.out.print ——标准输出流 Java的流类,主要是:输入流类InputStream输出流类OutputStream Java系统预先定义好3个流对象,静态…

Java程序入口+输出语句+数据类型

一(Java程序入口):要想执行一个java程序,就必须有一个程序入口,且该入口为固定格式:public static void main(String[ ] args){}。注意:是main而不是mian,Str…

JAVA 循环控制语句以及输入输出

JAVA 循环控制语句以及输入输出 顺序结构分支结构if 语句switch 语句 循环结构while 循环for 循环do while 循环 输入输出输出到控制台从键盘输入 JAVA 里的程序控制语句主要分为顺序结构、分支结构(选择)和循环结构。 顺序结构 顺序结构比较简单&#x…

JAVA输出语句及变量

文章目录 语句输出在.java文件里一共能存在2样东西;注释的分类:变量标识符变量名的命名规范: 语句输出 格式一:println.带有换行效果 格式二:print.不带换行效果 (语句是程序执行的最小单元,是以";"结束的.) “ System.out.println();”输入快捷方法…

java的打印语句_java打印输出语句是什么?

打印输出语句有:换行打印“System.out.println();”,不换行打印“System.out.print();”,字节输出“System.out.write();”,按格式输出“System.out.printf();”。 Java中的输出语句有以下四种:System.out.println(111…

Java输入/输出

File类文本(Text)输入/输出 输出用PrintWriter类try-with-resources来自动关闭资源用Scanner来读取文本流式处理文本文件和二进制文件 二进制(Binary)文件输入/输出 二进制输入/输出到文件FilterInputStream/FilterOutputStream D…

Java输入输出

源代码见:点击打开链接 引言:在平时java开发中,被输入输出搞得头疼。特此写下这篇博客,一是为了总结输入输出,二是为了和大家分享。如果大家觉得写得好,就请高抬贵手点个赞呗!!&…