安全见闻(2)
免责声明:
学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
Web程序
软件程序代码
软件程序是一种计算机程序,用于计算机计算和其他可编程设备。其实就是我们常说的代码,不论是什么软件程序都是由代码组成的,以后我们会见到很多类型的软件程序,比如网页设计,网站开发,软件开发,软件工程,其实本质都是代码,不需要去刻意区分;以后很多的专业名词都是这样的,其实就是代码,只不过这些代码是完成特定功能的罢了,例如鉴权中间件,跨域中间件,其本质就是iis 那些中间件,明白本质才不会被名词所混淆。程序就是告诉计算机我们要做什么。
越简单的编程语言越高效,哪个编程语言更便捷方便就用哪个,因为本质都是命令计算机去做某些事,选择合适的语言避免复杂化。
Web通常构成
前端--后端--数据库--服务器 ,前端url请求到后端执行,后端根据请求类型调用数据库,数据库存在服务器上,后端通过服务器访问数据库,最后后端处理完请求将数据返回前端。
Web语言
- HTML:存在点击劫持漏洞,攻击者通过在一个透明的框架(iframe)中嵌入用户不知情的页面,从而诱使用户点击该页面上的按钮或链接。这种方式可以使攻击者获取用户的敏感信息或进行未经授权的操作。
- CSS:层叠样式表,本身作为一种样式描述语言,不直接处理数据或逻辑,因此不易成为漏洞的直接来源。然而,CSS可以与HTML和JavaScript结合使用,进而导致一些安全问题。容易和XSS(Cross-Site Scripting)跨站脚本攻击搞混。
- JavaScript:常见漏洞:xss dom型 反射型 存储型 点击劫持,请求走私作为常用的web编程语言存在许多漏洞
XSS:跨站脚本攻击,分为dom型,反射型,存储型。
CSRF:跨站请求伪造,通过伪造用户的请求来对用户进行攻击,利用用户的身份执行不当操作。
代码注入:攻击者将恶意代码注入到执行环境中,导致执行未授权的操作。
请求走私:可以导致服务器解析请求时出现混淆,从而执行恶意代码。
代码库
代码库是一组已编写好的函数或数据结构,它们可供开发人员使用,以便更快、更高效地开发软件。python之所以好用是因为自带了许多的库。
常见的代码库:
JQuery:简化了HTML文档的遍历和操作、事件处理、动画和Ajax交互,提供了一种简洁的API,使得DOM操作更简单,并且兼容各种浏览器。
BOOtstrap:是一个响应式前端框架,用于开发现代化的网页和Web应用,提供了一套预定义的CSS样式和JavaScript组件(如导航条、按钮、模态框等),帮助开发者快速构建布局和样式。
Element UI:是一个为Vue.js框架设计的组件库,提供了一整套精美的UI组件。
框架
框架(Framework)是一种预定义的结构或工具集,提供了一种组织和构建应用程序的方式。
例如.vue/.react/.angular,所有框架都基于html,css,javascript编写,框架有很多,单纯从编程语言去分析漏洞会很耗时间,可以通过框架去分析。
前端潜在漏洞
信息泄露,xss,csrf,点击劫持,访问控制,web缓存漏洞,跨域漏洞,请求走私
后端潜在漏洞
信息泄露,xss,csrf,ssrf,反序列化漏洞,sql注入漏洞,命令注入漏洞,服务端模板注入,跨域漏洞,访问控制
编程语言
php, java, python, golang(go语言),c/c++ , lua(一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放) ,nodejs(js服务端开发) ,ruby(一种面向对象的脚本语言)
后端语言是用于开发服务器端应用程序的编程语言,比如php 就会有反序列化漏洞,sql注入漏洞,命令注入漏洞等问题,所以要想搞明白这些漏洞必须学好一门后端语言。
数据库
数据库存在sql注入,xss,命令注入等漏洞
数据库分为两大类
- 关系型数据库:使用表格(表)来组织数据,数据以行和列的形式存储。表与表之间可以通过外键建立关系。例如 mysql,sqlsever,access,postgresql
- 非关系型数据库:不使用传统的表格结构,通常用于存储非结构化或半结构化的数据。它们可以是文档存储、键值存储、列族存储或图形数据库等类型。 例如 mongodb,couchdb,neo4j,redis
服务器程序
标签:Web,请求,编程语言,漏洞,代码,安全,见闻,数据库 From: https://www.cnblogs.com/oo-yaoyao/p/18565014潜在漏洞:信息泄露,文件上传漏洞,文件解析漏洞,目录遍历,访问控制等
常见服务器程序
- apache:可以运行在几乎所有广泛使用的计算机平台上,是世界使用排名第一的Web服务器软件。
- nginx:是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
- iis:是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。
- tengine:是由淘宝网发起的Web服务器项目。
- tomcat:是Apache 软件基金会的Jakarta 项目中的一个核心项目。
- weblogic:是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件。