1、了解正向代理和反向代理原理及异同
(1)正向代理
正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。它是由客户端主动设置,用来代理客户端,为客户端收发请求,使真实客户端对服务器不可见。其流程简要概括为客户端将业务请求发送给代理服务器,代理服务器收到后发送给目标服务器,并且代理服务器还需要将目标服务器返回的内容回送给客户端,起到中间人作用。
(2)反向代理
反向代理同样是将客户端的请求发送给目标服务器,但区别在于客户端只会得知代理服务器的IP地址,而不知道在代理服务器后面的服务器集群的存在。
(3)反向代理与正向代理的区别
1、正向代理会隐藏客户端,也就是代理的是客户端,是客户端对于目标服务器不可见;而反向代理是针对目标服务器,使目标服务器对于客户端不可见。
2、正向代理一般由客户端架设;反向代理由服务器端架设。
3、正向代理主要用来解决访问限制问题,例如翻墙;而反向代理则是提供负载均衡、安全防护等作用。
2、web网站架构
(1)开发语言
目前流行的开发语言有Java、python、php、ruby、go、html、JavaScript。熟悉web开发语言的目的在于不同的开发语言会存在不同的安全问题,会后期代码审计提供方向。
(2)服务器操作系统
服务器一般会搭建在Linux或者Windows上,针对不同的服务器操作系统会存在不同的漏洞类型,识别服务器操作系统是信息打点中的步骤之一。
识别方法:
1、nmap端口扫描,指令:nmap -O ip 直接探测目标的操作系统
2、可以在url改写字母的大小写,尝试判断是否界面正常访问。Linux对字母大小写敏感、Windows对字母大小写不敏感。
3、通过ping操作判断TTL时间与哪种操作系统相近确定。
(3)中间件类型
中间件(Middleware)是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。在信息打点中识别到不同的中间件类型后,可以针对不同中间件可能会产生的漏洞进行渗透。目前,流行的中间件类型有:nginx、apache、tomcat、wedlogic、tengine、iis - windows 服务器。
(4)数据库类型
不同的web网站可能会采取不同类型的数据库进行数据存储。目前,流行的数据库有以下几种:
MySql数据库 ,默认端口是: 3306
Oracle数据库 ,默认端口号为:1521
Sql Server数据库 ,默认端口号为:1433
DB2数据库, 默认端口号为:5000
PostgreSQL数据库, 默认端口号为:5432
国产的DM达梦数据库, 默认端口号为:5236
Redis数据库,默认端口号:6379
Memcached数据库,默认端口号:11211
MongoDB数据库,默认端口号:27017
在知道web搭建时可能会使用哪些类型的数据库以外,我们还需要知道,数据库的默认端口,这在信息打点时,我们识别数据库时可以起到作用。识别数据库的方法主要是端口扫描。我们可以利用端口扫描探测到数据库的类型。例如:
nmap -p 3306,1433,1521,5432 <目标IP>
(5)程序源码
不同的开发语言的程序源码会存在不同的安全问题,在信息打点时,获取到web的程序源码对于之后的代码审计有很大帮助。
(6)第三方软件
web搭建过程中可能会利用的到不同的第三方软件,第三方软件的安全性也会对web的安全起到影响。
507

被折叠的 条评论
为什么被折叠?



