本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。
项目实战
最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~
面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
代码层最佳防御方案:使用预编译sql语句查询和绑定变量。
使用预编译语句,使用PDO需要注意不要将变量直接拼接到PDO语句中。所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。
对进入数据库的特殊字符进行转义处理或编码转换。
确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。
数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
网站每个数据层的编码同意,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。过滤危险字符。
2、XSS
描述:web程序代码中对用户提交的参数未做过滤或过滤不严,导致参数中的特殊字符破坏了HTML页面的原有逻辑,攻击者可以利用该漏洞执行恶意HTML/JS代码、构造蠕虫、篡改页面实施钓鱼攻击、以及诱导用户再次登录,然后获取其登录凭证等。
XSS攻击对web服务器本身虽无直接危害,但是它借助网站进行传播,对网站用户进行攻击,窃取网站用户账号身份信息等,从而也会对网站产生较严重的威胁。XSS攻击可以导致这些危害:钓鱼欺骗、网站挂马、身份盗用、盗取网站用户信息、垃圾信息发送、劫持用户web行为、XSS蠕虫等。
修复建议:
XSS漏洞本质上是一种HTML注入,也就是将HTML代码注入到网页中,那么其防御的根本就是在将用户提交的代码显示到页面上时做好一系列的过滤与转义。
过滤输入的数据,这里的输入不仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。
不仅验证数据的类型,还要验证其格式、长度、范围和内容。
不仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。
对输出到页面的数据进行相应的编码转换,如HTML实体编码、JS编码等。对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点也要进行检查。
3、CSRF
描述:CSRF是跨站请求伪造,不攻击网站服务器,而是冒充用户在站内的正常操作。通常由于服务端没有请求做严格过滤引起的。CSRF会造成密码重置,用户伪造等问题,可能引发严重后果。绝大多数网站是通过cookie等方式辨识用户身份,再予授权的。所以要伪造用户的正常操作,最好的方法是通过XSS或链接欺骗等途径,让用户在本机发起用户所不知道的请求。CSRF攻击会令用户在不知情的情况下攻击自己已经登录的系统。
修复建议:
验证请求的Referer是否来自本网站,但可被绕过。
在请求中加入不可伪造的token,并在服务端验证token是否一致或正确,不正确则丢弃拒绝服务。
4、SSRF
漏洞描述:通俗来说就是我们可以伪造服务器端发起的请求,从而获取客户端所不能得到的数据。SRRF漏洞形成的原因主要是服务器所提供的接口中包含了所要请求的内容的URL参数,并且对客户端所传输过来的URL参数进行过滤。
修复建议:
禁用不需要的协议,只允许HTTP和HTTPS请求
白名单的方式限制访问的目标地址,禁止对内网发起请求
过滤或屏蔽请求返回的详细信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一类型的文件,那么把返回结果展示给用户之前先验证返回的信息是否符合标准
验证请求的文件格式
禁止跳转
限制请求的端口为http常用的端口,比如80、443、8080、8000等
统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
5、任意命令/代码执行
描述:命令或代码执行漏洞是指代码未对用户可控参数做过滤,导致直接带入执行命令和代码,通过漏洞执行恶意构造的语句,执行任意命令或代码。攻击者可在服务器上执行任意命令,读写文件操作等,危害巨大。
修复建议
严格过滤用户输入的数据,禁止执行非语气系统命令
减少或不使用代码或命令执行函数
客户端提交的变量在放入函数钱进行检测
减少或不适用危险函数
6、任意文件上传
描述:文件上传漏洞通常由于代码中对文件上传功能所上传的文件过滤不严或web服务器相关解析漏洞未修复而造成的,如果文件上传功能代码没有严格限制和验证用户上传的文件后缀、类型等,攻击者可通过文件上传点上传任意文件,包括网站后门文件控制整个网站。
修复建议:
对上传文件类型进行验证,除在前端验证外在后端也进行验证。后端可以进行扩展名检测、重命名文件,MIME类型检测以及限制上传文件的大小等限制来防御,或是将上传的文件其他文件存储服务器中。
严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关上传文件目录执行权限,防止木马执行。
对上传文件格式进行严格校验,防止上传恶意脚本文件
严格限制上传的文件路径
文件扩展名服务端白名单校验
文件内容服务端校验
上传文件重命名
隐藏上传文件路径
7、文件包含
漏洞描述:指程序在处理包含文件的时候没有严格控制。攻击者可以利用这个漏洞先把上传的文件、网站日志文件等作为代码执行或直接显示,或者包含远程服务器上的恶意文件,进而获得服务器权限
修复建议:
严格检查变量是否已经初始化
对所有输入提交可能包含的文件地址,包括服务器本地文件及远程文件,进行严格检查。
严格检查问价包含函数中的参数是否外界可控。
8、弱口令
漏洞描述:网站的用户账号有弱口令,攻击者可以通过弱口令直接进入网站,然后进行下一步攻击。用弱口令登录网站管理后台,则可以执行任意管理员的操作。
修复建议:
强制用户修改默认口令,或者使用用户自定义初始密码策略
完善密码策略
增加人机验证机制,限制IP访问次数
9、暴力破解
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!