这篇文主要也是我的个人学习笔记,学完了感觉还是写下来,方便自己查看同时,也能让大家去交流探讨,共同在学习的路上进步。我主要分为三个层面来简单说说,涉及的不深主要我也是初学者,简单说说自己这几天学到的东西把。
一、操作系统层面
1.1不同的操作系统有不同的特性
对于操作系统不同那么可能有的漏洞也不一样。区别出不同的操作系统才能对症下药、因为windows和linux的漏洞是不一样的嘛。在操作系统层面我主要的思路还是,网站架设在操作系统上,通过操作系统的漏洞看能不能获取网站的一些相关信息,或者权限之类,然后在对网站对症下药。这里不提具体漏洞问就是不知道不了解,感兴趣可以百度一下~
1.2如何区分什么操作系统呢?
1.2.1有网站的我们可以
可以通过网站识别通过网站的手工识别方法判断:
windows对大小写不敏感也就是说你在网页中可以替换网站路径的大小写进行测试,要是不影响就是Windows,反之就是Linux。
1.2.2没有网站
通过nmap进行扫描方法:
下载一个nmap,然后打开软件输入目标IP地址
1.2.3还可以通过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
二、数据库层面
2.1数据库安全对于我们web安全来说的影响有
数据库权限:这个网站的是数据权限如果被人拿到就不用多说了,用户信息泄露,网站管理员账号密码,关键信息。
网站权限:管理员账号密码在的话,后台路径能不能也在呢
修改网页内容:有没有可能儿拿到数据库可以修改收款二维码呢.....(这个我也不清楚不知道,我自己的想法)
比较常见的攻击
存在弱口令
数据库漏洞
2.2识别数据库类型的意义
数据库的不同表示的结构也是不同、写法结构也不一样、所以产生的漏洞也不一样。
不同的数据库的攻击方式也不完全一样。
2.3如何识别数据库类型
2.3.1根据代码语言推测,一般的组合类型有下边几种:
组合类型asp + access/mssql
组合类型php + mysql
组合类型aspx+mssql
组合类型jsp +mysql/oracle
组合类型Python + MongoDB
2.3.2根据端口号来去判断,对我们目标进行nmap端口扫描来推测用的什么数据库。、
可以看下后边nmap扫描的例子,也可以扫到。
关系型数据库
mysql 3306
sqlserver 1433
oracle 1521
psotgresql 5432
非关系型数据库
MongoDB 27017
Redis 6379
memcached 11211
三、第三方平台层面
比如电脑上安装的东西对我们来说都属于第三方平台。
3.1为什么要识别第三方平台
不同的第三方软件或工具存在不同的漏洞、识别到更多的信息对收集到的漏洞也就越多
3.2如何识别第三方平台
通过网站去扫描有些网站安装了第三方的软件如phpmyadmin通过扫描就可以发现他的安装目录
判断安装了第三方软件
端口扫描
nmap -O -sV 10.1.1.130
下边是我扫的一个例子可以看到一些第三方的软件
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
912/tcp open vmware-auth VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
1025/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
5357/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)