![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机安全
云袖er
这个作者很懒,什么都没留下…
展开
-
传输层安全
TLS(Transport Layer Security)概述传输层安全协议是一种在两个通信程序之间提供安全通道的协议,该通道中的数据传输是加密的,数据的完整性也是被保护的。传输层安全协议提供的安全通道具有以下三个属性:保密性:除了通道两端以外,没有人可以看到通道内数据的实际内容。完整性:如果数据在传输过程中被他人篡改,通道应该能够检测到。身份验证:通常情况下,至少通道一端的身份需要被验证,这一端通常是服务端,如果没有正确的身份验证,中间人攻击将成为可能。TLS位于应用层和传输层之间,原创 2020-07-21 17:54:47 · 1556 阅读 · 0 评论 -
公钥基础设施
攻击公钥加密假设由Bob和Alice两个用户,他们之间想要通信,必须首先进行密钥交换:使用公钥密码,Alice只需要将她的公钥发给Bob,Bob可以生成一个密钥,并用Alice的公钥加密后发送给Alice,由于Alice是唯一可以解密的人,窃听这个通信的攻击者是无法获得密钥的。中间人攻击:假设Mallory是一个攻击者,她可以截获Alice与Bob之间的通信并实施攻击:Mallory实施攻击的过程如下:Mallory截获Alice发送的公钥,用自己的公钥代替Alice的公钥发送原创 2020-07-20 20:04:11 · 4321 阅读 · 0 评论 -
心脏滴血漏洞和攻击
心跳协议心脏滴血漏洞时OpenSSL的TLS/SSL拓展实现的一个缺陷,安全传输层协议为相互通信的应用程序提供了安全信道,在该信道内传输的数据是受保护的,OpenSSL这个开源项目为TLS/SSL提供了一个商业级的全功能工具包。TLS引入了一个叫作心跳的拓展协议,这个协议很简单,它让通信双方不时地发送心跳包给对方,这样操作系统和防火墙就知道信道是活跃的,不会终极它,发送方发出的心跳请求包内装有载荷,但载荷的内容并不重要,接收方构建一个心跳回复包,把它返回给发送放,回复包应该携带和请求包相同的载荷内容,原创 2020-07-20 10:39:34 · 2797 阅读 · 0 评论 -
针对域名系统的攻击
DNS层次结构、区域、服务器DNS层次结构域的根节点称为根域,用符号"."表示,下一层结构称为顶级域名(TLD),顶级域名是一个域名的末尾标签。再下一层的域名位二级域名,对于一般的顶级域名,这些二级域名通常被分配给指定的实体,例如公司、组织、学校或个人。对于国家代码顶级域名,它们的二级域名通常和一般的顶级域名意义相同,但仅限于相应国家,每个顶级域名的指定代理负责维护它注册数据库的二级域名。顶级域名的指定代理会通过注册商为公众提供注册服务,一旦一个终端用户通过注册商购买了一个域名,那么注册商和原创 2020-07-18 17:22:18 · 1101 阅读 · 0 评论 -
防火墙
介绍防火墙作为计算机系统或计算机网络的一部分,用于阻止未授权浏览从一个网络流向另一个网络。主要功能是过滤数据、更改数据的流向已经抵御网络攻击。防火墙应该满足以下需求:两个不同信任区域之间的一切流量都应该通过防火墙。仅允许安全策略授权许可的流量通过防火墙。防火墙本身应该对渗透攻击有较高的免疫力,这意味着它的操作系统必须是高度安全的。防火墙策略用户控制:基于用户角色来控制访问。服务控制:基于服务的类型来控制访问,实现主要基于网络地址、端口号和连接协议。方向控制:基于方向来控制访原创 2020-07-16 17:51:21 · 764 阅读 · 0 评论 -
对TCP协议的攻击
TCP是如何工作的TCP客户端程序首先编写一个简单的TCP客户端程序,它使用TCP发送一个简单的信息给服务器。#include <unistd.h>#include <stdio.h>#include <string.h>#include <sys/socket.h>#include <netinet/ip.h>#include <arpa/inet.h>int main(){ //1原创 2020-07-15 19:52:24 · 1382 阅读 · 0 评论 -
数据包的嗅探和伪造
数据包时如何被接收的设备通过网络接口卡接入网络,网卡是位于计算机和网络之间的物理或逻辑连接,每一个网卡有一个硬件地址,称作MAC地址。当数据包在传播介质中流动时,网络中的每个网卡都能听到所有的广播的数据帧,这些数据帧会被复制到网卡的内存中,网卡会检查数据帧头部的目的地址,如果目的地址与该网卡的MAC地址相匹配,那么该数据帧就会通过直接存储器访问的方式被复制到操作系统内核的缓存中。接着网卡会以中断的方式告诉CPU它接收到了新的数据,然后CPU会将它们全部缓冲中复制到一个队列中,以便为新数据包的到来腾出空原创 2020-07-14 17:11:17 · 1468 阅读 · 0 评论 -
SQL注入攻击
在网络应用程序中与数据库交互一个典型的应用程序包含三个主要部分:web浏览器、Web服务器以及数据库。浏览器运行在客户端,其主要功能是获取Web服务器的内容,并将其交给用户,与用户进行交互以及获取用户的输入。Web服务器负责生成并传输相应内容给浏览器,它通常依赖一个独立的数据库服务器进行数据管理。浏览器使用超文本传输协议(HTTP)与Web服务器交互,Web服务器则使用数据库语言与数据库交互。...原创 2020-07-12 16:04:38 · 1031 阅读 · 0 评论 -
跨站脚本攻击
跨站脚本攻击跨站脚本攻击是一种代码注入攻击,这种攻击通常涉及三个实体:攻击者、被攻击用户和目标网站。一般而言,攻击者必须找到将自己的恶意代码经由目标网站注入目标浏览器的方法,这类攻击被称为跨站脚本攻击。攻击者有两种典型的方法通过目标网站将它们的代码注入目标用户的浏览器中:一种称为反射型XSS,另一种称为存储型XSS。反射型XSS:许多网站都有反射行为,也就说它们从用户那里接受输入,执行一些操作,然后向用户发送响应网页,用户的输入也被包含在响应网页里。攻击者可以在输入中混入Javascrip原创 2020-07-11 17:23:22 · 1376 阅读 · 0 评论 -
脏牛竞态条件攻击
使用mmap()函数进行内存映射再Unix中,mmap()是一个将文件或设备映射到内存的POSIX兼容的系统调用,从被映射的内存读取数据实际是从文件读取数据。#include <sys/mman.h>#include <fcntl.h>#include <sys/stat.h>#include <string.h>int main(){ struct stat st; char content[20]; char* new_content原创 2020-07-10 12:20:08 · 379 阅读 · 0 评论 -
竞争条件漏洞
一个常见的竞争条件漏洞当一个程序的两个并发线程同时访问共享资源时,如果执行时间和顺序不同,会对结果产生影响,这时就称作发生了竞争条件。检查时间和使用时间:是软件中的一种特殊的竞争条件,它在使用资源前检查某一个条件是否满足时会发生,通常,在条件检查和实际资源使用之间存在一小段时间,检查过的条件如果在这段时间内发生变化,则建立在检查结果的使用授权就有安全问题。脏牛静态条件漏洞:它允许攻击者修改任何可读但不可写的文件,攻击者可以通过该漏洞获取root权限,该漏洞还影响了基于Linux内核的安全系统。熔断原创 2020-07-09 16:59:50 · 2340 阅读 · 0 评论 -
格式化字符串漏洞
可变参数多数函数只接受固定数目的参数,而printf可以接受任意数量的参数,printf()函数是通过一种特殊方式定义的,如下所示:int printf(const char* foamat,...);在参数列表中,函数可以先指定一个参数,后面跟着三个点…,这些点代表可变参数,也就说这些参数可以可无,也可以是多个。在C语言程序中,多数含有可变参数的函数都使用stdarg.h头文件中定义的宏stdarg来访问它们的可变参数:#include <stdio.h>#include原创 2020-07-09 09:24:53 · 787 阅读 · 0 评论 -
return-to-libc攻击
栈的主要目的用来存储数据,很少需要在栈中运行代码,因此,大多数程序不需要可执行的程序栈,在一些体系架构中(包括x86),可以在硬件程序面上将一段内存区域标记为不可执行。在Ubuntu系统中,如果使用gcc编译程序,可以让gcc生成一个特殊的二进制文件,这个二进制文件头部有一个比特位,表示是否将栈设置为不可执行,当程序被加载执行时,操作系统首先为程序分配内存,然后检查该比特位,如果它被置位,那么栈的内存区域将被标记为不可执行。#include <string.h>const char cod.原创 2020-07-07 14:15:24 · 2813 阅读 · 4 评论 -
缓冲区溢出攻击
程序的内存布局对于一个典型的C语言程序,它的内存由5个段组成,每一个段都有不同的用途:代码段:存放程序的可执行代码,这一段内存通常是只读的。数据段:存放程序员初始化的静态/全局变量。BSS段:存放未初始化的静态/全局变量。堆:用于动态内存分配,这一内存区由malloc()、calloc()、realloc()、free()等函数管理。栈:用于存放函数内定义的局部变量,或者和函数调用有关的数据,如返回地址和参数。观察下面这段代码:int x = 100;int main(){原创 2020-07-06 18:58:01 · 737 阅读 · 0 评论 -
Shellshock
shell函数在操作系统中,shell程序是一个命令解释器,他从终端窗口或控制台读取并执行命令,shell提供了用户和操作系统之间的接口。目前存在着许多种不同类型的shell,包括sh(Bourne shell)、bash(Bource-again shell)、csh(C shell)、zsh(Z shell)和Windows PowerShell等。Bash是Linux操作系统中最受欢迎的shell程序之一,Bash中的Shellshock漏洞与内部定义的函数有关,这些函数被称为shell函数。原创 2020-07-05 17:02:13 · 847 阅读 · 0 评论 -
计算机安全概念
一、计算机安全概念1.计算机安全:为自动化信息系统提供保护,以达到信息系统资源(包括硬件,软件,固件,数据,通信)的完整性,可用性和机密性。2.计算机安全的三个指标:1)机密性:保持对信息访问和披露的授权限制,包括对个人隐私和专有信息的保护措施,机密性缺失是指非授权的信息披露。2)完整性:防止对信息的不正当修改和破坏,包括保证信息的抗抵赖性和真实性,完整性缺失是指非授权的信息修改和破坏。...原创 2020-01-23 16:33:49 · 1326 阅读 · 0 评论