网络安全小白了解

网络安全

文章目录

网络安全从来不是单方面的技术对抗,而是技术与人、攻与防、AI 与 AI 之间的永恒博弈。

一:Dos攻击-太多了瘫痪了

1:基础Dos攻防

假设你是攻击者,服务器是一个餐厅,所谓Dos攻击就是你作为无赖顾客,不停的喊:服务员倒水,当你的请求速度超过了服务员的处理极限,他就没法接待正常的客人了,这就是Dos(拒绝服务)攻击

然而,餐厅的保安(初级防火墙)可不是吃醋的,他发现为啥总是这个顾客(总是这个IP)在捣乱,于是保安直接给你踢出大门,并告诉你以后你都不能再进来了(黑名单,IP封锁)

2:IP欺骗攻防

而你还不死心,保安既然知道你的IP地址了,就通过代理服务器换一个IP地址,就像你给自己带上了面具,伪装成为了别人的样子,此时你再次重进餐厅,对服务员的操作如法炮制,使得服务员瘫痪。这就是IP欺骗

于是经理换了一个高级保安(高级防火墙),这个保安能够意识到,这个顾客虽然脸每次都不一样,但是行为模式都是一样的,都是频繁的让服务员倒水,于是他设置了一个频率规则,一旦发现一个家伙在一秒之内请求3次倒水以上,就是坏蛋。给他踢出去

3:DDos攻击

你通过高级保安的事意识到光靠自己已经不能使得服务员瘫痪了,因此你发明了一种病毒,只要感染了这个病毒的人就会成为你的傀儡听你指挥,这1万个傀儡在你的指挥下同时对目标餐厅请求服务员倒水,这次高级防火墙也失效了,因为保安分不清哪些是正常的用户那些是你的傀儡,这就是DDos攻击

4:反射放大攻击

你发现控制这么多傀儡的成本太高了,于是你决定换一个思路进攻餐厅,你给全城的披萨店都打了一个电话,订单的地址却是你要攻击的这家餐厅。你假装这个餐厅的老板说,你们都给我来送餐。更加可怕的是,这些披萨店的老板都非常的热心,他们每一个披萨店都派出了1万个外卖小哥给餐厅送餐。这就好比在互联网上,你给一些服务器(比如DNS服务器)发送了一个请求,请求只有一句话,给我查下记录,然后这些服务器会给你返回一大串。也就是说:你用了极小的代价,通过这些服务器的放大,最终在受害者哪里,制造了一场惊天动地的流量海啸。这就是反射放大攻击。

并且,你还可以要求这些外卖小哥一定要在餐厅对服务员点完饭再走。这样保安也区分不出来这些是正常的用户还是恶意攻击了,同时成本极低。

5:AI防御和对抗

餐厅老板请来了AI,AI分析之后发现这些人虽然也正常点餐,但是点餐和吃东西的速度也太快了,简直不是正常的人能进行的操作。

这就是说在互联网,正常的用户看东西都会犹豫,输入账号密码等操作,而机器人只会重复的发送瞬时的请求,所以AI不看你的请求,而是看你的操作想不想是人,如果操作不想是人,都会被AI直接踢出餐厅。

但这个可难不住你,你也整了一个AI大军,这些AI大军模拟人的正常行为,点餐前犹豫两秒,划两下屏幕...,这就是AI对抗,让AI防御者识别不出AI进攻者。

二:密码的破解

今天你想要偷走藏在老板保险库的银行卡,保险库的密码是6位数

1:暴力破解

你直接化身闪电侠,从000000~999999打算试一遍,这就是暴力破解

但是保险箱一般在失败了几次之后都会报警,因此这种暴力破解的方式在现代安全攻防中都不能成功。这也就是通过频率限制来防御暴力破解

2:字典攻击

你想了一下,感觉老板不会设置一个没有任何意义的一串密码,因此你搜集了各种情报,打探到了老板家人信息,老板身份证号后六位等常见的容易被设置成为密码的信息,将这些信息变成了一个密码字典,然后只尝试字典上的密码,成功率大大的增加。这就是字典攻击

3:哈希值和哈希函数

你打开了金库,但是不知道银行卡的密码,你的老板将银行卡的密码设置成为了一串哈希值,哈希值有如下的特性:

  • 相同的输入通过哈希函数的计算会有相同的输出
  • 不同输入很难得到相同输出(会有哈希碰撞,只是概率极低),哪怕只差一点点,结果也完全不一样
  • 得到的哈希值无法还原成为原始输入。也就是运算不可逆

4:彩虹表和哈希破解

你决定扩充你的密码字典,将世界上常用的一亿种密码都写入到你的字典中,然后将整本字典都喂给哈希函数,因为相同的输入通过哈希函数的计算会有相同的输出,所以一旦有那个密码和老板设置的银行卡密码的哈希值相同,就说明你成功找到了对应的输入。而这个可能的密码和对应的哈希值的表就叫做彩虹表

5:哈希加盐算法

你的老板意识到了这个哈希的缺陷,就是相同的输入通过哈希函数的计算会有相同的输出,因此他想出了一招,每次在用户输入的文字中,随机拼接一些随机的字符,这样即使用户输入的是一样的,因为随机字符的存在,输出也变得不一样了,这就是加盐哈希

6:旁站攻击

你发现因为加盐哈希的存在再也无法通过上面的方式获取到老板的密码了,但是你有想了想,正常人很多会在各种网站上设置几乎相同的密码,例如你的A网站的密码是123456,但是因为A网站进行了加盐哈希,攻击者很难攻击,但是同时你在B网站的密码也是123456,但是B网站没有做任何的防御或者说只进行了简单的哈希防御,被攻击者攻克了,攻击者拿到了你的123456,就会上A网站去试,发现顺利攻击。这就是旁站攻击,通过攻击防御力弱的网站获取密码从而推断防御力强的网站的密码

7:双重防御和AI时代

你的老板决定使用终极杀招,不单单要获取密码,还要获取手机验证码才能取走银行卡的钱。这就是双重防御。

但是在AI时代下,这种双重防御也不是特别的安全,例如你喂给AI你老板家人的一段语音,AI识别之后就能生成对应的语音,你用AI模仿老板的家人说:我xxxx,你把你刚才收到的验证码给我一下,如果你老板不够谨慎,就很有可能将手机验证码透露出去了。

在AI时代,没有绝对生效的攻击也没有绝对安全的防御。

三:用户的登录

1:SQL注入

你成功摸到了老板公司的员工登录后台,界面上只有简简单单的账号框和密码框,原本以为要老老实实输对信息才能登录,结果你发现这个登录系统根本没做安全防护。

你在账号输入框里没有填正常账号,反而输入了一段特殊代码:' OR '1'='1,密码框随便填了点东西就点登录。系统后台的数据库接到指令后,直接把1=1这个永远成立的逻辑当成了验证条件,瞬间绕过账号密码校验,畅通无阻登录进了后台。

这种利用数据库语法漏洞,把恶意代码伪装成输入内容塞进查询语句,欺骗数据库执行非法操作的方式,就是SQL 注入,也是最经典、最常见的网页登录漏洞攻击。

2:布尔盲注

可老板很快修复了漏洞,现在登录失败不会直接报错,也不会跳转到后台,只会统一显示 "登录失败",根本看不出输入的内容有没有被数据库执行。

但你没放弃,开始在输入框里试探性输入语句,比如' AND (SELECT COUNT(*) FROM user WHERE username='boss')=1 --,通过页面显示的 "成功 / 失败" 两种状态,像猜谜语一样一点点判断信息真假:页面没变化就代表条件不成立,页面细微异常就代表条件成立。

靠着这种只看对错、不看具体内容,一步步推理出数据库里账号、密码、表名等信息的方式,就是布尔盲注,专门对付不返回具体数据、只给两种结果的隐蔽系统。

3:时间注入

老板再次加固系统,现在无论输入什么内容,页面反应完全一模一样,连布尔盲注依赖的状态差异都消失了,彻底断了你的判断依据。

你立刻换了思路,在输入框里插入延时语句:' AND SLEEP(5) --。如果数据库执行了这条恶意代码,就会强制等待 5 秒再返回结果;如果没执行,页面会瞬间加载完毕。你盯着加载时间,只要出现明显延迟,就说明语句生效了。

4:预编译防御

老板被折腾得不堪其扰,终于用上了终极防护手段 ------ 预编译。

他让技术人员把登录的 SQL 查询语句提前固定好格式,账号和密码不再直接拼接进语句里,而是当成普通参数传进去。哪怕你再输入' OR '1'='1这类恶意代码,系统也只会把它当成一串普通文字,不会当成数据库指令执行,直接从根源上阻断了注入攻击。

这种提前编译 SQL 语句、分离代码与参数,让恶意语法无法生效的防护方式,就是预编译防御,也是目前抵御 SQL 注入最通用、最有效的方法。现代开发的代码几乎全部都是预编译的

四:网络别裸奔

你进入了一家高级咖啡厅,点了一杯咖啡,蹭着餐厅的免费wifi,放肆的浏览着各种网站,但是这个时候突然有人走过来神秘兮兮的告诉你他知道你刚才访问的所有的网站和登录的用户名密码。

你吓了一跳,以为遇到了神仙,其实他只是用了点网络小手段,你这就是在公网里 "裸奔"。

1:网络嗅探

咖啡厅的公共 WiFi 是所有人共用一个路由器的,就像大家围在同一张大桌子上说话。

攻击者打开一个抓包工具,就相当于在桌子上放了个窃听器,你在网上发的每一条消息、输的每一串账号密码,都会变成数据包在 WiFi 里飘来飘去。

只要没加密,他就能直接把这些数据包抓下来,拆开一看,你刚才看了什么网页、输了什么账号、密码明文是啥,全都看得一清二楚。

这种在网络中悄悄抓取、监听数据包,窃取传输内容的行为,就是网络嗅探。你不加密,就等于在大街上喊银行卡密码。

2:流量劫持

攻击者不满足于只偷看,干脆当起了 "路霸"。

他控制了路由器或者你的网络网关,把你原本要发往正规网站的流量,强行拐到他自己的服务器上。

你想打开淘宝,结果跳出来一个和淘宝一模一样的假页面;你想登录微信,结果跳出来一个仿冒的登录框。你傻乎乎地把账号密码输进去,信息直接就送到了攻击者手里。

这种强行改变网络流量走向,把用户引向伪造站点、篡改页面内容甚至插入广告和木马的行为,就是流量劫持。轻则弹广告,重则直接被盗号。

3:降级攻击

现在正规网站都用 HTTPS 加密了,就像给数据套上了保险箱,嗅探和劫持都看不懂内容。

于是攻击者又想出一招 ------ 降级攻击。

当你的设备和网站开始握手协商加密方式时,攻击者在中间捣乱,故意屏蔽掉高级加密协议,逼着你的设备和网站 "降级",改用老旧、不安全的 HTTP 或者弱加密协议通信。比如用户说:我要登录银行账号网站了,给我一个https的高级网站,但是由于攻击者在中间捣乱,将你的诉求变成了:我要登录银行账号网站了,但是我的手机比较老旧,给我一个HTTP的网站就行。

一旦降级成功,加密就失效了,数据包重新变回明文,他又能轻松嗅探、劫持你的信息。

这种破坏加密协商,强制通信双方放弃安全加密、退回不安全模式的攻击,就是降级攻击,专门用来绕开 HTTPS 这类现代安全防护。

五:网络钓鱼,千万小心

经历了咖啡厅的网络"裸奔"风波,你变得谨慎了些,回到家连WiFi都只敢连自己的。可没想到,危险并没有远离------手机突然收到一条短信,说是"银行账户异常,点击链接验证身份,否则账户将被冻结",你心里一慌,差点就点了进去。

其实,这就是最常见的网络钓鱼,攻击者不靠技术破解,全靠"骗",让你主动把隐私送上门。

1:域名仿冒攻击

你收到的银行短信链接,看着和官方银行网址几乎一模一样,只差一个字母------官方是"bank.com",而短信里的是"bark.com",不仔细看根本发现不了。你点进去后,页面和银行官方登录页长得丝毫不差,有logo、有登录框,甚至连提示语都一模一样。

你以为是正规页面,放心地输入了银行卡号、密码和短信验证码,点击确认的瞬间,这些信息就全部传到了攻击者手里。这种模仿正规网站域名和页面,制造"以假乱真"的陷阱,诱骗用户输入敏感信息的攻击,就是域名仿冒攻击,也叫"假网站钓鱼",核心就是利用用户的粗心大意,混淆真假域名。

2:ClickFix钓鱼攻击

没过几天,你在工作时收到一封邮件,标题是"你的文件存在异常,点击修复即可正常查看",附件里还有一个标注"修复工具"的文件。你想着可能是工作文件出了问题,没多想就点击了附件里的"修复按钮"。

可点击之后,电脑没有任何修复提示,反而悄悄后台下载了一个木马程序。原来,这个"修复按钮"根本不是什么修复工具,而是攻击者伪装的恶意链接,只要你点击,就会触发恶意代码下载,或者直接跳转到仿冒登录页。这种以"修复问题""解决异常"为借口,用虚假的修复按钮、修复工具引诱用户点击,从而植入恶意程序或窃取信息的攻击,就是ClickFix钓鱼攻击,主打一个"利用用户的焦虑感,让你主动点击陷阱"。

3:社会工程学

这次你没点陌生链接,也没打开可疑附件,可还是中招了。一天,你接到一个电话,对方自称是公司IT部门的员工,语气着急地说:"你的办公账号被异常登录了,现在需要你提供一下账号密码,我马上帮你锁定,不然公司机密会泄露!"

你想着是公司同事,又担心机密泄露,立刻把账号密码告诉了对方。挂了电话才反应过来,根本没人通知过IT部门会打电话要密码------这就是社会工程学攻击。它不靠任何网络技术,而是利用人的心理弱点(比如信任、焦虑、善良),通过伪装身份、编造谎言,诱导用户主动透露敏感信息,比如密码、验证码、身份证号等,比技术攻击更隐蔽,也更容易得手。

4:载荷混淆

你吸取了教训,安装了杀毒软件,发誓再也不轻易相信陌生信息。可攻击者又升级了手段:他给你发了一个看似正常的文档,文档里是普通的工作内容,可隐藏在文档里的,还有一段被"伪装"过的恶意代码(也就是"载荷")。

这段恶意代码被混淆成了普通的文本、图片格式,杀毒软件根本识别不出来。你打开文档查看内容时,恶意代码就会悄悄执行,要么植入木马,要么窃取你的电脑文件。这种把恶意载荷(恶意代码)伪装成正常内容,混淆其特征,躲避杀毒软件和安全工具检测,从而实施攻击的方式,就是载荷混淆。它就像把毒药裹在糖衣里,让你在不知不觉中"中毒"。

网络钓鱼的可怕之处,在于它不需要复杂的技术,只需要抓住人的心理漏洞。哪怕你技术再好,只要一时疏忽、心存侥幸,就可能掉进攻击者的陷阱。

六:XSS和蠕虫

1:反射型XSS攻击

你在朋友群里看到有人分享了一个"测一测你的隐藏性格"的链接,好奇之下点了进去。这个链接看似普通,实则藏着一段恶意脚本,当你点击链接时,这段脚本会被网站服务器"反射"回你的浏览器,并且直接执行。

脚本执行后,你的浏览器突然弹出一个伪装成"性格测试登录"的弹窗,提示你输入常用账号密码才能查看结果。你没多想就输了进去,殊不知,这些信息已经被脚本悄悄发送给了攻击者。这种恶意脚本通过链接、输入框等方式,被服务器反射到用户浏览器并执行,从而窃取信息、篡改页面的攻击,就是反射型XSS攻击。

就像一个临时陷阱,只有用户主动点击恶意链接,才会触发攻击

2:CSRF跨站请求伪造

一天,你登录了自己的在线支付账户,查完余额后,没有及时退出登录,就随手打开了一个弹出的广告页面。这个广告页面看似普通,背后却藏着一段隐藏的代码,正在悄悄向你的支付账户服务器发送转账请求。

因为你没有退出登录,支付服务器识别到你的身份是合法的,就直接执行了这段转账请求。等你反应过来,账户里的钱已经被转走了。这种利用用户已登录的合法身份,在用户不知情的情况下,通过恶意页面发送非法请求,完成转账、改密码等操作的攻击,就是CSRF跨站请求伪造。

它相当于有人拿着你的"身份钥匙",趁你不注意,偷偷用你的名义做坏事

3:存储型XSS攻击

你喜欢在一个常用的论坛分享日常,一天,你在评论区看到一条留言,内容是"分享一个超好用的工具",下面还附了一段看似普通的代码。你没多想就点开了评论,可你不知道,这段代码其实是恶意脚本,并且已经被论坛服务器存储了起来。

只要有用户打开这个评论区,这段恶意脚本就会自动执行,悄悄获取用户浏览器里的Cookie(包含登录信息、隐私数据),并发送给攻击者。之后,无论谁打开这个评论区,都会被攻击。这种将恶意脚本存储在网站服务器中,只要用户访问包含该脚本的页面,就会自动执行攻击的方式,就是存储型XSS攻击。

不像反射型那样一次性生效,而是长期存在,会持续攻击所有访问该页面的用户,危害更大

4:Samy蠕虫病毒

存储型XSS攻击如果被恶意利用,就会衍生出更可怕的蠕虫病毒,Samy蠕虫就是最经典的例子。当年,一个叫Samy的人编写了一段恶意脚本,伪装成普通代码,发布到了一个热门社交网站的个人主页上。

只要有用户访问他的主页,这段脚本就会自动执行:不仅会窃取用户的个人信息,还会自动在用户的主页上复制这段脚本,同时向用户的所有好友发送访问链接。短短几小时,这个蠕虫就感染了上百万用户,导致社交网站服务器瘫痪,无法正常运行。这种基于XSS漏洞,能自我复制、自动传播,快速感染大量用户和设备,甚至导致系统瘫痪的恶意程序,就是Samy蠕虫病毒,它把XSS攻击的危害放大到了极致。

5:HTTP-Only和CSP

面对XSS和蠕虫的威胁,网站管理员们终于找到了有效的防御办法------HTTP-Only和CSP。

HTTP-Only就像给浏览器里的Cookie加上了一把"保护锁",禁止JavaScript脚本读取Cookie信息。哪怕攻击者通过XSS注入了恶意脚本,也无法获取到包含登录信息的Cookie,从根源上阻止了信息窃取。

而CSP(内容安全策略)则像一个"守门人",严格限制网页只能加载指定来源的脚本、图片等内容,禁止加载未知来源的恶意脚本,直接阻断XSS脚本的执行。

有了这两种防御手段,XSS和蠕虫攻击的成功率大大降低,但攻击者也在不断升级手段,想要彻底防范,就不能有丝毫松懈。

相关推荐
江畔何人初3 小时前
OSI七层参考模型
网络
振浩微433射频芯片10 小时前
433MHz在智能家居中的应用大全(二):智能安防篇——安全不容“信号死角”
网络·单片机·嵌入式硬件·物联网·智能家居
fengfuyao98512 小时前
基于STM32的4轴步进电机加减速控制工程源码(梯形加减速算法)
网络·stm32·算法
酿情师12 小时前
整数溢出漏洞详解:网络安全小白从零入门
安全·web安全
qq_2602412312 小时前
将盾CDN:威胁情报驱动的网络安全防御新范式
安全·web安全
瀚高PG实验室13 小时前
审计策略修改
网络·数据库·瀚高数据库
黎阳之光14 小时前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
forAllforMe14 小时前
etherCAT的协议VoE,FoE,EoE,CoE的概念和区别
网络
大数据新鸟14 小时前
操作系统之虚拟内存
java·服务器·网络