OWASP(Open Web Application Security Project 开放式Web应用程序安全项目)

开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息.其目的是协助个人、企业和机构来发现和使用可信赖软件.

SSL(Secure Sockets Layer 安全套接层)

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与SSL在传输层对网络连接进行加密

HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer 超文本传输安全协议)

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL. 它是一个URI scheme(抽象标识符体系),句法类同http:体系.用于安全的HTTP数据传输.https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间).这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法.现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面

FireWall(防火墙)

别名防护墙,于1993发明并引入国际互联网.

他是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过.在网络中,所谓的防火墙是指一种将内网和外网分开的方法,他实际上是一种隔离技术

防火墙对流经它的网络通信进行扫描, 这样就能够过滤掉一些攻击,以免其在目标计算机上执行.

通常的防火墙主要工作第二到第四层,重心是在网络层,用于过滤IP和协议类型.

WAF(Web Application Firewall Web应用防火墙)

Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略还专门为Web应用提供保护的一款产品

与传统防火钱不同,WAF工作在应用层

IDS(Intrusion Detection System 入侵检测系统)

依照一定的安全策略,通过软件、硬件、对网络、系统的运行状况进行监视尽可能的发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性

入侵检测检测可分为实时入侵检测和事后入侵检测

IPS(Intrusion Prevention System 入侵预防系统)

IPS是对防病毒软件和防火墙的补充,入侵预防系统是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为

SDL(Security Development Lifecycle 安全生命开发周期)

安全开发生命周期(SDL)即Security Development Lifecycle,是一个帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程. 自2004年起,微软将SDL作为全公司的计划和强制政策,SDL的核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护.从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度.安全开发生命周期 (SDL)是侧重于软件开发的安全保证过程,旨在开发出安全的软件应用

XSS(Cross Site Scripting 跨站脚本攻击)

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的

XXE(XML External Entity (Injection) XML外部实体注入)

XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进⾏行处理时引发的安全问题

CSRF(Cross-site Request Forgery 跨域请求伪造)

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用.尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户的请求来利用受信任的网站.与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性

LFI/RFI(Local/Remote File Inclusion 远程/本地文件包含)

文件包含漏洞是PHP中一种典型的高危漏洞.由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件,成功利用时可以使web server会将特定文件当成php执行,从而导致用户可获取一定的服务器权限

RCE(Remote code execution 远程代码执行)

远程执行代码漏洞会使得攻击者在用户运行应用程序时执行恶意程序,并控制这个受影响的系统.攻击者一旦访问该系统后,它会试图提升其权限

SOP(Same Origin Policy 同源策略)

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现

CSP(Content Security Policy内容安全策略)

CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单.它的实现和执行全部由浏览器完成,开发者只需提供配置.

CSP 大大增强了网页的安全性.攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机.

Content-Security-Policy: script-src 'self'; object-src 'none';
style-src cdn.example.org third-party.org; child-src https:

两种方法可以启用 CSP.一种是通过 HTTP 头信息的Content-Security-Policy的字段.

另一种是通过网页的标签.

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; child-src https:">

上面代码中,CSP 做了如下配置

脚本:只信任当前域名
<object>标签:不信任任何URL,即不加载任何资源
样式表:只信任cdn.example.org和third-party.org
框架(frame):必须使用HTTPS协议加载
其他资源:没有限制

CORS(Cross-Origin resource Sharing 跨域资源共享)

跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,确保安全的跨域数据传输.现代浏览器使用CORS在API容器如XMLHttpRequest来减少HTTP请求的风险来源.与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他
Access-Control-Allow-Methods: POST, GET, OPTIONS

ACL(Access Control List 访问控制列表)

访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包.ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等

UDF(User Defined Function 用户自定义函数)

即用户自定义函数.常见于UDF提权.UDF是指通过添加新函数,对MySQL的功能进行扩充,其实就像使用本地MySQL函数如 user() 或 concat() 假设我的UDF文件名为 udf.dll,存放在MySQL安装目录的 lib/plugin 目录下.在UDF中,我定义了名为 sys_eval 的mysql函数,该函数可以执行系统任意命令.如果我现在就打开MySQL命令行,使用 select sys_eval(‘dir‘);的话,系统会返回sys_eval()函数未定义.因为我们仅仅是把 udf.dll 放到了某个文件夹里,并没有引入

CTF(Capture The Flag 夺旗赛)

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式.CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式.发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事.而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯”

MISC(Miscellaneous 杂项)

MISC,中文即杂项,包括隐写,数据还原,脑洞、社会工程、与信息安全相关的大数据等
竞赛过程中解MISC时会涉及到各种脑洞,各种花式技巧,主要考察选手的快速理解、学习能力以及日常知识积累的广度、深度

RDP(Remote Desktop Protocol 远程桌面协议)

远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”).大部分的Windows都有客户端所需软件.其他操作系统也有这些客户端软件,例如Linux、FreeBSD、Mac OS X.服务端电脑方面,则听取送到TCP3389端口的数据

NTP(Network Time Protocol 网络时间协议)

网络时间协议(NTP)是一种通过因特网服务于计算机时钟的同步时间协议.它提供了一种同步时间机制,能在庞大而复杂多样因特网中用光速调整时间分配.它使用的是可返回时间设计方案,其特点是:时间服务器是一种分布式子网,能自我组织操作、分层管理配置,经过有线或无线方式同步逻辑时钟达到国家标准时间.此外,通过本地路由选择运算法则及时间后台程序,服务器可以重新分配标准时间

NTP 的设计带来了三种产品 — 时钟偏移、时间延迟及差量,所有这三种与指定参考时钟都是相关联的.时钟偏移表示调整本地时钟与参考时钟相一致而产生的偏差数;时间延迟表示在指定时间内发送消息与参考时钟间的延时时间;差量表示了相对于参考时钟本地时钟的最大偏差错误.因为大多数主机时间服务器通过其它对等时间服务器达到同步,所以这三种产品中的每一种都有两个组成部分:其一是由对等决定的部分,这部分是相对于原始标准时间的参考来源而言;其二是由主机衡量的部分,这部分是相对于对等而言.每一部分在协议中都是独立维持的,从而可以使错误控制和子网本身的管理操作变得容易.它们不仅提供了偏移和延迟的精密测量,而且提供了明确的最大错误范围,这样用户接口不但可以决定时间,而且可以决定时间的准确度

NTP 源于时间协议和 ICMP 时间标志消息,但其设计更强调精确度和充足性两个方面,即使是用于网络路径上包括多路网关、延迟差量及不可靠网络.当前使用的最新版是 NTPv3,它與以前的版本兼容

DOS/DDOS(Denial of Service/ Distributed Denial of Service 拒绝服务/分布式拒绝服务)

DoS, Denial of Service, 拒绝服务,一种常用来使服务器或网络瘫痪的网络攻击手段.
DDoS, Distributed Denial of Service, 分布式拒绝服务攻击,亦称作洪水攻击.

顾名思义,即是利用网络上已被攻陷的电脑作为“僵尸”,向某一特定的目标电脑发动密集式的“拒绝服务”要求,用以把目标电脑的网络资源及系统资源耗尽,使之无法向真正正常请求的用户提供服务.黑客通过将一个个“丧尸”或者称为“肉鸡”组成僵尸网络(即Botnet),就可以发动大规模DDoS或SYN洪水网络攻击,或者将“丧尸”们组到一起进行带有利益的刷网站流量、Email垃圾邮件群发,瘫痪预定目标,使雇主达到攻击竞争对手为目的的商业活动等.

MD5(Message-Digest Algorithm MD5消息摘要算法第五版)

MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致.MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法

PWN(砰)

”Pwn”是一个黑客语法的俚语词,是指攻破设备或者系统.发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵了.

ASLR(Address space layout randomization 地址空间配置随机加载)

aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术

ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的.据研究表明ASLR可以有效的降低缓冲区溢出攻击的成功率,如今Linux、FreeBSD、Windows等主流操作系统都已采用了该技术

在学术研究上,已经有不少工作对其进行改进.比如进行运行时动态细粒度的随机化(参见论文 Remix: On-demand Live Randomization)

Canary(Canary 金丝雀/栈保护)

栈溢出检查,用Canary金丝雀值是否变化来检测,Canary found表示开启

金丝雀最早指的是矿工曾利用金丝雀来确认是否有气体泄漏,如果金丝雀因为气体泄漏而中毒死亡,可以给矿工预警.这里是一种缓冲区溢出攻击缓解手段:启用栈保护后,函数开始执行的时候会先往栈里插入cookie信息,当函数真正返回的时候会验证cookie信息是否合法,如果不合法就停止程序运行.攻击者在覆盖返回地址的时候往往也会将cookie信息给覆盖掉,导致栈保护检查失败而阻止shellcode的执行.在Linux将cookie信息称为Canary

FORTIFY(缓冲区溢出保护)

这个保护机制查了很久都没有个很好的汉语形容,根据我的理解它其实和栈保护都是gcc的新的为了增强保护的一种机制,防止缓冲区溢出攻击.由于并不是太常见,也没有太多的了解

RELRO(Relocation Read Only 重定向只读)

RELRO:在Linux系统安全领域数据可以写的存储区就会是攻击的目标,尤其是存储函数指针的区域,尽量减少可写的存储区域可使安全系数提高.GCC, GNU linker以及Glibc-dynamic linker一起配合实现了一种叫做relro的技术Relocation Read Only, 重定向只读,实现就是由linker指定binary的一块经过dynamic linker处理过 relocation之后的区域为只读

NX(No Execute 栈不可执行)

栈不可执行,也就是windows上的DEP.DEP的基本原理是将数据所在内存页标识为不可执行,当程序溢出成功转入shellcode时,程序会尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令.DEP的主要作用是阻止数据页(如默认的堆页、各种堆栈页以及内存池页)执行代码.硬件DEP需要CPU的支持,AMD和Intel都为此做了设计,AMD称之为No-Execute Page-Protection(NX),Intel称之为Execute Disable Bit(XD)

PIE(Position-Independent Executables 位置无关的可执行文件)

PIE: position-independent executables, 位置无关的可执行文件,也就是常说的ASLR(Address space layout randomization) 地址随机化,程序每次启动基址都随机

PIC(Position-Independent Code 位置无关代码)

共享库的一个主要目的是允许多个正在运行的进程共享内存中相同的库代码,节约内存资源.若是事先分配专用的地址空间片,要求加载器总是在这个地址加载,这样虽然简单,但对地址空间的使用效率不高,即使不用也要分配.除此之外难以管理,必须保证没有片会重叠,并且当库修改了之后必须确认已分配的片还适合它的大小,而修改之后更加难以管理,为了避免这些问题,现代操作系统引入了位置无关代码PIC(Position-Independent Code),使得可以把它们加载到内存的任何位置而无需链接器修改

RSA(Rivest-Shamir-Adleman)

RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用.RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA就是他们三人姓氏开头字母拼在一起组成的

1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相同的算法,但他的发现被列入机密,一直到1997年才被发表

对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠.假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降.但找到这样的算法的可能性是非常小的.今天只有短的RSA钥匙才可能被强力方式解破.到目前为止,世界上还没有任何可靠的攻击RSA算法的方式.只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的

1983年麻省理工学院在美国为RSA算法申请了专利.这个专利2000年9月21日失效.由于该算法在申请专利前就已经被发表了,在世界上大多数其它地区这个专利权不被承认

VNC(Virtual Network Console 虚拟网络控制台)

VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美. 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect.大多数情况下用户只需要其中的两个命令:vncserver 和 vncviewer

RSYNC(Remote Synchronize 远程数据同步工具)

Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快
Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试
此外,它在windows平台下也有相应的版本,如cwRsync和Sync2NAS等工具

DBMS(Database Management System 数据库管理系统)

数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS.它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性.用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作.它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库.大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注