当前位置:首页 » 网页前端 » web安全入门
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web安全入门

发布时间: 2022-03-01 08:57:21

‘壹’ 零基础学web安全,要从哪里开始学html,css,js,php,http是不是要先学这些

  1. 先了解下安全这行的名词,不会在以后觉得措手不及。

  2. 先安装虚拟机,熟悉虚拟机用法操作,试着在虚拟机上搭建网站。

  3. 熟悉iso模型(七层)。其实就是客户机到服务器中间的通信过程

  4. 熟悉常见协议HTTP/HTTPS(SSL)、TCP/IP(这个比较复杂,知道就是一个网络层协议就可)。

  5. 掌握H5、 CSS3、原生JS。可以尝试学jQ ,其实JS搞会已经很花时间了,尤其闭包、对象那块对于没编程基础的有难度,抽象。

  6. 掌握一门脚本语言,jsp、aps.net、php、.net等 (php最易,jsp要会Java)

  7. 学一下Python爬虫框架。信息搜集用

  8. 信息搜集。社工,谷歌hack语法

  9. 漏洞原理,漏洞分析。

  10. 开始了解注入类型

  11. 其他类型,XSS CSRF SSRF 文件上传下载 编辑器

  12. 如何getShell

  13. sqlMap burpsuite waf绕过+ 内网渗透

  14. 最后kali,工具较多,挑选。

  15. 总结web安全这块知识面广,但是涉入层较浅,关键在手法和思想。深入探索还得学习底层信息安全,二进制安全。

‘贰’ 学web安全前都需要掌握什么

1、基础网络协议/网站架构

互联网的本质也就是一系列的网络协议,不管是C/S架构还是B/S架构都是基于网络通信,渗透人员需要了解到通信流程以及数据包走向等,才能使用相应手段跟工具去做渗透。

Web网站常见的协议以及请求方式,这些在做渗透的时候必不可少的。甚至也是可以利用协议来做渗透测试。所有的知识都是息息相关的,必不可少。

2、基础的编程能力

一名Web渗透测试人员必须具有有一定的基础编程能力的,每天都跟代码打交道,如果不会写代码或者看不懂代码,十分吃亏。

例如需要自己写一款适合此刻情景漏洞的工具,如果不会写会极大降低效率。再者就是关于后续进阶的代码审计问题,如果不会写代码,代码也看不懂那么就不知道怎么从源代码去审计漏洞,去发现原因。

3、渗透测试工具

渗透测试工具网上开源的很多,作为渗透测试人员会使用渗透测试工具这是必不可少的。一些优秀的工具要学会利用,还有就是要学会自己写工具。例如在做渗透测试中,好比说大量的数据FUZZ,如果说人工操作将大大浪费时间跟效率。

如若网上的工具不符合此漏洞的情景,这时候就需要自己手动写工具去调试。当然网上优秀的工具已不少,优先使用会极大提高我们的效率。

4、了解网站的搭建构成

试着去了解一个网站的形成架构,语言,中间件容器等。如果不知道一个网站是如何搭建起来的,那么做渗透的时候根本就没有对应的渗透测试方案。例如一个网站采用了某种中间件,或者什么数据库,再或者是采用网上开源的CMS。

如果对于这些不了解,那么就只能在网页上徘徊游走,甚至无从下手。了解一个网站的搭建与构成,对于前期做踩点与信息收集有着很大的帮助。

5、漏洞原理(重要)

渗透测试人员肯定是要对漏洞原理去深入研究探究,这样会从中发现更多有“趣”的东西。所有有“趣”的东西是可能你在原有的基础漏洞上配合其他漏洞,从而达到组合漏洞,这样效果有可能会更佳,不过不去了解漏洞原理,漏洞产生,不去从代码层出发。

那就不知道漏洞起因,到后期的渗透利用以及修复方案,就会显得吃力,这时候有可能你就需要去查资料,从某种形式的降低了速度与效率,所以,知识与积累必不可少。

6、报告撰写能力

每次做完渗透测试之后,都是需要一个渗透测试报告,对于漏洞挖掘的梳理,网络结构印象加深,这是后期与客户沟通还有与开发对接提修复建议能起到很大的帮助,这些细小的细节决定着你服务的质量与责任感,因此需要不断的积累与提升。

‘叁’ 网络安全如何入门

零基础、转专业、跨行等等都可以总结为,零基础或者有一点基础的想转网络安全方向该如何学习。

要成为一名黑客,实战是必要的。安全技术这一块儿的核心,说白了60%都是实战,是需要实际操作。

如果你选择自学,需要一个很强大的一个坚持毅力的,还有钻研能力,大部分人是东学一块西学一块儿,不成体系化的纸上谈兵的学习。许多人选择自学,但他们不知道学什么。

再来说说,先学编程还是渗透,

很多人说他们想学编程,但是在你学了编程之后。会发现离黑客越来越远了。。。

如果你是计算机专业的,之前也学过编程、网络等等,这些对于刚入门去学渗透就已经够了,你刚开始没必要学那么深,有一定了解之后再去学习。如果是转专业、零基础的可以看我下面的链接,跟着公开课去学习。

B站有相关零基础入门网络安全的视频

快速入门

另外说一句,渗透是个立马可以见效的东西,满足了你的多巴胺,让你看到效果,你也更有动力去学。

举个栗子:你去打游戏,杀了敌人,是不是很舒服,有了反馈,满足了你的多巴胺。

编程这玩意,周期太长,太容易劝退了,说句不好听的,你学了三个月,可能又把之前学的给忘了。。。这又造成了死循环。所以想要学网安的可以先学渗透。在你体验了乐趣之后,你就可以学习编程语言了。这时,学习编程语言的效果会更好。因为你知道你能做什么,你应该写什么工具来提高你的效率!


先了解一些基本知识,协议、端口、数据库、脚本语言、服务器、中间件、操作系统等等,

接着是学习web安全,然后去靶场练习,再去注册src挖漏洞实战,

学习内网,接着学习PHP、python等、后面就学习代码审计了,

最后还可以往硬件、APP、逆向、开发去学习等等

(图片来自A1Pass)

网络安全学习实际上是个很漫长的过程,这时候你就可以先找工作,边工边学。

怎么样能先工作:

学完web安全,能够完成基本的渗透测试流程,比较容易找到工作。估计6到10k

内网学完估计10-15k

代码审计学完20-50k

红队表哥-薪资自己谈


再来说说如果你是对渗透感兴趣,想往安全方面走的,我这边给你一些学习建议。

不管想学什么,先看这个行业前景怎么样--

2017年我国网络安全人才缺口超70万,国内3000所高校仅120所开设相关专业,年培养1万-2万人,加上10
-
20家社会机构,全国每年相关人才输送量约为3万,距离70万缺口差距达95%,此外,2021年网络安全人才需求量直线增长,预计达到187万,届时,人才需求将飙升278%!

因为行业人才输送与人才缺口的比例问题,网络安全对从业者经验要求偏低,且多数对从业者学历不设限。越来越多的行业从业者上升到一定阶段便再难进步,很容易被新人取代,但网络安全与其他行业的可取代性不同,网络安全工程师将在未来几十年都处于紧缺状态,并且,对于防御黑客攻击,除了极少数人靠天分,经验才是保证网络安全的第一法则。


其次,不管是什么行业都好,引路人很重要,在你刚入门这个行业的时候,你需要向行业里最优秀的人看齐,并以他们为榜样,一步一步走上优秀。


不管是学习什么,学习方法很重要,当你去学习其他知识时候,

都可以根据我下面介绍的方法去学习:

四步学习法

一、学习

二、模仿

三、实战

四、反思

说在前头,不管是干什么,找到好的引路人很重要,一个好老师能让你少走很多弯路,然后迈开脚步往前冲就行。

第一步,找到相关资料去学习,你对这个都不了解,这是你之前没接触过的领域,不要想着一次就能听懂,当然天才除外(狗头滑稽),听完之后就会有一定的了解。

第二步,模仿,模仿什么,怎么模仿?先模仿老师的操作,刚开始可能不知道啥意思,模仿两遍就会懂一些了。

第三步,实战,怎么实战?先去我们配套的靶场上练习,确定靶场都差不多之后,再去申请成为白帽子,先去挖公益src,记住,没有授权的网站都是违法的。(师父领进门,判刑在个人)

第四部,反思,总结你所做的步骤,遇到的问题,都给记录下来,这个原理你理解了吗?还是只是还是在模仿的部分养成做笔记的习惯。

学习方式有了,接下来就是找到正确的引路人进行学习,一个好的引路人,一个完整的体系结构,能让你事半功倍。

‘肆’ web安全学习如何提高自己

横向就是如图所示,纵向就是数据流;数据流说白了就是http协议。
举例:
1、如果在操作系统没有处理好,就产生了OS命令执行的安全问题;
2、如果在存储层的数据库中没有处理好,数据库的SQL解析引擎把这个“特殊数据”当做指令执行,就产生了SQL注入;
3、如果在web容器层如nginx中没有处理好,nginx把特殊数据当成指令执行时,就会产生远程溢出、DoS等各种安全问题;
4、如果在web开发框架或web应用层中没有处理好,把特殊数据当做指令执行时,可能就产生远程命令执行的安全问题;
5、如果在web前端层中没有处理好,浏览器的JS引擎把特殊数据当做执行执行时,就可能产生XSS跨站脚本的安全问题;

总结:
一切安全问题都体现在“输入输出”上,一切安全问题都存在“数据流”的整个过程中;

‘伍’ web安全入门后,该怎么整

学习sql注入、主要就是先学习sql数据库的语法!然后在编程的时候!很多进行语法转义的地方都有可能!进行入驻……

‘陆’ 零基础如何学习 Web 安全

1.学习网站构建初级教程_W3C以及HTTP协议基础-runoob上了解Web前后端以及HTTP协议的一些基础介绍,花半天时间对相关技术有个概念性的了解就够了。

2. Windows下下载phpStudy或者WAMP,在本地搭建Web服务器环境,然后自己搜索两篇文章学习下基本的操作方法。这个本地Web服务器也就相当于学习过程中的一个实验环境了。

3.学习浏览器的开发者工具(通常快捷键F12调出),搜索一些教学文章,掌握Chrome或者Firefox浏览器开发者工具中的Network、Elements功能的常见用法,可以查看HTTP数据包以及定位页面元素。

那学习Web安全呢,同时还要掌握一些工具:浏览器开发者工具与浏览器插件(如HackBar、ProxySwitcher)、抓包工具如Burpsuite、漏洞扫描和验证工具如御剑、sqlmap、AWVS,工具可以在Freebuf上自行搜索下载,教程可以参考Web安全-i春秋系列教程中对应这几款工具的章节学习。

好的工具可以帮助我们提高测试效率,扩展测试思路。除了工具的使用,通过搭建本地实战环境练习手工技巧,也是很好的进阶之路,这里建议可以搭建DVWA漏洞测试环境,然后参考DVWA系列教程_Freebuf进行学习。

学习的同时也可以在在教育行业SRC等漏洞平台上挖掘漏洞,赢得认可,也是一种动力,但挖掘漏洞的时候一定要注意规范和界限,可以参考自律方能自由,《网络安全法》实施后的白帽子行为参考,挖掘漏洞的同时也要注意保护自己。

‘柒’ WEB安全,应该从哪种语言开始入门

因为我使用Python,所以我推荐Python,Python是一种脚本语言,也适合快速开发,它也适合安全的人。我们公司的统一编码语言是Python。另一个是我在文章中所说的,看看你的方向,你想学习安全,你必须学习一些你在学习过程中学习的语言,例如,你想学习Web前端安全。如果你不能HTML,而不是JS。


Web2.0

利用木马或病毒攻击的攻击,经常使用这个用户的好奇心,木马或病毒程序捆绑在一些美丽的图片,音频和视频文件和免费的软件,然后把这些文件中的某个网站。

导致用户点击或下载操作。或者通过电子邮件附件和QQ、MSN等实时聊天软件,将木马或病毒绑定的文件发送给用户,用户可以利用用户的好奇心来打开或运行这些文件。

‘捌’ web安全入门课程网上有吗求推荐呀

Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。慕课网的web安全,有开发和授课经验,知识点衔接性好。

‘玖’ 零基础如何学习web安全能不能学会呢

Web业务的迅速发展也引起黑客们的强烈关注,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。 去慕课网学

‘拾’ web安全要学什么

Web安全的范围实在太大,哪些先学,哪些后学,如果没有系统的路线会降低大家效率,对于刚入门的同学们来说简直就是“噩梦”。所以,这篇类似学习路线的文章,希望可以帮助刚入门的萌新们少走弯路。(文末附学习资料及工具领取)

首先我们来看看企业对Web安全工程师的岗位招聘需求是什么?

1职位描述

  • 对公司各类系统进行安全加固;

  • 对公司网站、业务系统进行安全评估测试(黑盒、白盒测试)

  • 对公司安全事件进行响应、清理后门、根据日志分析攻击途径

  • 安全技术研究,包括安全防范技术、黑客技术等;

  • 跟踪最新漏洞信息,进行业务产品的安全检查。

  • 2岗位要求

  • 熟悉Web渗透测试方法和攻防技术,包括SQL注入、XSS跨站、CSRF伪造请求、命令执行等OWSP TOP10 安全漏洞与防御;

  • 熟悉Linux、Windows不同平台的渗透测试,对网络安全、系统安全、应用安全有深入理解和自己的认识;

  • 熟悉国内外安全工具,包括Kali、Linux、Metasploit、Nessus、Namp、AWVS、Burp等;

  • 对Web安全整体有深刻理解,有一定漏洞分析和挖掘能力;

  • 根据岗位技能需求,再来制定我们的学习路径,如下:

    一、Web安全学习路径


    01 HTTP基础

    只有搞明白Web是什么,我们才能对Web安全进行深入研究,所以你必须了解HTTP,了解了HTTP,你就会明白安全术语的“输入输出”。黑客通过输入提交“特殊数据”,特殊数据在数据流的每个层处理,如果某个层没处理好,在输出的时候,就会出现相应层的安全问题。关于HTTP,你必须要弄明白以下知识:

    HTTP/HTTPS特点、工作流程

    HTTP协议(请求篇、响应篇)

    了解HTML、Javascript

    Get/Post区别

    Cookie/Session是什么?

    02 了解如下专业术语的意思

    Webshell
    菜刀
    0day
    SQL注入
    上传漏洞
    XSS
    CSRF
    一句话木马

    ......

    03 专业黑客工具使用

    熟悉如何渗透测试安全工具,掌握这些工具能大大提高你在工作的中的效率。

    Vmware安装

    Windows/kali虚拟机安装

    Phpstudy、LAMP环境搭建漏洞靶场

    Java、Python环境安装

    子域名工具 Sublist3r

    Sqlmap
    Burpsuite
    Nmap
    W3af
    Nessus
    Appscan
    AWVS

    04 XSS

    要研究 XSS 首先了解同源策略 ,Javascript 也要好好学习一下 ,以及HTML实体 HTML实体的10 或16进制还有Javascript 的8进制和16进制编码,最终掌握以下几种类型的XSS:

    反射型 XSS:可用于钓鱼、引流、配合其他漏洞,如 CSRF 等。

    存储型 XSS:攻击范围广,流量传播大,可配合其他漏洞。

    DOM 型 XSS:配合,长度大小不受限制 。

    05 SQL注入

    所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。你需要了解以下知识:

    SQL 注入漏洞原理
    SQL 注入漏洞对于数据安全的影响
    SQL 注入漏洞的方法
    常见数据库的 SQL 查询语法
    MSSQL,MYSQL,ORACLE 数据库的注入方法
    SQL 注入漏洞的类型:数字型注入 、字符型注入、搜索注入 、盲注(sleep注入) 、Sqlmap使用、宽字节注入

    SQL 注入漏洞修复和防范方法
    一些 SQL 注入漏洞检测工具的使用方法

    06 文件上传漏洞

    了解下开源编辑器上传都有哪些漏洞,如何绕过系统检测上传一句话木马、WAF如何查杀Webshell,你必须要掌握的一些技能点:

    1.客户端检测绕过(JS 检测)

    2.服务器检测绕过(目录路径检测)

    3.黑名单检测

    4.危险解析绕过攻击

    5..htaccess 文件

    6.解析调用/漏洞绕过

    7.白名单检测

    8.解析调用/漏洞绕过

    9.服务端检测绕过-文件内容检测

    10.Apache 解析漏洞

    11.IIS 解析漏洞

    12.Nginx 解析漏洞

    07 文件包含漏洞

    去学习下
    include() include_once() require() require_once() fopen() readfile()
    这些php函数是如何产生文件包含漏洞, 本地包含与远程包含的区别,以及利用文件包含时的一些技巧如:截断 /伪url/超长字符截断等 。

    08 命令执行漏洞

    PHP代码中常见的代码执行函数有:
    eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(),create_function(), array_map()等。
    了解这些函数的作用然后些搞清楚如何造成的代码执行漏洞。

    09 CSRF 跨站点请求

    为什么会造成CSRF,GET型与POST型CSRF 的区别, 如何防御使用 Token防止CSRF?

    010 逻辑漏洞

    了解以下几类逻辑漏洞原理、危害及学会利用这几类漏洞:

    信息轰炸、支付逻辑漏洞、任意密码修改、越权访问、条件竞争、任意注册、任意登录、顺序执行缺陷、URL跳转漏洞.

    011 XEE(XML外部实体注入)

    当允许XML引入外部实体时,通过构造恶意内容,可以导致文件读取、命令执行、内网探测等危害。

    012 SSRF

    了解SSRF的原理,以及SSRF的危害。
    SSRF能做什么?当我们在进行Web渗透的时候是无法访问目标的内部网络的,那么这个时候就用到了SSRF漏洞,利用外网存在SSRF的Web站点可以获取如下信息。
    1.可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
    2.攻击运行在内网或本地的应用程序(比如溢出);
    3.对内网Web应用进行指纹识别,通过访问默认文件实现;
    4.攻击内外网的Web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);
    5.利用file协议读取本地文件等。

    如果上述漏洞原理掌握的都差不多那么你就算入门Web安全了。

    如果看了上面你还不知道具体如何学习?可参考合天网安实验室Web安全工程师岗位培养路径学习:网页链接