一如既往的学习,一如既往的整理,一如既往的分享
一、前言
除去前面写到过的搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到WEB或服务器的安全,导致网站或服务器权限的获取
二、知识点
2.1 操作系统层面
2.1.1 识别操作系统常见方法
对方有网站通过网站识别,没网站通过扫描工具进行扫描
(1)通过大小写识别
windows操作系统不区分大小写
linux区分大小写
(2)通过TTL来判断(TTL判断不准确,不建议使用)
windows NT/2000 TTL:128
WINDOWS 95/98 TTL:32
UNIX TTL:255
LINUX TTL:64
WIN7 TTL:64
通过修改本机上的TTL值可以混淆攻击者的判断(当然,很少有用户会这么做)。
TTL值在注册表的位置是:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters (通过在cmd命令里面输入:regedit,然后回车的方式可以打开注册表)。其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改DefaultTTL里面的TTL默认值,但不能大于十进制的255。
(3)通过扫描工具识别—nmap(最准确)
nmap -O ip
2.1.2 简要两者区别及识别意义
网站路径、大小写、文件在两个系统之间的适用性,兼容性,如果判断出是哪种操作系统,就会从操作系统所支持的漏洞类型下手
2.1.3 操作系统层面漏洞类型对应意义
漏洞类型的不同会造成利用这个漏洞的条件也不同
2.1.4 简要操作系统层面漏洞影响范围
通过漏洞去获取权限,对操作系统形成干扰,使得某些服务崩溃
2.2 数据库层面
2.2.1 识别数据库类型常见方法
(1)数据库分类
小型数据库 Access
中型数据库 MySQL
大型数据库 Oracle、sqlServer
(2)通过网站及操作系统识别
一般情况下
ASP+Access,sql server (windows)
PHP+Mysql(linux、windows) 端口:3306
ASPX+Mssql(windows) 端口:
Jsp+Mssql(windows),oracle (linux、windows)端口:1521
Python+Mongodb (linux、windows)
......
access和mssql不支持linux操作系统
(3)通过nmap工具扫描,查看端口开放情况
常见数据库端口号
sql server--------端口:1433
Mysql-------------端口:3306
oracle-------------端口:1521
Mongodb---------端口:27017
filtered:过滤。nmap不确定是端口否开放,过滤可能来自专业的防火墙设备,路由器规则或者主机上的软件防火墙
open:端口开放。所以上述主机确定是mysql数据库
2.2.2 数据库类型区别及识别意义
每个数据库里面的安全机制,内部结构都有些许不一样,同样产生的漏洞也不一样。
不同的数据库,攻击方法、漏洞类型及影响都有不同
2.2.3 数据库常见漏洞类型及攻击
弱口令攻击:通过弱口令登录到数据库中,得到网站管理员数据信息,登录网站后台,进行修改
2.2.4 简要数据库层面漏洞影响范围
通过漏洞,进行攻击,也可以获取数据库的相关权限,进行一系列的操作
2.3 第三方层面
2.3.1 如何判断有哪些第三方平台或软件
常见的第三方软件
jboss、phpmyadmin,vsftpd,teamview等
比如phpmyadmin的判定
• 通过网站扫描其目录来判定,如果网站探测不到,那就通过端口扫描。要多层次判断,不能仅限于端口扫描,根据不同的应用采取不同的方法。
• 如果nmap扫描不出来,可能是有第三方防护软件(安全狗)等拦截。还有可能是对方服务部署在内网。
2.3.2 简要为什么要识别第三方平台或软件
通过识别第三方软件,来找出漏洞,从而进行渗透测试
2.3.3 常见第三方平台或软件漏洞类型及攻击
2.3.4 简要第三方平台或软件安全测试的范围
直接影响到权限
2.4 其他
除去常规web安全及app安全测试外,类似服务器单一或复杂的其他服务(邮件,游戏,负载均衡等),也可以作为安全测试目标,此类目标测试原则只是少了web应用或其他安全问题,所以明确安全测试思路是很重要的