- 使用 VPN(虚拟私人网络)服务在未加密的 Wi-Fi 上建立安全的加密连接。
- 确保访问的网站使用 HTTPS,这为您的浏览器与网站服务器之间的通信提供了额外的加密层。
二、中间人攻击
中间人攻击是指攻击者在通信双方之间秘密地拦截、监听或篡改他们之间的信息交换。包括:
- 拦截双方通信来窃听数据。
- 篡改传输的信息。
流程
- 对网络设备进行攻击,在局域网内,使用 ARP 欺骗。
- 在用户和服务之间建立代理服务器,并监控或修改流经该代理的数据。
- 使用 DNS 欺骗将用户重定向至恶意网站。
防御
- 使用 HTTPS,确保所有传输数据都被加密
- 在不安全的网络(如公共 Wi-Fi)上使用 VPN,以保障所有网络数据传输的安全性
三、DNS劫持
攻击者通过篡改 DNS 解析过程中的查询响应来重定向用户浏览器的目标地址。这种攻击可以在不同的层面进行,包括本地计算机、网络路由器、或者整个 DNS 基础设施。
流程
- 本地计算机上的 DNS 设置修改:恶意软件或第三方程序可能会修改本地计算机上的 DNS 服务器设置,使得所有的 DNS 查询都通过攻击者控制的服务器进行。
- 路由器 DNS 劫持:攻击者可能通过各种手段控制了家庭或企业的路由器,并更改其 DNS 设置,导致连接到该路由器的所有设备的 DNS 请求都被重定向。
防御
- 使用可信的 DNS 服务器:可以选择使用公认的安全性较高的 DNS 服务,如 Google Public DNS 或 Cloudflare。
- DNSSEC:使用 DNS 安全扩展(DNSSEC),它为 DNS 提供了额外的验证机制,确保解析过程的安全性。
四、跨站脚本攻击XSS?
XSS(Cross-Site Scripting)攻击者将恶意脚本注入到其他用户会浏览的正常网页中。当其他用户加载受影响的页面时,嵌入其中的恶意脚本会被执行,从而允许攻击者窃取用户信息、劫持用户会话、篡改网站内容或进行其他恶意活动。
流程
- 存储型 XSS:恶意脚本被永久存储在目标服务器上,如数据库、消息论坛、访客留言等。当用户访问含有恶意脚本的页面时,就会触发这些脚本。
- 反射型 XSS:恶意脚本并不存储在服务器上,而是通过 URL 参数等方式发送给用户,当用户打开包含恶意脚本的链接时,服务器将恶意脚本作为部分的响应内容返回给用户的浏览器,然后执行。
示例
假设有一个简单的网站,其中包括一个评论区域,用户可以提交评论,并且提交的评论会显示在页面上。如果网站没有正确地处理用户的输入,攻击者可能会提交一个包含 JavaScript 代码的评论,例如:
<script>alert('XSS Attack!');</script>
https://vulnerable-site.com/search?query=<script>alert('XSS Attack!');</script>
如果网站没有足够的输入验证和转义,那么恶意脚本就会在受害者的浏览器中执行。
防御
- 获取用户的输入,不用innerHtml,用innerText;
- 对用户的输入进行过滤,如对& < > " ’ /等进行转义。
五、什么是CSRF攻击?
CSRF(Cross-Site Request Forgery)即跨站请求伪造攻击。是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。可以简单的理解为:攻击者可以盗用你的登陆信息,以你的身份模拟发送各种请求对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。
流程
- 1、用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
- 2、在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
- 3、用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
- 4、网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
- 5、浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行;
条件
- 1 . 用户已经登录了站点 A,并在本地记录了 cookie
- 2 . 在用户没有登出站点 A 的情况下(也就是 cookie 生效的情况下),访问了恶意攻击者提供的引诱危险站点 B (B 站点要求访问站点A)。
- 3 . 站点 A 没有做任何 CSRF 防御
防御
-
Referer字段
- 验证 HTTP 请求头部的
Referer
字段,以确认请求是从受信任的域名发出的。 - 这种方法可能不够可靠,因为
Referer
头部可能被禁用或篡改。
- 验证 HTTP 请求头部的
-
CSRF token
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!