h5做网站用什么框架,淮北论坛招聘求职,做标书的视频网站,网页设计及讲解多少钱【文末送书】今天推荐一本网络安全领域优质书籍。 目录 正文实战案例1#xff1a;使用Docker搭建LAMP环境实战案例2#xff1a;使用Docker搭建LAMP环境文末送书 正文
学习Web安全离不开Web#xff0c;那么#xff0c;需要先来学习网站的搭建。搭建网站是每一个Web安全学习…【文末送书】今天推荐一本网络安全领域优质书籍。 目录 正文实战案例1使用Docker搭建LAMP环境实战案例2使用Docker搭建LAMP环境文末送书 正文
学习Web安全离不开Web那么需要先来学习网站的搭建。搭建网站是每一个Web安全学习者的必经之路。因为Web安全研究的主体就是网站。这一点包括了以下几个方面。
1研究不同的网站环境是否存在漏洞
这又包括了以下三个方面。
1研究网站搭建使用的相关软件、中间件、数据库、其他服务是否存在通用的漏洞。
2研究网站在运维阶段所下发和修改的配置是否会引起新的漏洞。
3研究网站所在环境中的边界安全是否具有抵御攻击的能力包括在网络环境中部署网络安全防护设备及监控设备在主机层面加装安全产品和监控软件。部署哪些防护和监控产品如何整体架构这是每一个企业的安全管理者需要学习的一个课题。
2研究不同的网站实现的代码是否存在漏洞
网站代码在开发过程中是否存在一些通用的编码缺陷如果存在可能会造成SQL注入漏洞、XSS漏洞等。除此以外在部分功能的设计上是否存在逻辑漏洞该内容会在逻辑漏洞章节中详细讨论。
3研究网站的用户访问网站过程中是否会受攻击
而这一点是研究网站的用户研究主体看似不再是网站而是人但实际上还是围绕网站来展开的。人都会有弱点比如众所周知的弱口令问题就是来源于人性的惰性。还有关于人眼视觉上的欺骗这一点会在ClickJacking漏洞一节中为大家呈现。 以上三点的研究共同构成了Web安全研究的主要内容它们都统一于“建设更安全的互联网保护网站经营者以及网民合法利益不受侵犯”这一中心思想的内涵之上。 既然网站对于Web安全如此之重要所以很有必要学习一个网站的搭建。接下来就以LAMP为例来进行网站搭建的介绍。
LAMP是指“LinuxApacheMySQLPHP”。这是过去比较经典的网络架构即把Apache、MySQL以及PHP安装在Linux系统上组成一个环境来运行PHP的脚本语言所解释的一个网站服务。PHP、ASP、JSP三者是早期网站流行架构中最常用的脚本语言在这之前还有C/C、VBScript等。在Web技术飞速发展的今天也产生了很多新的脚本语言如NodeJS、Python、Lua、Ruby、GoLang等LAMP技术使用的是PHP语言。Apache是最常用的开源Web服务软件之一。MySQL是较为流行的数据库软件早期开源目前已被Oracle收购。
LAMP的整体架构如图1所示。 可以使用Docker其Logo如图2所示来快速构建一个LAMP架构的Web环境。本文相关的实验大部分来自于Vulhub平台。由于Vulhub平台是基于Docker的所以需要先来学习和了解一下如何使用Docker快速搭建实验环境。
Docker是一个开源的应用容器引擎基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中然后发布到任何流行的 Linux 机器上也可以实现虚拟化。容器是完全使用沙箱机制相互之间不会有任何接口类似 iPhone 的App更重要的是容器性能开销极低。 安装好Docker以后可以使用“docker -v”查看版本如果能够成功打印出Docker版本信息说明安装成功。
实战案例1使用Docker搭建LAMP环境
难度系数★ LAMP可以快速搭建起一个测试网站。如果不使用Docker构建就需要分别安装这些软件并且还需要配置它们过程非常枯燥且容易出错不过笔者这里还是建议大家在学习完本书内容以后尝试不使用Docker或XAMPP等集成化平台自己手动搭建LAMP在解决错误中不断学习和提高。 Docker 本身是不能直接用来提供测试环境的书中大部分的实验环境放在容器里所以需要先拉取镜像。先使用“docker pull 镜像名称”命令如果不清楚镜像名称可以使用“docker search 关键词”进行检索。 在命令行直接输入以下命令。
docker pull linode/lamp该命令的作用是在Docker中直接拉取一个现成的LAMP镜像如图3所示。 如果搭建下载出现时间缓慢的情况可以参照网上的方法切换Docker镜像源。等待一段时间后拉取完成了。开始执行下面的命令。
docker run -it -p 8001:80 linode/lamp /bin/bash
以linode/lamp镜像创建容器实例并且将容器的80端口映射到本机的8001端口或其他任何未被占用的端口。执行成功后已经进入Docker容器中。 分别执行“service apache2 start”和“service mysql start”命令启动服务如图所示。 打开浏览器访问 http://127.0.0.1:8001127.0.0.1 和localhost都代指本机如图所示。 实战案例2使用Docker搭建LAMP环境
难度系数★ Docker Compose 是用于定义和运行多容器应用程序的工具。通过Docker Compose可以使用YAML文件来配置应用程序需要的所有服务。然后使用一个命令就可以从YAML文件配置中创建并启动所有服务。 Docker Compose 使用的三个步骤如下。 1使用Dockerfile 定义应用程序的环境。 2使用docker-compose.yml定义构成应用程序的服务这样它们可以在隔离环境中一起运行。 3最后执行“docker-compose up”命令来启动并运行整个应用程序。 macOS和Windows的Docker已经包括了Docker Compose和其他Docker应用程序不需要再次安装。对于Linux 系统可以使用下面的命令来安装Docker Compose。
sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/ docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose使用“docker-compose -v”命令进行验证如果显示出docker-compose版本号说明安装成功了。 使用Docker Compose搭建实验环境十分简单在后续大部分的实验中只给出实验环境的docker-compose.yml文件而大家只需要新建文件夹然后将docker-compose.yml文件放在该目录中进入该目录执行“docker-compose up -d”命令即可构建并启动实验环境。“-d”参数表示后台运行可根据需要填写。 下面用Docker Compose 搭建一个漏洞的实验环境相关环境请读者参考本书配套的电子资源。这是一个Apache Flink上传目录穿越漏洞(CVE-2020-17518)该实验环境来自于Vulhub该漏洞的原理会在后续章节进行介绍。以下是搭建漏洞环境的docker-compose.yml文件。
version: 2
services:flink:image: vulhub/flink:1.11.2command: jobmanagerports:- 8081:8081- 6123:6123文件保存好以后进入所在目录执行“docker-compose up -d”命令后可以看到Docker在拉取镜像文件如图所示。 需要等待一段时间当出现“OK”字样时说明已经下载好了。 由于将容器内的端口已经映射到了本机通过阅读YAML文件映射的是8081和6123两个端口。其中8081端口为Web服务可以在浏览器访问http://127.0.0.1:8081如果看到图所示页面说明实验环境已经搭建成功了。 以上内容截取自《Web漏洞解析与攻防实战》
作者王放 龚潇 王子航 等 由信息安全领域专家团队编写的《Web漏洞解析御与攻防实战》以漏洞为小节每一种漏洞类型就是一个独立的单元。每一个单元都包含漏洞的原理、漏洞背后的技术细节、漏洞利用技术、攻防对抗技术、漏洞防御和实战练习等内容。 整体划分上参考漏洞出现的时间顺序这样的分类顺序主要是依据漏洞出现的时间点来区分的。
传统后端漏洞出现时间大致在19982008年
前端漏洞出现时间在20052015年
新后端漏洞出现时间在2014年以后至今2022年12月
逻辑漏洞与前三种漏洞类型均不同它是一类独特的与业务逻辑紧密相关的漏洞故将其独立划分出来。 本书整体上是根据漏洞出现的时间线来划分的。这是因为漏洞是攻防较量的核心所在漏洞攻击技术是随着时间不断演化升级的这样的时间顺序由浅入深可以让读者在学习和理解这些漏洞时循序渐进。
作者认为传统后端漏洞的代表是SQL注入漏洞前端漏洞的代表是XSS漏洞新后端漏洞的代表是反序列化漏洞尤其是Java反序列化漏洞。因此这三类漏洞在每一章的开篇部分进行介绍并且篇幅要比其他漏洞更多一些。读者可以将其作为重点内容进行学习和理解这三类漏洞也是当今Web安全爱好者入门必知必会的漏洞。
文末送书
本次活动赠书一本参与方式三连文章评论区随机抽取中奖粉丝公布方式及日期2023.12.27于私信及评论区。