『Web安全』入门级实战教程——Web基础(一)
『Web安全』入门级实战教程——Web基础一这是一个为开发、运维及安全从业者构建的系统的拆解Web安全的关键领域。内容涵盖 “原理深入-实战驱动-体系构建”为你提供一条清晰的进阶路径。使你在面任何新型漏洞时迅速定位问题理解漏洞本质形成有效的防御思路。Web基础基础概念Web App(或Web应用程序)是运行于网络和标准浏览器上基于网页技术开发实现特定功能的应用。前端:HTML,CSS,JavaScript后端:Java,Python, PHP数据库:MySQL,Oracle,MongoDB容器:Windows(llS),Linux(Nginx, Apache)协议:TCP, DNS, HTTP, HTTPS步骤解析站在用户角度输入一个地址后浏览器就会呈现一个网页深入原理分析后我们会发现底层执行的逻辑顺序(1) 当客户输入URL时DNS会解析URL得出IP地址然后根据IP地址找出对应服务器。(2) 客户机通过TCP/IP协议建立到Web服务器的TCP链接(3) 客户机向Web服务器发送HTTP请求报文请求服务器里资源的资源文档(4) Web服务器接收到客户机的HTTP请求报文然后向客户机发出HTTP响应报文(5) 接下来会进入请求种类的问题服务器在处理三种请求时其行为各不相同①HTML文档web服务器会将对应目录下相应的HTML文档打开然后将文档的响应内容发送给客户机。②PHP文件web服务器自身是不能处理PHP动态语言脚本文件的然后就会寻找并委托PHP应用服务器PHP应用服务器会将Web服务器请求的PHP文件解析成HTML静态代码然后将HTML静态代码发送给Web服务器最后Web服务器会将HTML静态代码发送客户机。③访问数据库则Web服务器会通过PHP应用服务器去访问数据库。(6) 最后针对收到内容进行解析以及进一步的渲染(7) 完成了整个访问流程之后会与服务器断开连接常见的Web服务器(1)Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行由于其跨平台和安全性被广泛使用是最流行的Web服务器软件之一。(2)Nginx是一个网页服务器能反向代理HTTP, HTTPS,SMTP,POP3,IMAP的协议链接以及一个负载均衡器和一个HTTP缓存。Nginx是一款面向性能设计的HTTP服务器相较于Apache、lighttpd具有占有内存少稳定性高等优势。(3)IISInternetInformationServer是微软公司主推的服务器。(4)Lighttpd是德国人领导的开源Web服务器软件具有极低的内存开销、CPU占用率低、效能好以及丰富的模块等特点。(5)Tomcat是Apache软件基金会的Jakarta项目中的核心项目Tomcat技术先进、性能稳定且免费因而深受Java爱好者的喜爱成为目前比较主流的Web应用服务器。案例一个最简单的啊web服务器功能是如何实现的使用语言为Python定义handle Request这个函数职能是接收客户端发现服务器的请求同时打印这个请求,进一步返回”hello world”的内容用HTTP协议封装成一个包后返回给客户端整个请求处理函数非常简单,通过浏览器来访问实际运行起来我们的访问直接被解析成了hello worldHTTP Server也接收到了正常的HTTP请求报文并返回了正常内容。区别于不同的浏览器访问Web Server时所产生的区别以上测试过程使用chrome浏览器应用框架Web应用框架(Web application framework)是一种开发框架用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架有助于减轻网页开发时共通性活动的工作负荷例如许多框架提供数据库访问接口、标准样板以及会话管理等可提升代码的可再用性目前市场上的框架很多这里根据前端和后端分类给大家简单的罗列几个框架前端后端Django框架Django是一个开放源代码的Web应用框架****由Python写成。采用了MTV的框架模式模型M(Model)视图V(View)模版T(Template)最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的即CMS(内容管理系统)软件于2005年7月在BSD许可证下发布。我们这次就使用Django框架来搭建一个简单的网站。首先需要我们安装一下Django的环境安装Django环境Python3.7 -m pip install django这里我们通过pip install的命令来安装Django。然后我们创建第一个项目Django-admin startproject mysite创建的命令通过Django内置命令Django admin的方式来实现。创建好的项目的目录结构分为四层①Manage.pyDjango为我们提供的一个用于管理本项目的命令行工具 在mysite文件夹下还有四个Python的源码文件**②******init\_.py**** 一个普通的包初始化模块③settings.pyDjango项目的配置文件,本项目引用的组件项目名数据库配置时间、语言静态文件访问地址和存储路径.④wsgi.py Web Server gateway interface接口信息用于服务器部署建好后我们可以简单运行看看实际的运行效果这里通过Manage.py来从命令行执行这里绑定的时本地8000端口刷新后可以看到项目已经成功运行现在我们新增一个APP和页面,通过Django-admin startapp命令创建我们的第一个app这里已经成功创建了第一个app它的名称是接下来需要我们修改配置文件配置文件在这个项目的mysite文件夹下面的settings我们挨个看一下需要修改的点① INSTALLED-APP是为了让他能索引到我们新增的应用② TEMPLATES是使它能索引到后面即将加入本项目的前端页面文件③ ALLOWED-HOSTS是使它能被其他外界的IP地址访问修改完毕后需要我们添加执行层代码以及URL的映射关系执行层代码进入我们第一个创建的应用firstapp它的执行代码文件views.py我们定义第一个函数为firsthtml这个函数的职能是直接渲染并且返回我们定义静态文件index.html修改urls.py使它能将用户的URL访问地址,链接到我们的执行代码urls.py的位置是在我们项目文件夹下的定义地址为hello world执行的代码是views.里面,我们刚刚所定义的函数firsthtml注意这里需引入views否则无法找到下一步创建templates文件夹用于存放index.html的内容创建成功后我们看看目前的效果通过地址访问目前我们已经成功定义了我们的地址并成功执行了执行层代码服务器向我们返回了hello这就是我们刚刚所定义的代码下一步我们将初始化数据库并创建我们的超级管理员账号执行的命令是通过manage.py进行createsuperuser创建完成后重新启动服务器然后访问管理后台用我们刚刚创建的超级管理员账户进行登录大部分的外部框架都会给我们提供一个管理后台进行内容和整个网站用户的管理。未完待续下一部分我们将详细展现HTTP的运行流程、请求方式、操作案例以及Web安全所运用的工具和插件。学习资源如果你也是零基础想转行网络安全却苦于没系统学习路径、不懂核心攻防技能光靠盲目摸索不仅浪费时间还消磨自己信心。这份 360 智榜样学习中心独家出版《网络攻防知识库》专为转行党量身打造01内容涵盖这份资料专门为零基础转行设计19 大核心模块从 Linux系统、Python 基础、HTTP协议等地基知识到 Web 渗透、代码审计、CTF 实战层层递进攻防结合的讲解方式让新手轻松上手真实实战案例 落地脚本直接对标企业岗位需求帮你快速搭建转行核心技能体系这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 *安全链接放心点击02 知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。03 谁需要掌握本知识库负责企业整体安全策略与建设的CISO/安全总监从事渗透测试、红队行动的安全研究员/渗透测试工程师负责安全监控、威胁分析、应急响应的蓝队工程师/SOC分析师设计开发安全产品、自动化工具的安全开发工程师对网络攻防技术有浓厚兴趣的高校信息安全专业师生04部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 ***安全链接放心点击**
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2561384.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!