广州智能建站模板大学生创意电子产品设计
广州智能建站模板,大学生创意电子产品设计,模板网站的好处,上门做网站公司哪家好一网打尽#xff01;成为黑客需要掌握哪些技术#xff0c;黑客技术学习攻略 上面这个段子估计很多朋友都看过#xff0c;程序员被黑过无数次#xff0c;在其他人眼中#xff0c;仿佛我们需要写得了木马#xff0c;翻得了围墙#xff0c;修得了电脑#xff0c;找得到资源…一网打尽成为黑客需要掌握哪些技术黑客技术学习攻略上面这个段子估计很多朋友都看过程序员被黑过无数次在其他人眼中仿佛我们需要写得了木马翻得了围墙修得了电脑找得到资源但凡是跟计算机沾点边的咱都得会才行。段子归段子言归正传对于咱们程序员来说多多少少了解一些信息安全的技术知识还是大有裨益的不仅能了解一些计算机和网络的底层原理也能反哺我们的开发工作带着安全思维编程减少漏洞的产生。本文内容- 网络安全 - SQL注入 - XSS攻击 - CSRF攻击 - DDoS攻击 - DNS劫持 - TCP劫持 - 端口扫描技术 - 系统安全 - 栈溢出攻击 - 整数溢出攻击 - 空指针攻击 - 释放后使用攻击 - HOOK - 权限提升 - 可信计算 - 密码学 - 对称加密 非对称加密 - 秘钥交换技术 - 信息摘要算法 - 数据编码技术 - 多因子认证技术信息安全大体可分为三个大的分支网络安全系统安全密码学下面轩辕君就这三个领域分别罗列一些常用的黑客技术部分技术是存在领域交叉的就将其划入主要那个类别里去了。网络安全SQL注入Web安全三板斧之首大名鼎鼎的SQL注入。SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等操作达到其邪恶的目的。而如何让Web服务器执行攻击者的SQL语句呢SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中提交到后端服务器后端服务器如果未做输入安全校验直接将变量取出进行数据库查询则极易中招。举例如下对于一个根据用户ID获取用户信息的接口后端的SQL语句一般是这样selectname,[...] from t_user whereid$id其中$id就是前端提交的用户id而如果前端的请求是这样GET xx/userinfo?id1%20or%2011其中请求参数id转义后就是1 or 11如果后端不做安全过滤直接提交数据库查询SQL语句就变成了selectname,[...] from t_user whereid1or11其结果是把用户表中的所有数据全部查出达到了黑客泄露数据的目的。以上只是一个极简单的示例在真实的SQL注入攻击中参数构造和SQL语句远比这复杂得多不过原理是一致的。防御手段对输入进行检测阻断带有SQL语句特征对输入重点关注前端工程师、Web后端工程师XSS攻击Web安全三板斧之二全称跨站脚本攻击Cross Site Scripting为了与重叠样式表CSS区分换了另一个缩写XSS。XSS攻击的核心是将可执行的前端脚本代码一般为JavaScript植入到网页中听起来比较拗口用大白话说就是攻击者想让你的浏览器执行他写的JS代码。那如何办到呢一般XSS分为两种反射型1、攻击者将JS代码作为请求参数放置URL中诱导用户点击 示例http://localhost:8080/test?namescriptalert(you are under attack!)/script2、用户点击后该JS作为请求参数传给Web服务器后端3、后端服务器没有检查过滤简单处理后放入网页正文中返回给浏览器4、浏览器解析返回的网页中招存储型上述方式攻击脚本直接经服务器转手后返回浏览器触发执行存储型与之的区别在于能够将攻击脚本入库存储在后面进行查询时再将攻击脚本渲染进网页返回给浏览器触发执行。常见的套路举例如下1、攻击者网页回帖帖子中包含JS脚本2、回帖提交服务器后存储至数据库3、其他网友查看帖子后台查询该帖子的回帖内容构建完整网页返回浏览器4、该网友浏览器渲染返回的网页中招防御手段前后端均需要做好内容检测过滤掉可执行脚本的侵入重点关注前端工程师、Web后端工程师CSRF攻击Web安全三板斧之三攻击示意图如下核心思想在于在打开A网站的情况下另开Tab页面打开恶意网站B此时在B页面的“唆使”下浏览器发起一个对网站A的HTTP请求。这个过程的危害在于2点1、这个HTTP请求不是用户主动意图而是B“唆使的”如果是一个危害较大的请求操作发邮件删数据等等那就麻烦了2、因为之前A网站已经打开了浏览器存有A下发的Cookie或其他用于身份认证的信息这一次被“唆使”的请求将会自动带上这些信息A网站后端分不清楚这是否是用户真实的意愿重点关注前端工程师、Web后端工程师DDoS攻击DDoS全称Distributed Denial of Service分布式拒绝服务攻击。是拒绝服务攻击的升级版。拒绝攻击服务顾名思义让服务不可用。常用于攻击对外提供服务的服务器像常见的Web服务邮件服务DNS服务即时通讯服务…在早期互联网技术还没有那么发达的时候发起DoS攻击是一件很容易的事情一台性能强劲的计算机写个程序多线程不断向服务器进行请求服务器应接不暇最终无法处理正常的请求对别的正常用户来说看上去网站貌似无法访问拒绝服务就是这么个意思。后来随着技术对发展现在的服务器早已不是一台服务器那么简单你访问一个www.baidu.com的域名背后是数不清的CDN节点数不清的Web服务器。这种情况下还想靠单台计算机去试图让一个网络服务满载无异于鸡蛋碰石头对方没趴下自己先趴下了。技术从来都是一柄双刃剑分布式技术既可以用来提供高可用的服务也能够被攻击方用来进行大规模杀伤性攻击。攻击者不再局限于单台计算机的攻击能力转而通过成规模的网络集群发起拒绝服务攻击。拒绝服务攻击实际上是一类技术根据具体实施手段的不同又可以进一步细分SYN FloodICMP FloodUDP Flood…防御手段即便是到现在面对DDoS也没有100%打包票的防御方法只能靠一些缓解技术一定层面上减轻攻击的威力。这些技术包括流量清洗、SYN Cookie等等。重点关注运维工程师、安全工程师DNS劫持当今互联网流量中以HTTPHTTPS为主的Web服务产生的流量占据了绝大部分。Web服务发展的如火如荼这背后离不开一个默默无闻的大功臣就是域名解析系统如果没有DNS我们上网需要记忆每个网站的IP地址而不是他们的域名这简直是灾难好在DNS默默在背后做了这一切我们只需要记住一个域名剩下的交给DNS来完成吧。也正是因为其重要性别有用心的人自然是不会放过它DNS劫持技术被发明了出来。DNS提供服务用来将域名转换成IP地址然而在早期协议的设计中并没有太多考虑其安全性对于查询方来说我去请求的真的是一个DNS服务器吗是不是别人冒充的查询的结果有没有被人篡改过这个IP真是这个网站的吗DNS协议中没有机制去保证能回答这些问题因此DNS劫持现象非常泛滥从用户在地址栏输入一个域名的那一刻起一路上的凶险防不胜防本地计算机中的木马修改hosts文件本地计算机中的木马修改DNS数据包中的应答网络中的节点如路由器修改DNS数据包中的应答网络中的节点如运营商修改DNS数据包中的应答…后来为了在客户端对收到对DNS应答进行校验出现了DNSSEC技术一定程度上可以解决上面的部分问题。但限于一些方面的原因这项技术并没有大规模用起来尤其在国内鲜有部署应用。再后来以阿里、腾讯等头部互联网厂商开始推出了httpDNS服务来了一招釜底抽薪虽然这项技术的名字中还有DNS三个字母但实现上和原来但DNS已经是天差地别通过这项技术让DNS变成了在http协议之上的一个应用服务。重点关注安全工程师、后端工程师、运维工程师TCP劫持TCP是TCP/IP协议族中非常重要的成员位于传输层。协议本身并没有对TCP传输的数据包进行身份验证所以我们只要知道一个TCP连接中的seq和ack后就可以很容易的伪造传输包假装任意一方与另一方进行通信我们将这一过程称为TCP会话劫持TCP Session HijackingTCP劫持技术是一种很老的技术1995年被提出来后深受黑客青睐。不过近些年来随着操作系统层面的安全机制增强和防火墙软件的检测能力提升这种基础的攻击方式越来越容易被发现慢慢的淡出了人们的视野。重点关注安全工程师、运维工程师端口扫描技术端口扫描是黑客经常使用的一种技术它一般是作为网络攻击的前期阶段用于探测目标开启了哪些服务以便接下来发起针对该服务的攻击。记得刚刚学习网络安全的时候大家总会没事拿出工具来扫一扫虽然扫了之后就没有了下文也总是乐此不疲在不懂的人面前秀一把自己的“黑客”能力。以TCPIP协议族构建的互联网网络服务总是离不开端口这个概念不管是TCP也好UDP也罢应用层都需要一个端口号来进行网络通信。而我们常见的服务端口有21: FTP文件传输服务25: SMTP邮件服务53: DNS域名解析系统服务80: HTTP超文本传输协议服务135: RPC远程过程调用服务443: HTTPS3389: MSRDP微软远程桌面连接服务…端口扫描都原理对于基于UDP的服务发送对应服务都请求包查看是否有应答对于基于TCP的服务尝试发起三次握手发送TCP SYN数据包查看是否有应答。如果远端服务器进行了响应则表明对端服务器上运行了对应的服务接下来则是进一步探知对端服务器使用的操作系统、运行的服务器程序类型、版本等等随即针对对应的漏洞程序发起网络攻击。由此可见为安全着想在互联网上应当尽可能少暴露信息关闭不需要的服务端口。防御手段使用防火墙等安全产品即时发现和阻断非法的扫描探测行为。重点关注运维工程师、安全工程师[为防抄袭手动插入文字水印敬请谅解。本文来自微信公众号编程技术宇宙]系统安全系统安全版块中的技术一般是指攻击发生在终端之上与操作系统息息相关。栈溢出攻击栈溢出攻击历史悠久也是发生在系统侧最基础的攻击。现代计算机基本上都是建立在冯诺伊曼体系之上而这一体系有一个最大的问题就是数据和指令都保存在存储器中。在计算机的内存中既包含了程序运行的所有代码指令又包含了程序运行的输入输出等各种数据并没有一种强制的机制将指令和数据区分。因为对于计算机来说它们都是一样的二进制0和1大部分时候都是靠程序按照既定的“规则”去解释理解内存中的这些0和1。而一旦这些“规则”理解错误事情就变得糟糕起来。具体到我们现代CPU和OS不管是x86x64处理器还是ARM处理器均采用了寄存器堆栈式的设计而这个堆栈中既包含了程序运行各个函数栈帧中的变量数据等信息还保存了函数调用产生的返回地址。所谓栈溢出攻击则是通过一些手段输入到栈中的缓冲区中冲破缓冲区原有的界限将存储返回地址的位置覆盖为一个数值使其指向攻击者提前布置的恶意代码位置劫持了程序的执行流程。防御手段现代操作系统针对栈溢出攻击已经有非常成熟的应对方案像Linux平台的Stack CanaryWindows平台的GS机制等等程序员需要做的就是充分利用这些机制。重点关注CC工程师整数溢出攻击和栈溢出攻击一样整数溢出攻击也是属于溢出类攻击不一样的是溢出的目标不是栈中的缓冲区而是一个整数。我们知道计算机数值以补码的方式表示和存储。在表示一个有符号数时最高位是用来表示这是一个正数0还是一个负数1比如对于一个16位的short变量而言1和1的表示方法如下1: 0000 0000 0000 0001 -1: 1111 1111 1111 1111一个16位的short变量表示的范围是-32768~32767现在思考一个问题假如一个short变量的值现在是3276732767: 0111 1111 1111 1111如果现在对其执行1操作将变成1000 0000 0000 0000而这正是-32768的补码形式试想一下如果这个变量名字叫length作为strcpy参数或是叫index作为数组的下标整数的溢出将导致可怕的后果轻则进程崩溃服务宕机重则远程代码执行拿下控制权。重点关注所有程序员空指针攻击空指针一般出现在指针没有初始化或者使用new进行对象创建/内存分配时失败了而粗心的程序员并没有检查指针是否为空而进行访问导致的攻击。大多数情况下这将导致内存地址访问异常程序会崩溃退出造成拒绝服务的现象而在一些特殊的情况下部分操作系统允许分配内存起始地址为0的内存页面而攻击者如果提前在该页面准备好攻击代码则可能出现执行恶意代码的风险。释放后使用攻击释放后使用Use After Free意为访问一个已经释放后的内存块。较多的出现在针对浏览器的JavaScript引擎的攻击中。正常情况下一个释放后的对象我们是没法再访问的但如果程序员粗心大意在delete对象后没有即时对指针设置为NULL在后续又继续使用该指针访问对象比如通过对象的虚函数表指针调用虚函数将出现内存访问异常。在上面的场景中如果攻击者在delete对象后马上又new一个同样内存大小的对象在现代操作系统的堆内存管理算法中会有很大概率将这个新的对象放置于刚刚被delete的对象的位置处。这个时候还通过原来对象的指针去访问将出现鸠占鹊巢出现可怕的后果。养成好的编程习惯对象delete后指针及时置空。重点关注CC工程师HOOKHOOK原意钩子的意思在计算机编程中时常用到用来改变原有程序执行流程。在那个互联网充斥着流氓软件的年代流行着一种键盘记录器的木马用于记录用户键盘的输入从而盗取密码这其中QQ曾经是重灾区。而实现这一功能的技术就是用到了HOOK技术钩到了键盘敲击的事件消息。除了消息HOOK用得更多的是程序执行流程层面的HOOK。恶意代码被注入目标程序后在函数入口处添加跳转指令导致执行到此处的线程转而执行攻击者的代码实现修改参数、过滤参数的目的。HOOK技术不仅为黑客使用安全软件用的更多安全软件需要守护整个系统的安全防线通过HOOK技术在各处敏感API处设立检查从而抵御非法调用攻击行为。另外软件补丁技术中也时常用到HOOK技术软件厂商发现原来程序漏洞后通过HOOK修改既有程序的执行逻辑从而达到修复漏洞的目的。重点关注CC工程师权限提升现代操作系统都对运行于其中的进程、线程提供了权限管理因为安全攻击无可避免而权限的限制作为一道颇为有效的屏障将程序被攻击后的影响减少到最小。换句话说即便我们的程序因为漏洞原因被攻击执行了恶意代码但因为操作系统的权限控制恶意代码能干的事情也有限。就像一枚硬币总有两个面有权限限制自然而然就有权限提升。攻击者想要做更多事情就得突破操作系统的限制获取更高的权限。在Windows上经常叫获得管理员权限。在Linux上经常叫获得Root权限手机Root也是这个意思。在iOS上经常叫“越狱”。权限提升的方式五花八门总体来说程序执行的时候所属进程线程拥有一个安全令牌用以标识其安全等级在访问资源和执行动作的时候由操作系统内核审核。权限提升的目标就是将这个安全令牌更改为高等级的令牌使其在后续访问敏感资源和执行敏感动作时凭借该令牌可以通过系统的安全审核。而更改这个安全令牌的惯用伎俩便是利用操作系统内核漏洞如前面所述的栈溢出、整数溢出、释放后使用等执行攻击者的代码实现安全令牌的篡改。重点关注安全工程师可信计算安全攻击无处不在不仅应用程序的环境不可靠甚至连操作系统内核的环境也充满了风险。如果一段程序比如支付必须在一个极度绝密的环境下执行该怎么办可信计算的概念被安全研究者提了出来根据百科的解释可信计算/可信用计算Trusted ComputingTC是一项由可信计算组可信计算集群前称为TCPA推动和开发的技术。可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台以提高系统整体的安全性 [1] 。签注密钥是一个2048位的RSA公共和私有密钥对它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里而公共密钥用来认证及加密发送到该芯片的敏感数据。可信计算中一个非常重要的概念是可信执行环境TEETrusted Execution Environment)简单来说就是在现有的计算机内部的世界里再构建一个秘密基地专门用于运行极度机密的程序。该秘密基地甚至连操作系统都轻易无法访问更别说操作系统之上的应用程序了。在移动端ARM芯片占据了主流市场ARM芯片提供了名为TrustZone技术的技术在硬件层面新增一个可信计算环境包含一个可信OS和一些可信APP和普通环境在硬件层面隔离处理器内部进行通信完成两个世界的交互。重点关注终端系统工程师密码学由于数据传输的过程中会遇到信息泄漏、篡改、伪造的风险加密技术应运而生。对称加密 非对称加密有加密就有解密根据加密过程使用的密钥和解密过程使用的密钥是否相同将加密算法分为了两个大类对称加密和非对称加密。最早出现的加密技术是对称加密对称加密加密密钥和解密密钥一致特点是加密速度快、加密效率高。常用的对称加密算法有DESAESRC4这种加密方式中有一个非常关键的问题是解密方需要拿到密钥才能进行解密而密钥钥匙通过网络传输又会面临不安全的风险这成了一个鸡生蛋蛋生鸡的问题。于是通信技术上一个划时代的技术被发明了出来这就是非对称加密非对称加密加密密钥与解密密钥不一致特点是算法较复杂但安全性高。非对称加密的密钥一般分为公钥和私钥公钥公开私钥需保密。常用于数字认证如HTTPS中握手阶段的服务器认证。常用的非对称加密算法有RSADHECC椭圆曲线加密可以毫不夸张的说没有了非对称加密互联网绝不会发展到今天这样的高度。秘钥交换技术在互联网通信中有加密就有解密解密自然就需要密钥那如何把这个密钥告诉对方呢密钥交换算法就是要解决这个问题如何安全的将密钥传输给对方回头看看上面提到的非对称加密它就可以解决这个问题服务器负责生成一对公私钥公钥告诉客户端私钥自己保存客户端拿到公钥后使用它来对后续通信将要使用的对称加密算法密钥进行加密传输服务端收到后使用私钥解密拿到这个密钥以后双方可以通过对称加密进行传输通信上面这个例子并不只是举例在早期版本的HTTPS中就是通过这种方式来进行密钥交换。而后来的版本中另外一种叫DH及其变种的密钥交换算法用的越来越多。DH全称Diffie-Hellman是两位数学家的名称构成这种算法的核心是完全依靠数学运算实现密钥的交换。信息摘要算法信息摘要算法其实不算是一种加密算法加密的前提是可以通过解密还原而信息摘要算法的目的并不是对数据进行保护也无法解密还原。在一些语境下信息摘要我们听得少听的更多的名词是哈希信息摘要算法的目的之一是校验数据的正确性算法公开数据通过该算法得出一个摘要值收到数据后通过该算法计算出这个摘要前后对比就知道是否有被篡改。常用的信息摘要算法有MD5SHA1SHA256数据编码技术严格来说数据编码技术也不算是加密算法因为其目的同样不是为了加密而只是为了将数据编码以便传输。最常见的编码算法就是base64了多用于编码二进制的数据将不可见的字符编码后转换成64个常见字符组成的文本便于打印、展示、传输、存储。如邮件eml格式中将附件文件通过base64编码。除了base64还有常用于比特币钱包地址编码的base58。base家族还有base85、base92、base128等众多算法。它们的区别不仅仅在于参与编码的字符集不同算法执行也是各有千秋。多因子认证技术说到认证最常出现的莫过于登录、支付等场景。传统的认证技术就是密码技术但随着网络攻击的日益猖獗以及互联网渗透到人们生活的方方面面传统密码技术的安全性不足以满足互联网的发展。多因子认证技术意为在传统密码认证之外引入其他认证技术进行补充使用2种及以上的方式共同完成认证。随着人工智能技术的发展基于生物特征的认证技术突飞猛进指纹认证虹膜认证人脸识别…这个世界从来不缺先行者多因子认证看上去很复杂好在已经有不少头部企业搭建了认证平台对于绝大多数企业需要做的只是下载SDK调用API而已。目前国内外主流的多因子认证平台有三大派系FIDO国际标准在国内翼支付、百度钱包、京东钱包、微众银行等都已经应用IFAA阿里系凭借阿里在电商领域的优势也吸引了众多追随者。TUSI腾讯系学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。**读者福利 |**CSDN大礼包《网络安全入门进阶学习资源包》免费分享**安全链接放心点击**一、知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。二、部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解三、适合学习的人群基础适配人群零基础转型者适合计算机零基础但愿意系统学习的人群资料覆盖从网络协议、操作系统到渗透测试的完整知识链开发/运维人员具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能实现职业方向拓展或者转行就业应届毕业生计算机相关专业学生可通过资料构建完整的网络安全知识体系缩短企业用人适应期能力提升适配1、技术爱好者适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者2、安全从业者帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力3、合规需求者包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】文章来自网上侵权请联系博主