前言:除去搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到Web或服务器的安全,导致网站或服务器权限的获取。

涉及知识

操作系统

操作系统类型

  1. Windows

  2. Linux

识别操作系统常见方法

若渗透目标有网站,通过网站识别

  1. 访问Windows系统搭建的网站文件,其对大小写不敏感,可以修改访问时的url某字符的大小写,查看能否访问,若大小写均能访问成功,则为Windows系统搭建;否则为Linux系统搭建

    • Windows系统搭建:访问时不区分大小写,大小写均可访问

      小写访问

      大写某字符访问

    • Linux系统搭建:访问时区分大小写

      小写访问

      大写某字符访问

  2. 通过TTL来判断目的主机的操作系统类型(不建议使用)

    不同的操作系统的默认TTL值是不同的, 所以我们可以通过TTL值来判断主机的操作系统,但是当用户修改了TTL值的时候,就会误导我们的判断,所以这种判断方式也不一定准确。下面是默认操作系统的TTL:

    1. WINDOWS NT/2000 TTL:128

    2. WINDOWS 95/98 TTL:32

    3. UNIX TTL:255

    4. LINUX TTL:64

    5. WIN7 TTL:64

若渗透目标无网站,通过扫描主机识别

Nmap扫描主机操作系统

命令:

1
2
3
nmap -O IP地址

nmap -O 110.242.68.4

准确判定(直接)

疑似判定(概率)

两者区别及识别意义

不同操作系统,操作、设置有所不同,识别不同操作系统,其中最主要的不同在以下方面

网站路径、大小写、文件在两个系统之间的适用性,兼容性

如果判断出是哪种操作系统,就会从操作系统所支持的漏洞类型下手

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

略

操作系统层面漏洞影响范围

  1. 通过漏洞去获取权限
  2. 对操作系统形成干扰,使得某些服务崩溃

Web

网站源码相关

04_Web源码拓展

搭建平台相关

03_搭建安全拓展

数据库相关

  1. 弱口令
  2. 漏洞

一般地,数据库的漏洞较少,攻击时使用较多的是弱口令

识别数据库类型常见方法

数据库类型
  • 小型数据库:Access
  • 中型数据库:MySQL
  • 大型数据库:SQLServer、Oracle
数据库识别方法
若有网站,则通过网站识别,一般地,有如下常见组合
  • ASP+Access(Win平台)

  • PHP+MySQL

  • ASPX+SQLServer(Win平台)

  • jsp+Oracle(大部分)/MySQL/SQLServer

  • Python+MongoDB

  • ……

若无网站,则通过Nmap扫描识别
  1. 端口扫描:扫描目标主机端口开放情况,而不同数据库运行的默认端口不同

    一、关系型数据库

    1. MySql数据库 ,默认端口是: 3306;

    2. Oracle数据库 ,默认端口号为:1521;

    3. Sql Server数据库 ,默认端口号为:1433;

    4. DB2数据库, 默认端口号为:5000;

    5. PostgreSQL数据库, 默认端口号为:5432;

    6. 国产的DM达梦数据库, 默认端口号为:5236。

    二、NoSql数据库(非关系型数据库):

    1. Redis数据库,默认端口号:6379;

    2. Memcached数据库,默认端口号:11211 ;

    3. MongoDB数据库,默认端口号:27017;

Nmap端口扫描示例:

端口状态filtered:端口状态filtered由于报文无法到达指定的端口,nmap不能够决定端口的开放状百态。

数据库类型区别及识别意义

每个数据库里面的安全机制,内部结构都有些许不一样,同样产生的漏洞也不一样。不同的数据库,攻击方法、漏洞类型及影响都有不同

数据库常见漏洞类型及攻击

弱口令攻击:通过弱口令登录到数据库中,得到网站管理员数据信息,登录网站后台,进行修改

数据库层面漏洞影响范围

通过漏洞,进行攻击,也可以获取数据库的相关权限,进行一系列的操作

APP

  1. Android

  2. iOS

涉及以下3类攻击方法:

  1. 系统漏洞
  2. 反编译提取URL,回到Web漏洞
  3. 抓包结合Web漏洞

第三方

站长或管理员选择安装了某些第三方的软件、插件、服务

常见第三方软件或服务

  1. openssh
  2. weblogic
  3. jblss
  4. redis
  5. serv-u
  6. ……

判断第三方平台或软件方法

常见的第三方软件:

Jboss,phpmyadmin,vsftpd,teamview等

判定方法

比如phpmyadmin的判定:通过网站扫描其目录来判定,如果网站探测不到,那就通过端口扫描。要多层次判断,不能仅限于端口扫描,根据不同的应用采取不同的方法。如果nmap扫描不出来,可能是有第三方防护软件(安全狗)等拦截。还有可能是对方服务部署在内网。

识别第三方平台或软件原因

通过识别第三方软件,来找出漏洞,从而进行渗透测试

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

略

第三方平台或软件安全测试的范围

直接影响到权限

补充

除去常规web安全及app安全测试外,类似服务器单一或复杂的其他服务(邮件,游戏,负载均衡等),也可以作为安全测试目标,此类目标测试原则只是少了web应用或其他安全问题,所以明确安全测试思路是很重要的!

案例演示

上述涉及的基础知识演示

略

某操作系统层面的漏洞演示

略

某数据库弱口令及漏洞演示

略

某第三方应用安全漏洞演示

略

涉及资源

站内搜索

没有找到内容!