Day3 基础入门-Web应用&OSS存储&负载均衡&CDN加速&反向代理&WAF防护&部署影响
Web+Waf
原理:Web应用防火墙,旨在提供保护
影响:常规Web安全测试手段会受到拦截
演示:雷池社区版 https://waf-ce.chaitin.cn/
Ubuntu20.04 + 雷池社区版
安装雷池:
https://docs.waf-ce.chaitin.cn/
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
搭建网站:
https://zhuanlan.zhihu.com/p/705196831
docker run --name webgoat -d -p 8080:8080 -p 9090:9090 registry.cn-shanghai.aliyuncs.com/kubesec/webgoat:v2023.8
配置雷池:
添加站点-设置域名-上游地址-没真实域名修改本地host解析
首先我们要进行一个环境测试先从阿里云买入一个限时测试服务器。
选择按量付费,香港地区。
选择2v CPU 4GiB,作为临时使用即可。
公共镜像选择ubuntu20.04 64位版
然后选择公网IP4后自定义账号密码
去到管理控制台可以看见我们的服务器了
然后使用xshell连接我们的服务器
然后参考雷池官方文档进行部署
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
直接一路Y进行安装就行。
然后安装好后直接打开网页,可能会打不开去阿里云开一下安全组就行了
打开之后按照给出的账号密码进行登录
也是直接登陆成功了
我们直接用docker随机拉取一个靶场测试我们的Waf
docker run --name webgoat -d -p 8080:8080 -p 9090:9090 registry.cn-shanghai.aliyuncs.com/kubesec/webgoat:v2023.8
然后我们点击添加站点
随便取一个域名然后指向本机的8080端口也就是我们刚才部署的网站的所在端口,我们只需要改本机host进行解析就能把waf上上去了
改一下本机host文件
测试一下连通性
然后我们进入我们刚刚从docker拉上去的靶场注册一个账号测试一下雷池
注册一个账号先登陆进去
选一个sql注入的题目
进行简单的' and 1=1 注入尝试
可以看到已经被拦截了。
打开雷池看一看
可以看到为我们的防护日志里面已经有我们的攻击记录了。
Web+CDN
原理:云存储服务,旨在提高访问速度
CDN是节点加速服务,因为我这里没有备案域名就不做演示了。
如果开了CDN那么在每个地方ping得网站IP是不一样的,如果没买CDN,那么在每个地方ping的网站IP就一样。
Web+OSS
原理:云存储服务,旨在提高访问速度
演示:https://cloudreve.org/
Windows2016 + cloudreve + 阿里云OSS
https://github.com/cloudreve/Cloudreve/releases/tag/3.7.1
云存储服务意味着不能解析,意味着上传后门的话就解析不了
本地存储服务:
直接阿里云快速买一个服务器进行复现,然后把我们的cloud放上去
直接拿刚刚第一次启动给我们的账号密码进行登录
我们随便上传一个图片
然后传一个木马文件上去
这种文件直接出现在了本地存储,这个是可以解析得,他就是后门了,我们可以连接直接获取权限
云存储服务:
同样我们在阿里云打开OSS,顺便开通一下
然后打开我们刚才得网盘
配置一下存储服务
选择阿里云OSS
根据阿里云OSS的信息填写存储策略
创建好存储策略之后直接选择用户组的admin用户更改存储策略为刚刚创建的存储策略
返回服务页面上传一个2.php直接上传成功了,我们来到云存储桶OSS看一下。
很清晰的看到了我们上传成功了
这两种方式的区别是什么呢?
OSS对象存储的出现对安全测试有很大影响,最大的影响就是解析和存储,后门代码到OSS可能会不能成功执行相对于本地存储更为安全,意味着如果用OSS基本根本不能进行OSS解析。(OSS打破了传统的文件上传漏洞)
但是同时也面临着新型的安全问题,存在了云安全问题
为什么使用第三方存储
(1)静态文件会占用大量带宽
(2)加载速度
(3)存储空间
影响:
上传的文件或解析的文件均来自于OSS资源,无法解析,单独存储
1.修复上传安全
2.文件解析不一样
3.但存在AK/SK隐患
Web+反向代理
正代理为客户端服务,客户端主动建立代理访问目标(不代理不可达)
反向代理为服务端服务,服务端主动转发数据给可访问地址(不主动不可达)
原理:通过网络反向代理转发真实服务达到访问目的
影响:访问目标只是一个代理,非真实应用服务器
注意:正向代理和反向代理都是解决访问不可达的问题,但由于反向代理中多出一个可以重定向解析的功能操作,导致反代理出的站点指向和真实应用毫无关系!
演示:Nginx反向代理配置
Windows2016 + BT宝塔面板 + Nginx
这个就不做演示了,还是很简单的,意思就是反向代理就相当于一个数据中转,然后转向到后端服务器或者别的服务器,相当于反向代理就是一个中间人,对于安全测试主要的影响就是你实际测试的网站不是代理服务器的网站,而是跳转后的网站。
Web+负载均衡
原理:分摊到多个操作单元上进行执行,共同完成工作任务
影响:有多个服务器加载服务,测试过程中存在多个目标情况
演示:Nginx负载均衡配置
Windows2016 + BT宝塔面板 + Nginx
定义负载设置
upstream fzjh{
server 120.26.70.72:80 weight=1;
server 47.75.212.155:80 weight=2;
}
定义访问路径 访问策略
location / {
proxy_pass http://fzjh/;
}