05:基础入门-系统及数据库等
前言:除去前期讲到过的搭建平台中间件,网站源码外,容易受到攻击的还有操作系统、数据库、第三方软件平台等。其中此类攻击也能直接影响到WEB或服务器安全的安全,导致网站或者服务器权限的获取。
1、操作系统层面
1.识别操作系统常见方法
如何测试一个目标操作系统是Linux还是windows?
(1)有网站
可以通过网站的手工识别方法判断:
Windows对网址大小写不敏感,Linux对大小写敏感。也就是说你可以在网页中替换网站路径的大小写进行测试。
举例:
Windows:url输入大写或者小写,页面展示没有区别
Linux :url输入大写,页面不展示
(2)没有网站
a、通过nmap进行扫描:nmap -O IP地址 (推荐)
还有一个工具,masnmapscan,他的功能没那么强大,但是胜在速度非常快。
b、通过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
![](https://img2023.cnblogs.com/blog/1375459/202304/1375459-20230414170100838-1276286616.png)
2.简要两者区别及识别意义
区别出不同的操作系统才能对症下药:
- windows和linux的目录结构不一样;
- windows和linux对大小写的敏感程度不一样;
- windows和linux的漏洞不一样,可能windows的漏洞在Linux上就不能运用。
3.操作系统层面漏洞类型对应意义
不同的漏洞会造成不同漏洞利用的条件,有些漏洞在实践中需要额外的前提条件、很难利用,可以直接放弃。
4.简要操作系统层面漏洞影响范围
有些漏洞会对操作系统造成崩溃、而有些系统只是蓝屏、或者是权限的提升。
我们特别需要学习的漏洞是一些造成权限丢失的漏洞,因为可以帮助我们提权,比如ms17010就是一个高危漏洞,它跟权限挂钩,而且不需要一些额外的苛刻条件,只要是windows操作系统,没有打补丁,并且使用了smb,开放了445端口,就可能被利用。
2、数据库层面
1.识别数据库类型常见方法
每种脚本语言都有对应的推荐的数据库,因为使用推荐数据库兼容性会比较好,所以知道网址语言,一般也能大致猜到所使用的数据库。
默认的语言搭配的数据库
- 组合类型asp + access/mssql
- 组合类型php + mysql
- 组合类型aspx+mssql
- 组合类型jsp +mysql/oracle
- 组合类型Python + MongoDB
常见的数据库默认端口号
- 一、关系型数据库
- 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;
filtered状态说明端口被过滤了,不能确定是否open,也许是开着的
2.数据库类型区别及识别意义
数据库的不同表示的结构也是不同、写法结构也不一样、所以产生的漏洞也不一样。
不同的数据库的攻击方式也不完全一样。
3.数据库常见漏洞类型及攻击
存在弱口令
数据库漏洞
4.简要数据库层面漏洞影响范围
数据库权限
网站权限(登录后台)
修改网页内容
3、第三方层面
1.如何判断有那些第三方平台或软件
通过端口扫描:nmap -O -sV IP地址
2.简要为什么要识别第三方平台或软件
不同的第三方软件或工具存在不同的漏洞、识别到更多的信息对收集到的漏洞也就越多
3.常见第三方平台或软件漏洞类型及攻击
弱口令
软件的漏洞攻击
4.简要第三方平台或软件安全测试的范围
直接获取到软件的权限便于进一步的提权和攻击
4、补充
除去常规wEB安全及APP安全测试外,类似服务器单一或复杂的其他服务(邮件,游戏,负载均衡等),也可以作为安全测试目标,此类目标测试原则只是少了wEB应用或其他安全问题。所以明确安全测试思路是很重要的!
5、演示案例
1.上述涉及的基础知识演示
见上面
2.演示某操作系统层面漏洞演示
攻击成功
3.演示某数据库弱口令及漏洞演示
举例1:
举例2:mysql身份认证绕过漏洞
测试方法1
测试方法2:
4.某第三方应用安全漏洞演示
6、涉及资源
https://nmap.org/
https://www.kali.org/get-kali/
https://github.com/hellogoldsnakeman/masnmapscan-V1.0