SEC学习2023版-0006-基础web篇-更迭
更迭警告:换视频资源
更迭警告:从这一期开始,将更改观看的视频资源为2022年版的
原因:
- 2022年版比较贴近当下,2018年版有点过时了
- 2022年版资源充足
虽然换来换去很是不好,但如果能更加贴合时代发展,就意味着能更好的适应社会。况且B站的资源是有残缺的,所以……
害,我的几千块呐……!拼了!
大前提 : 任何有点沾公网的操作都应该选择去网上查查,而不是直接在公网上手各种操作!
做事不谨慎,牢饭管到饱……
001-基础入门-蓝图
知识点
- Web常规-系统&中间件&数据库&源码等
- Web其他-前后端&软件&Docker&分配站等
- Web拓展-CDN&WAF&OSS&静态&负载均衡等
章节点
- 应用架构:Web/APP/云应用/三方服务/负载均衡等
- 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等
- 渗透命令:文件上传下载/端口服务/Shell反弹等
- 抓包技术:HTTP/TCP/UDP/ICMP/DNS/封包/代理等
- 算法加密:数据编码/密码算法/密码保护/反编译/加壳等
网站搭建
Web常规-系统+中间件+数据库+源码等
常规的Web应用搭建(真实网站的搭建)
原理:源码和数据库在同一个服务器上面。
子域名-端口站-目录站
Web其他-前后端+集成软件+Docker+分配站等
分配站
依托性网站:依靠 别人分配 的 空间 和 域名 的网站
安全测试点:针对分配站的域名进行测试。寻常情况安全系数高。分配站有些为公司所有。
集成软件式
继承一体化安装:一站式部署,简单便捷。
例如宝塔,phpstudy。
Docker:一种云容器。
Web拓展-CDN+WAF+OSS+静态+负载均衡等
站库分离:源码和数据库不在同一个服务器上。
- CDN : 节点分发,从主服务器当中缓存数据到CDN节点,方便访问。使用CDN会掩盖真实ip,如果可能的话使用某些方法获取CDN的解析记录获取真实IP地址的话……
- WAF : web防火墙
- OSS : 对象存储服务,管理内容,没有可执行权限。
- 静态: 不需要服务器处理,客户端直接访问。
- 负载均衡: 将请求负载平均分配到各服务器节点上。
原域名和子域名的理解
网站: www.baidu.com
原域名 : 云厂商获得,购买即指定,如: baidu.com。也称为一级域名(有些人习惯将其当中一个整体,所以称为一级域名)
子域名 : 子域名可以自己设置,例如“www.”,“tieba”。
网站的几种访问模式
子域名模式
各个子域名可以指定不同的运行程序。
例如:
- “www”指向zblog程序,完整访问写法就是:www.baidu.com
- “tieba”指向wordpress程序,完整的写法就是:tieba.baidu.com
两者处理起来相互之间不会有任何影响,两者是 互相分开,独立运行 的。( 域名扫描 )
端口模式
相同的域名,不一样的端口能访问出多个网站. ( 端口扫描 )
举个例子:
目录模式
访问方法:http://(域名/ip地址)/文件路径
这是wampserver常见到的类型。
1.IP地址的形式
下图是直接在浏览器使用localhost+路径直接访问网站源码的。
安全风险:可以通过切换到localhost访问根目录下所有的文件。
2.域名的形式
源码
源码结构
了解源码的结构有助于我们后续做测试。
- 数据库目录
- 后台目录
- 文件目录
源码类型
白盒测试 - 代码审计 - 源码
开源
概念 :网上免费公开的程序源码,安全系数低。
应用场景:自己搭建的博客源码,门户网站等。
分类 :
- 源码可见
- 源码不可见:
- 加密
- asp(少)/php(主流)/java(主流)
- 不影响本身的功能
- 源码以乱码展示
- 语言特性决定的
- Java文件运行时,从“.java”变为“.class”,文件内容会改变
- 意思是:下载下来的网站源码与它后台的网站源码不一样。
- 可下载,但内容不可见
- 加密
商业(闭源)
概念:
- 提供程序,不提供源代码。
- 公司团队自己做的一套程序。
- 不卖源代码卖服务,安全系数高。
大公司会使用自己的源码,避免因为开源程序被入侵等。
辨别开源与闭源有助于SRC的挖掘。
自用
自己开发自己用,不提供给别人。
路由访问控制
常规访问
URL和文件目录对应得上。
根据网站目录,访问该网站目录下某个文件路径的文件。文件在目录下,可以直接访问到。
访问的方式分为 绝对路径 和 相对路径 ,至于这两者的概念,不赘述。
路由访问
- URL和文件目录对应不上,要根据 配置路由 决定。
- mvc源码,java,python
- 文件在目录下,你却访问不到。
- 在特定的路由下触发特定的文件(后门)
访问控制(中间件)
下面两者都会限制安全测试,不能绕过,遇到就只能找其他办法/突破口。
权限控制
iis的Mime类型:设置文件的解析类型,使文件能正常的被解析为对应格式的文件进行展现。
举个例子:访问index.php出现的是对应的php页面而不是下载文件,就说明了“.php”文件能被正常解析。而出现直接下载php文件的情况,就是文件未被正常解析。
目录权限
脚本所在目录是否有脚本的执行权限。
例如:在某文件目录下有asp解析权限,那么该目录大概率可以插入一句话的asp木马。
身份认证
身份认证,是指访问网站时需要登录账户才能访问。
类似于那种弹出窗口,强制你登录后才能访问的那种网站。
数据库
数据库配置文件–可以使用Office自带的数据库软件打开
本地一致
数据库文件与源码文件存储在同一个源码文件夹下。
数据库文件一般为“***app.config”.
站库分离
数据库文件与源码文件互相分离。
实现方式:
- 云数据库应用
- 在特定专门用于存储数据库的平台存储数据。
- 安全系数高,防护好,可以控制ip/设备的访问,即便是账密泄露也无法被登录。
- 另一台云服务器的数据库
- 在服务器的基础上再搭建一个存储数据的数据库。
梗概
资产架构:
WEB单个源码指向安全
WEB多个目录源码安全
WEB多个端口源码安全
服务器架设多个站点安全
架设第三方插件接口安全
服务器架设多个应用安全
番外安全:
基于域名解析安全
基于服务器本身安全
基于服务商信息安全
基于管理个人的安全
考虑阻碍:
阻碍-站库分离
阻碍-CDN加速服务
阻碍-负载均衡服务
阻碍-WAF应用防火墙
阻碍-主机防护防火墙