先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
危害
- 盗取网站的敏感信息
- 绕过网站后台认证
- 后台登陆语句:SELECT*FROMadminWHEREUsername='user’andPassword=‘pass’
- 万能密码:‘or‘1’=‘1’#
- 借助SQL注入漏洞提权获取系统权限
- 读取文件信
防御
(1)采用sql语句预编译和绑定变量 #{name}
其原因就是:采用了PrepareStatement,就会将SQL语句:“select id,name from user where id=?”预先编译好,也就是SQL引擎会预先进行语法分析,产生语法树,生成执行计划,也就是说,后面你输入的参数,无论你输入的是什么,都不会影响该SQL语句的语法结构了。因为语法分析已经完成了,而语法分析主要是分析SQL命令,比如:select、from、where、and、or、order by等等。
所以即使你后面输入了这些SQL命令,也不会被当成SQL命令来执行了,因为这些SQL命令的执行,必须先通过语法分析,生成执行计划,既然语法分析已经完成,已经预编译过了,那么后面输入的参数,是绝对不可能作为SQL命令来执行的,只会被当成字符串字面值参数。
(2)使用正则表达式过滤传入的参数
(3)过滤字符串,如insert、select、update、and、or等
三、文件上传
原理
在文件上传的功能处,若服务端未对上传的文件进行严格验证和过滤,导致攻击者上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,称为文件上传漏洞。
成因
- 服务器的错误配置
- 开源编码器漏洞
- 本地上传上限制不严格被绕过
- 服务器端过滤不严格被绕过
危害
- 上传恶意文件
- getshell
- 控制服务器
绕过方式
防御
- 白名单判断文件后缀是否合法
- 文件上传的目录设置为不可执行
- 判断文件类型
- 使用随机数改写文件名和文件路径
- 单独设置文件服务器的域名
- 使用安全设备防御
四、XSS(跨站脚本攻击)
原理
**XSS(Cross Site Scripting):**跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS
**XSS原理:**攻击者在网页中嵌入客户端脚本(通常是JavaScript的恶意脚本),当用户使用浏览器加载被嵌入恶意代码的网页时,恶意脚本代码就会在用户的浏览器执行,造成跨站脚本的攻击
危害
- 盗取Cookie
- 网络钓鱼
- 植马挖矿
- 刷流量
- 劫持后台
- 篡改页面
- 内网扫描
- 制造蠕虫等
防御
- 对用户的输入进行合理验证
- 对特殊字符(如 <、>、 ’ 、 ”等)以及
五、CSRF(跨站请求伪造 )
原理
CSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造 原理:攻击者利用目标用户的身份,执行某些非法的操作 跨站点的请求:请求的来源可以是非本站 请求是伪造的:请求的发出不是用户的本意。
危害
- 篡改目标站点上的用户数据
- 盗取用户隐私数据
- 作为其他攻击的辅助攻击手法
- 传播 CSRF 蠕虫
防御
- 检查HTTP Referer是否是同域
- 限制Session Cookie的生命周期,减少被攻击的概率
- 使用验证码
- 使用一次性token
六、SSRF(服务器端请求伪造)
原理
SSRF(Server-Side Request Forgery):服务器端请求伪造,该漏洞通常由攻击者构造的请求传递给服务端,服务器端对传回的请求未作特殊处理直接执行而造成的。
危害
- 扫描内网(主机、端口)
- 向内部任意主机的任意端口发送精心构造的payload
- 攻击内网的Web应用
- 读取任意文件
- 拒绝服务攻击
防御
- 统一错误信息,避免用户根据错误信息来判断远程服务器的端口状态
- 限制请求的端口为http的常用端口,比如:80、443、8080等
- 禁用不需要的协议,仅允许http和https
- 根据请求需求,可以将特定域名加入白名单,拒绝白名单之外的请求
- 后台代码对请求来源进行验证
七、XXE(XML外部实体注入)
原理
XXE漏洞全称为 XML External Entity Injection,即XML外部实体注入。
XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载, 导致用户可以控制外部的加载文件,造成XXE漏洞。
危害
- 任意文件读取
- 内网端口探测
- 拒绝服务攻击
- 钓鱼
防御
1、使用开发语言提供的禁用外部实体的方法
- PHP:
libxml_disable_entity_loader(true);
- java
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);
- Python:
from lxml import etree xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
2、过滤用户提交的XML数据
过滤关键词:<!DOCTYPE、<!ENTITY SYSTEM、PUBLIC
RCE
RCE(Remot Command/Code Execute),远程命令/代码执行
远程命令执行:用户可以控制系统命令执行函数的参数,也称命令注入
远程代码执行:用户输入的参数可以作为代码执行,也称代码注入
命令执行可以看作是一种特殊的代码执行,代码执行相对会更加灵活
八、远程代码执行漏洞
原理
应用程序中有时会调用一些系统命令函数,比如php中使用system、exec、shell_exec等 函数可以执行系统命令,当攻击者可以控制这些函数中的参数时,就可以将恶意命令拼接 到正常命令中,从而造成命令执行攻击。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
成命令执行攻击。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-Bo3ryYbn-1713270324649)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!