001-基础入门-Web演示&源码&资源&工具箱等

知识点
Web常规
Web应用搭建一般需要以下四大件:
- 操作系统
- 中间件
- 数据库
- 源码
常规的Web应用搭建过程
购买云服务器,购买域名
云服务器去搭建中间件
下载并上传Web程序源码
添加网站并绑定域名目录
Web其他
集成软件:常规搭建是通过一步步自己安装操作系统、中间件等来搭建网站,而集成网站直接通过如宝塔、phpstudy的集成工具搭建的网站
Docker容器:一个docker镜像对应一个网站
分配站:比如注册一个账号,就会分配给该用户一个网站,比如cnblog博客园
Web拓展
CDN:内容分发网络
WAF:Web应用防火墙
云数据库:
现在,云服务商也提供云数据库服务,可以将站点部署在本地,数据库使用云数据库,不需要自己配置操作系统和数据库即可使用,由云服务商提供安全支撑。
从安全角度讲,云数据库能够限制访问IP,限制访问方式为使用阿里云key访问而非用户名/密码,提高了安全性
OSS:
- 对象云存储服务,搭建网站时,网站的资源不一定都放在本地,可以将资源放在OSS上
- 如文件上传漏洞,将上传的一句话木马直接传到了OSS,OSS既不知道具体存储路径,又没有可供解析的如PHP等环境,不利于后续连接访问,这也是近年来的安全测试遇到的新问题
静态
负载均衡
Web程序源码
开源
免费开源,源码可见
开源但源码不可见
- 加密:如PHP代码加密,加密源码但不影响语言功能
- 语言的特性决定:如Java源码即使拿到,
.class文件在文本编辑器中也是显示乱码,无法拿到开发者的.class文件;asp站点的源码在.dll文件中,需要反编译才能看到源码
商业:付费的商业软件
自写:自己有能力,自己写来搭建网站
演示案例
域名&配置-主站&分站&端口站&子站
区分不同域名配置,有利于信息收集
子域名模式
即通过不同子域名区分不同站点,如视频中演示的
- www.baidudu.com指向zblog的asp程序
- blog.baidudu.com指向WordPress的PHP程序
端口模式
即通过不同端口区分不同站点,如
目录模式
即通过不同目录区分不同站点,如
源码&配置-路由访问&文件结构&语言类型
路由访问
URL和文件目录对应:常规网站的访问都是通过目录来访问不通资源
URL和文件目录对应不上,要根据配置路由决定:比如mvc源码如Java、Python站点,必须通过特定路由规则来访问才能访问到。如下所示的站点目录
/wwwroot结构/wwwroot/WEB-INF/web.xml/wwwroot/index.jsp
访问index.jsp能正常访问,但使用相对路径访问web.xml时报错,这是由于该Java站点配置了特定路由规则
解析&配置-网站目录&绝对相对路径&权限
略
数据库&配置-数据类型&数据存储&授权登录
略
本节总结
0、知道Web必备四大件作用
1、知道网站有哪些形式展示
2、知道源码和URL访问对应关系
3、知道源码有加密开源闭源类型
4、知道文件访问解析由什么决定
由该被访问文件的权限来决定,如该文件是否可读、是否可写、是否可执行
如下图所示是一个asp后门的权限配置界面,不给该文件的访问、执行权限时,网页访问不了,哥斯拉也连接不上。
文件权限应当适当配置,合理授权,授权过大容易被远控,授权过小则影响服务质量

5、知道数据库存储数据站库分离
如果网站搭建时,数据库和程序源码放在同一台主机上,属于不分离;若数据库和程序源码分别放在两台不同主机上,就属于站库分离
6、知道中间件配置影响后续手法
7、知道常规真实Web搭建解析流程
8、思考为什么要学习掌握这些东西
笔者注
DNS解析至服务器后,服务器中间件的处理
域名解析记录中,子域名填写‘@’表示随机
DNS解析过程:在DNS服务商处添加解析记录,只能使数据包定位至某个IP主机,IP主机如何得知该数据包需要访问哪个目录?
这与中间件的配置有关,中间件将访问请求进行处理,将该请求移交给具体某个服务,以下是一个Nginx配置文件的解读
1 | server |
为何有些网站访问jsp是下载,有些网站访问jsp是执行解析网页
这和站点中间件上对MIME的处理类型相关,如下图所示,将服务端的.png文件解析为image/png类型即图片
