【学习资料】

导语

什么是Web安全?我又该如何入门学习它呢?学习过程中又应注意哪些问题呢?...或许你的心中有着这样的疑问、不过别着急,本文会为你一一解答这些问题。

正文

定义

  • Web安全,顾名思义便是由保障Web应用能够持续安全运行而衍生出的一个分支领域。

  • Web应用指的是一个网站的前端页面到后端服务,可以粗略的理解为一个网站及其配套的相关服务,该领域中常见的漏洞有SQL注入漏洞,XSS漏洞,CSRF漏洞等等,漏洞种类多样,趣味性强,较为适合新手入门。

下面为你介绍Web安全方面的常见漏洞,以下讲解主要从原理角度出发,旨在帮助新手朋友更好的理解相关漏洞,具体技术细节暂不讨论。

常见漏洞

SQL注入(SQL Injection)

网站,也就是web应用中往往会涉及到数据的查询与修改,对数据进行操作则需要用到SQL语言(结构化查询语言(Structured Query
Language)简称SQL,是一种特殊目的的编程语言)。

网站在使用SQL查询数据时,用户输入的信息或提交的参数(比如你在使用百度时输入的“关键词”,登录某些网站时提交的账户密码…)将会参与到SQL数据查询的过程中,一旦用户提交了有害数据,便有可能对网站运行产生危害。

将有害数据“注入”到SQL查询过程之中,这也正是“SQL注入”得名的缘由。

SQL注入漏洞往往会导致数据泄露,例如前些年爆出的沸沸扬扬的”社工库",”人rou"搜索,全球数十亿密码泄露等事件,他们的背后或多或少有着SQL注入的影子。

SQL注入的定义为:

当Web应用向后台数据库传递SQL语句进行数据库操作时。如果对用户输入的参数没有经过严格的过滤处理,那么攻击者就可以构造特殊的SQL语句,直接输入数据库进行执行,获取或修改数据库中的数据。

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

同样是由于网站对于用户的输入内容没有进行严格的过滤处理,一些恶意的脚本代码被用户的浏览器执行而引发了XSS漏洞。

一个网站的呈现是基于HTML,CSS,JS等脚本语言的,浏览器的作用是什么?简单来说便是将只有计算机才能“读懂”的脚本语言及代码渲染成我们所看到的的图像与文字。

这里以百度为例。

在与架设着网站的服务器通信时,我们实际上收到的是使用HTML等语言编写的源代码,浏览器会将该源代码“翻译”出来。


(浏览器将下方的源代码“翻译”成“百度搜索”的页面)

如果我们能利用网站的某些缺陷,将自行构造的恶意脚本代码‘’注入”到网站源代码之中,在别的用户在浏览网页时,我们构造的恶意代码便会被浏览器“翻译”出来,造成危害(Cookie泄露,键盘记录等),这便形成了XSS漏洞。
CSRF跨站请求伪造(Cross Site Request Forgery)

该漏洞往往不直接攻击网站服务器,而是冒充用户在站内的正常操作以达到攻击目的。我们在与网站进行交互操作时,绝大多数操作是基于浏览器与网站服务器的通信请求的,比如我们会在某些购物网站下商品订单,给指定用户转账,或者查询自己的考试成绩。

如果能够在用户没有察觉的情况下,“悄无声息”通过浏览器伪造一些请求操作,进而产生对用户有害的攻击行为,那么便形成了CSRF漏洞。

上文提到过,XSS漏洞可以在用户不知情的情况下执行恶意操作,如果我们在XSS攻击代码中包含伪造好的特定请求呢?这便与CSRF漏洞不谋而合。所以,XSS与CSRF常相配合使用,威力巨大。

防范CSRF漏洞,需要添加 token 或 referer 来防御,云影安全后续会对此进一步讲解。

DDOS 分布式拒绝攻击(Distributed Denial of Service)

起源于二十世纪九十年代,历经二十多年发展而经久不衰,DDoS攻击已经成为网络安全领域影响最为深远的威胁之一。

严格地来讲,DDOS并不完全归属于Web安全的范畴,凡是对外提供服务的服务器或主机都存在被DDOS攻击的风险,但DDOS攻击在Web领域较为常见且危害大,我们在这里加以讲解。

那么什么是DDOS攻击呢?如果多台主机对目标网站或服务器发送大量请求,超出了该网站或服务器的处理能力上限,导致服务瘫痪,这种行为便可以称作DDOS攻击。

举一个较为经典的例子,假设一个餐厅最多可以同时容纳50人就餐,假设在极短时间内该餐厅涌入成百上千的顾客,该餐厅的正常就餐秩序必然会受到毁灭性的冲击。

DDOS攻击如今已发展出多种攻击模式与手段,目前还没有一个较为完美的应对策略,关键点在于精心发动的DDOS攻击往往会利用合理的服务请求来占用过多的服务资源,难与正常用户的请求相区分,从而使服务器无法处理合法用户的指令。

方法论

孤帆终究要起航,侠客也要去闯荡。在你开始踏上Web安全之路前,我们愿与你分享一些在探索学习中可能会有所帮助的心得与经验。

1.亲手实践

纸上得来终觉浅,绝知此事要躬行。
在学习漏洞原理或是利用技巧时,最好不要止步于只看懂技术文章。相关的介绍文章往往以讲解思路为主,为保证文章整体的连贯性,部分技术细节会被忽略掉。例如程序的运行环境,设备的网络情况以及相关应用组件的具体版本号。
然而对于初学者来说,这些技术细节同样至关重要,如果没有亲手实践过,亲手复现出相同的漏洞或利用技巧,你永远不会接触到那些被忽视的种种细节。而细节决定成败,对漏洞利用过程的残缺理解会对进一步的学习探索造成难以估量的影响。
同时,动手操作也有利于巩固对于所学知识的理解与记忆,加深印象。漏洞种类繁多,差异化的利用条件同样决定着漏洞利用的成功与否,因此在动手实践复现漏洞的同时,还需要完整的笔记记录。

2.构建体系

什么是体系?体系的本质是各个知识点的灵活串联与应用。在体系里,知识不再是孤零零散落在大脑各处信息点,而是互相补充互相协作而成的系统化的有机整体。
其实这并不难理解。举个简单的例子,假如现在有一篇中文技术文档放在面前,虽然我们并不是专业人士,但将这份文档读完还是可以做到的,但如果换一个不懂中文的外国人来看这篇文章,那么他连阅读都无法完成。我们之所以可以将一篇不能完全理解的专业文章看完,是因为我们有一定的语文基础知识。
也就是说,在我们的大脑里,储存着识字的能力。我们可以将这些已经拥有的能力整合在知识体系中。这样的话,当我们去学习新知识时,完全可以从构建好的体系里,找到已经形成的能力。
好处即,完全陌生的知识会被分解形成一些小的知识点。然后再联系体系中已有的能力,去逐一攻克这些陌生的难题。


3.分享交流

什么是黑客?真正的黑客可能与大多数人所理解的有所差异。黑客,由英语Hacker音译出来的,狭义是指专门研究、发现计算机和网络漏洞的计算机爱好者。根据黑客的原始定义,黑客对计算机有着狂热的兴趣和执着的追求,不断推动着计算机和网络的发展与完善。显而易见,黑客与网络安全紧密相关。
黑客精神是关于开放的精神。而黑客行为是基于团队的,只有开放才能让参与者们发挥出最大的能量,去修补,去改造。互联网上最有价值行为就是「奉献」,技术在奉献中获得了进步,知识在共享中得到了丰富。“分享交流”无疑是构成互联网这座大厦的基石,只有知识共享才能推动我们不断向前走。逛一逛社区,分享些自我学习的心得,于人于己,都是大有裨益的。

点击查看【黑客学习资料·攻略】

黑客零基础入门 | 网络安全相关推荐

  1. 如何30天零基础入门网络安全?自学网络安全有哪些缺点?

    福利:[网络安全重磅福利:入门&进阶全套282G学习资源包免费分享 !] 网络安全的前景如何,我已经说过很多遍了,今天专题是替一些想入门网络安全,但还迷茫不知所措的同学解一解惑.想30天零基础 ...

  2. 黑客零基础入门教程,从入门到精通学习路线规划,看完这篇就够了。

    很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样. 想要成为黑客,却苦于没有方向,不知道从何学起 ...

  3. 零基础入门网络安全,收藏这篇不迷茫【2023 最新】

    零基础入门网络安全,收藏这篇不迷茫[2023 最新] 前言 最近收到不少关注朋友的私信和留言,大多数都是零基础小友入门网络安全,·需要相关资源学习.其实看过的铁粉都知道,之前的文里是有过推荐过的.新来 ...

  4. 黑客零基础入门方法有哪些?如何自学黑客技术?

    大家经常问我一个问题,黑客零基础入门方法有哪些?以及如何自学黑客技术?首先要说的是世界上大部分的网络黑客都是自学成才的,这与黑客这门技术有很大的原因,黑客是一个靠兴趣驱动的技术,大部分成为黑客的人一开 ...

  5. 重视网络安全,红客联盟最新开源分享“黑客零基础入门学习路线+笔记”堪称黑客入门天花板教程

    起源 黑客这一词在莎士比亚的那个年代就存在了,最早的计算机诞生于1946年宾夕法尼亚大学,而最早的黑客却出现在麻省理工学院和贝尔实验室.初代黑客指的都是一些会计算机技术的研究人员,他们热衷于挑战,崇尚 ...

  6. 重视网络安全,华为红客联盟最新开源分享“黑客零基础入门学习路线+笔记”堪称黑客入门天花板教程

    起源 黑客这一词在莎士比亚的那个年代就存在了,最早的计算机诞生于1946年宾夕法尼亚大学,而最早的黑客却出现在麻省理工学院和贝尔实验室.初代黑客指的都是一些会计算机技术的研究人员,他们热衷于挑战,崇尚 ...

  7. 重视网络安全,红客联盟最新开源分享“黑客零基础入门学习路线+笔记”堪称黑客入门天花板教程!

    前言 黑客这一词在莎士比亚的那个年代就存在了,最早的计算机诞生于1946年宾夕法尼亚大学,而最早的黑客却出现在麻省理工学院和贝尔实验室.初代黑客指的都是一些会计算机技术的研究人员,他们热衷于挑战,崇尚 ...

  8. 零基础入门网络安全,看这一篇就够了!

    前景 很多零基础朋友开始将网络安全作为发展的大方向,的确,现如今网络安全已经成为了一个新的就业风口,不仅大学里开设相关学科,连市场上也开始大量招人. 那么网络安全到底前景如何?大致从市场规模.政策扶持 ...

  9. 【网络安全】零基础入门网络安全劝退指北

    作为从16年接触网络安全的小白,谈谈零基础如何入门网络安全,有不对的地方,请多多指教. 这些年最后悔的事情莫过于没有把自己学习的东西积累下来形成一个知识体系. 后续我也会陆续的整理网络安全的相关学习资 ...

最新文章

  1. httpposterror_http请求405错误方法不被允许的解决 (Method not allowed)
  2. Win10系列:VC++ Direct3D模板介绍1
  3. python3 gui tk代码_【基础】学习笔记30-python3 tkinter GUI编程-实操12
  4. linux逻辑文件块,linux逻辑卷组创建以及修改
  5. Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
  6. NodeJS知识汇总
  7. Win7下使用openssl时出现“Unable to write ‘random state’‘的问题
  8. CAS 4.1.x 单点登出(退出登录)的原理解析
  9. C#之数据库编程:从入门到精通
  10. css代码样式大全(整理版)
  11. RANSAC算法原理
  12. 联想笔记本怎么进入pe系统_联想笔记本电脑怎么进入PE?
  13. MVC 下 JsonResult 的使用方法(JsonRequestBehavior.AllowGet)
  14. 计算机中计算平均数的函数是什么,Excel里怎么求平均数的?函数是什么?!excle2010怎么求平均数...
  15. CGCS2000 平面坐标系转大地坐标系
  16. 自动化测试环境搭建之RFS自动化测试框架全攻略
  17. 下载微信视频号视频的憨批方法
  18. 家庭NAS服务器(1)服务器的配置与选择
  19. 医学成像系列:医学图像特征与品质因素概述
  20. qt 从零开始搭建插件框架

热门文章

  1. 成功解决for循环语句中,后几次循环输出数据一直全部为空
  2. DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——41~66
  3. ML之RFXGBoost:分别基于RF随机森林、XGBoost算法对Titanic(泰坦尼克号)数据集进行二分类预测(乘客是否生还)
  4. 使用 NuGet 管理我们的程序集 - 预发行版
  5. 利用DAC(Data-tier Application)实现数据库结构迁移
  6. 如何编写高质量CSS
  7. Flex学习笔记2010-08-16
  8. VC++编译链接原理与过程
  9. Stm32 IAP程序编写及用户程序编写
  10. linux设备驱动模型 - device/bus/driver