基础入门web应用

Web应用&架构搭建&站库分离&路由访问&配置受限&DNS解析
常规Web应用搭建步骤:
- 购买云服务器,购买域名
- 云服务器去搭建中间件
- 下载并上传Web程序源码
- 添加网站并绑定域名目录
- www.xiaodi8.com zblog asp程序
- xiaodi.xiaodi8.com wordpress php程序
- bbs.xiaodi8.com 论坛 dz程序
- oa.xiaodi8.com OA通达OA
- 域名&配置-主站&分站&端口站&子站
- 子域名模式
- 端口模式
- 源码&配置-路由访问&文件结构&语言类型
- www.xiaodi8.com zblog asp程序
- www.xiaodi8.com:8080 wordpress php程序
- 解析&配置-网站目录&绝对相对路径&权限
- 目录模式
- http://wwwxiaosedi123.fun/ zblog asp程序
- http://wwwxiaosedi123.fun/bbs 论坛 dz程序
- 数据库&配置-数据类型&数据存储&授权登录
- Web程序源码:
- 开源 商业 自写
- 开源-源码可见
- 自写-源码不可见
- 加密
- 语言特性决定
- 路由访问
- 常规:URL和文件目录对应上
- 路由访问:mvc源码 java python
- URL和文件目录对应不上 要根据配置路由决定
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构-常规化&站库分离&前后端分离 Web架构-集成软件&Docker容器&分配站
- 常规化
- 原理:源码数据都在同服务器
- 影响:无,常规安全测试手法
- 自己搭的iis:
- Iis apppool\defaultapppool
- 站库分离
- 原理:源码数据库不在同服务器
- 存储:其他服务器上数据库&云数据库产品
- 影响:数据被单独存放,能连接才可影响数据
- 前后端分离
- 原理:前端JS框架,API传输数据
- 影响:
- 前端页面大部分不存在漏洞
- 后端管理大部分不在同域名
- 获取权限有可能不影响后端
- 宝塔+Phpstudy
- 原理:打包类集成化环境,权限配置或受控制
- 影响:攻击者权限对比区别
- 拿到权限后
- 宝塔:
- 文件管理 锁定目录
- 命令执行 无法执行
- phpstudy
- 文件管理 锁定目录
- 命令执行 无法执行
- whomi获取用户权限 - administrator
- Izsjxymy4bzovoz\administrator
- 宝塔:
- Docker 容器
- 原理:虚拟化技术独立磁盘空间,非真实物理环境
- 影响:攻击者虚拟空间磁盘
- 建站分配站
- 1.托管
- 2.申请
- 原理:利用别人域名模版建立
- 影响:实质安全测试非目标资产
- 静态Web
- 例子:大学学的html设计的网站
- 原理;数据没有传输性(js传输不算)
- 影响:无漏洞
- 伪静态
- 动态转为静态技术,伪装的静态
Web架构&OSS存储&负载均衡&CDN加速&反向代理&WAF防护
- WAF防护-拦截安全攻击
- 原理:Web应用防火墙,旨在提供保护
- 影响:常规Web安全测试手段会受到拦截
- 演示:免费D盾防护软件
- Windows2012+IIS+D盾
- CDN节点-隐藏真实源IP
- 原理:内容分发服务,旨在提高访问速度
- 影响:隐藏真实源IP,导致对目标测试错误
- 演示:阿里云备案域名全局CDN加速服务
- Windows2012+BT宝塔面板+CDN服务
- CDN加速准备好备案域名
- 配置宝塔的域名绑定 47.122.22.195 -> www.zoro8.com
- 配置cdn加速选项
- 添加DNS CNAME记录
- 等待几分钟即可
- OSS
- 原理:云存储服务,旨在提高访问速度
- 影响:上传的文件或解析的文件均来自于OSS资源,无法解析,单独存储
- 修复上传安全
- 文件解析不一样
- 但Accesskey隐患
- 演示:https://cloudreve.org/
- Windows2012+cloudreve+阿里云OSS
- https://github.com/cloudreve/Cloudreve/releases/tag/3.7.1
- 启动应用
- 登录管理
- 配置存储信息
- 更改用户组存储属性
- 阿里云OSS:
- 开通OSS
- 新建Bucket
- 配置Bucket属性
- 配置Access访问
- 为什么要使用第三方存储?
- 静态文件会占用大量带宽
- 加载速度
- 存储空间
- 反向代理-内网应用转发
- 正向代理为客户端服务,客户端主动建立代理访问目标(不代理不可达)
- 反向代理为服务端服务,服务端主动转发数据给可访问地址(不主动不可达)
- 原理:通过网络反向代理转发真实服务达到访问目的
- 影响:访问目标只是一个代理,非真实应用服务器
- 注意:正向代理和反向代理都是解决访问不可达的问题,但由于反向代理中多出一个可以重定向解析的功能操作,导致反代理出的站点指向和真实应用毫无关系!
- 演示:Nginx反向代理配置
- Windows2012+BT宝塔面板+Nginx
- 负载均衡-多台机器服务
- 原理:分摊到多个操作单元上进行执行,共同完成工作任务
- 影响:有多个服务器加载服务,测试过程中存在多个目标情况
- 演示:Nginx负载均衡配置
- Windows2012+BT宝塔面板+Nginx
- 定义负载设置 upstream fzjh{ server 47.94.236.117:80 weight=2;(权重) server 47.122.22.195:80 weight=1; }
- 定义访问路径 访问策略 location / { proxy_pass http://fzjh/; }
基础入门app应用与微信小程序应用

APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
APP应用开发架构:
- 原生开发 安卓一般使用java语言开发,当然现在也有kotlin语言开发。如何开发就涉及到具体编程了,这里就不详细说了。简单描述就是使用安卓提供的一系列控件来实习页面,复杂点页面可以通过自定义控件来实现。
- 使用H5语言开发 使用H5语言开发的好处有很多,可多端复用,比如浏览器端、ios端,当然H5开发的体验没有原生好的。结合经验来说,一般这个页面需要分享出去的话,就用H5开发。
- 使用flutter开发 flutter是近年来谷歌推出的一款UI框架,使用dart语言进行开发,支持跨平台,weight渲染直接操作硬件层,体验可媲美原生。但是flutter技术比较新,生态还不完善,开发起来效率相对偏低。
- 常规Web开发 Web App软件开发简单地说,就是开发一个网站,然后加入app的壳。Web App一般非常小,内容都是app内的网页展示,受制于网页技术本身,可实现功能少,而且每次打开,几乎所有的内容都需要重新加载,所以反应速度慢,内容加载过多就容易卡死,用户体验差,而且app内的交互设计等非常有效。但开发周期长,需要的技术人员少,成本低。
APP-开发架构-原生态-IDEA
- 演示:remusic 项目源码
- 安全影响:
- 反编译&抓包&常规测试
- 逆向的角度去分析逻辑设计安全
APP-开发架构-Web封装-封装平台
- 演示:ShopXO源代码程序+一门APP打包
- 安全影响:常规Web安全测试
APP-开发架构- H5&Vue-HBuilderX
- 演示:HBuilderX案例
- 安全影响:API&JS框架安全问题&JS前端测试
微信小程序-开发框架- Web封装-平台
- 演示:ShopXO源码程序+一门APP打包
- 安全影响:常规Web安全测试
Comments NOTHING