前言:在我们渗透测试中,除了中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到web或服务器的安全,导致网站或服务器的权限获取
1操作系统类型的识别
前言:为什么要去识别操作系统:1.知道了对方的操作系统,对接下来你的渗透测试提供了思路列如:如果对方是linux操作系统那么你就可以知道对方linux操作系统的版本公开的漏洞有哪些。
2.如果你知道对方的操作系统你可以推测出对方建设网站可能用的是哪个编程语言编写的,你可以知道对方可能用的哪些数据库等的改变。
识别操作系统方法总结
第一种根据在url输入的大小写来判断:
- 对于服务器来说,前两个是大小写不敏感的,但是一般情况下,协议名称和域名部分如果有写成大写的浏览器会在请求的时候帮我们改成小写的,所以服务端后台不用考虑这一点。
- 实际上大小写是否敏感依赖于操作系统的文件系统。
- 至于资源路径,对于运行在window系统上的IIS服务器对资源路径大小写不敏感,但是对于运行在Unix和Linux系统上的服务器Apache对资源路径的大小写是敏感的,如果有大小写错误会返回404页面。
- 总结: Windows主机的不区分URL大小写(大小写不敏感)的。Linux和Unix主机是区分URL大小写的。
②根据ping包返回的ttl值来判断操作系统(不准确)
友情链接:https://blog.youkuaiyun.com/weixin_34336526/article/details/90498472
③使用第三方工具nmap进行扫描
nmap工具自己可以在网上下载(这里不再介绍如何下载nmap):
这里对参数进行下简单的解释,其实也不难理解-O指的是进行系统版本的探测
后面加要探测的ip
如上图箭头所指的位置就是nmap探测出来的操作系统,这里指的是linux2.4.x版本或者3.x版本这个需要你自行判断。他这个nmap探测出来有时就是很准确的有时就像这样。
2.数据库类型的识别:
数据库的识别有助于我们更好的进行渗透:比如我们要对一个网站进行sql注入时,我们会根据对方的数据库类型执行不同的sql语句........
①根据网站的编程语言推测可能使用的数据库:
ASP和.NET:Microsoft SQL Server
PHP:MySQL、PostgreSQL
Java:Oracle、MySQL以上是常见的搭配。
这里要注意一点的:sql server 只能运行在window操作系统上面
②使用nmap进行端口扫描根据端口判断数据库类型
我们先来介绍下不同数据库默认开放的端口:
常用数据库端口号:
1、mysql 默认端口为:3306
2、sqlserver 默认端口号为:1433
3、oracle 默认端口号为:1521
4、DB2 默认端口号为:50000
5、PostgreSQL 默认端口号为:5432