网安面试高频考点:十大网络安全漏洞总结,原理 + 危害 + 防御背诵版
发布时间:2026/8/14 15:21:51 作者:尧图编辑部 阅读量:1,286

一、弱口令【文末福利】产生原因与个人习惯和安全意识相关为了避免忘记密码使用一个非常容易记住 的密码或者是直接采用系统的默认密码等。危害通过弱口令攻击者可以进入后台修改资料进入金融系统盗取钱财进入OA系统可以获取企业内部资料进入监控系统可以进行实时监控等等。防御设置密码通常遵循以下原则1不使用空口令或系统缺省的口令为典型的弱口令2口令长度不小于8 个字符3口令不应该为连续的某个字符例如AAAAAAAA或重复某些字符的组合例如tzf.tzf.。4口令应该为以下四类字符的组合大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只 包含一个那么该字符不应为首字符或尾字符。5口令中不应包含特殊内容如本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail 地址等等与本人有关 的信息以及字典中的单词。6口令不应该为用数字或符号代替某些字母的单词。7口令应该易记且可以快速输入防止他人从你身后看到你的输入。8至少90 天内更换一次口令防止未被发现的入侵者继续使用该口令。二、SQL注入产生原因当Web应用向后台数据库传递SQL语句进行数据库操作时。如果对用户输入的参数没有经过严格的过滤处理那么攻击者就可以构造特殊的SQL语句直接输入数据库引擎执行获取或 修改数据库中的数据。本质把用户输入的数据当做代码来执行违背了 “数据与代码分离”的原则。SQL注入的两个关键点1、用户能控制输入的内容2、Web应用把用户输入的内容带入到数据库中执行危害盗取网站的敏感信息绕过网站后台认证后台登陆语句SELECT*FROMadminWHEREUsernameuser’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跨站脚本攻击原理**XSSCross Site Scripting**跨站脚本攻击为了不和层叠样式表Cascading Style Sheets的缩写CSS混合所以改名为XSS**XSS原理**攻击者在网页中嵌入客户端脚本通常是JavaScript的恶意脚本当用户使用浏览器加载被嵌入恶意代码的网页时恶意脚本代码就会在用户的浏览器执行造成跨站脚本的攻击危害盗取Cookie网络钓鱼植马挖矿刷流量劫持后台篡改页面内网扫描制造蠕虫等防御对用户的输入进行合理验证对特殊字符如 、、 ’ 、 ”等以及五、CSRF跨站请求伪造 原理CSRFCross-Site Request Forgery中文名称跨站请求伪造 原理攻击者利用目标用户的身份执行某些非法的操作 跨站点的请求请求的来源可以是非本站 请求是伪造的请求的发出不是用户的本意。危害篡改目标站点上的用户数据盗取用户隐私数据作为其他攻击的辅助攻击手法传播 CSRF 蠕虫防御检查HTTP Referer是否是同域限制Session Cookie的生命周期减少被攻击的概率使用验证码使用一次性token六、SSRF服务器端请求伪造原理SSRF(Server-Side Request Forgery服务器端请求伪造该漏洞通常由攻击者构造的请求传递给服务端服务器端对传回的请求未作特殊处理直接执行而造成的。危害扫描内网主机、端口向内部任意主机的任意端口发送精心构造的payload攻击内网的Web应用读取任意文件拒绝服务攻击防御统一错误信息避免用户根据错误信息来判断远程服务器的端口状态限制请求的端口为http的常用端口比如80、443、8080等禁用不需要的协议仅允许http和https根据请求需求可以将特定域名加入白名单拒绝白名单之外的请求后台代码对请求来源进行验证七、XXEXML外部实体注入原理XXE漏洞全称为 XML External Entity Injection即XML外部实体注入。XXE漏洞发生在应用程序解析XML输入时没有禁止外部实体的加载 导致用户可以控制外部的加载文件造成XXE漏洞。危害任意文件读取内网端口探测拒绝服务攻击钓鱼防御1、使用开发语言提供的禁用外部实体的方法PHPlibxml_disable_entity_loader(true);javaDocumentBuilderFactory dbf DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);Pythonfrom lxml import etree xmlData etree.parse(xmlSource,etree.XMLParser(resolve_entitiesFalse))2、过滤用户提交的XML数据过滤关键词!DOCTYPE、!ENTITY SYSTEM、PUBLICRCERCERemot Command/Code Execute远程命令/代码执行远程命令执行用户可以控制系统命令执行函数的参数也称命令注入远程代码执行用户输入的参数可以作为代码执行也称代码注入命令执行可以看作是一种特殊的代码执行代码执行相对会更加灵活八、远程代码执行漏洞原理应用程序中有时会调用一些系统命令函数比如php中使用system、exec、shell_exec等 函数可以执行系统命令当攻击者可以控制这些函数中的参数时就可以将恶意命令拼接 到正常命令中从而造成命令执行攻击。命令执行漏洞属于高危漏洞之一也可以算是一种特殊的代码执行原因用户可以控制输入的内容用户输入的内容被当作命令执行防御方式尽量不要使用命令执行函数客户端提交的变量在进入执行命令函数方法之前一定要做好过 滤对敏感字符进行转义在使用动态函数之前确保使用的函数是指定的函数之一对PHP语言来说不能完全控制的危险函数最好不要使用九、反序列化漏洞原理原因是程序没有对用户输入的反序列化字符串进行检测导致反序列化过程可以被恶意控制进而造成代码执行、getshell等一系列安全问题。危害不安全的反序列化主要造成的危害是远程代码执行如果无法远程代码执行也可能导致权限提升、任意文件读取、拒绝服务攻击等防御方式应该尽量避免用户输入反序列化的参数如果确实需要对不受信任的数据源进行反序列化需要确保数据未被篡改比如使用数字签名来检查数据的完整性严格控制反序列化相关函数的参数坚持用户所输入的信息都是不可靠的原则对于反序列化后的变量内容进行检查以确定内容没有被污染做好代码审计相关工作提高开发人员的安全意识最后如何系统学习网络安全/黑客网络安全不是「速成黑客」而是守护数字世界的骑士修行。当你第一次用自己写的脚本检测出漏洞时那种创造的快乐远胜于电影里的炫技。装上虚拟机从配置第一个Linux环境开始脚踏实地从基础命令学起相信你一定能成为一名合格的黑客。如果你还不知道从何开始我自己整理的282G的网络安全教程可以分享我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的网安资源希望能帮到你。需要的话可以V扫描下方二维码联系领取~如果二维码失效可以点击下方链接去拿一样的哦【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享1.从0到进阶主流攻防技术视频教程包含红蓝对抗、CTF、HW等技术点2.入门必看攻防技术书籍pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里3.安装包/源码主要攻防会涉及到的工具安装包和项目源码防止你看到这连基础的工具都还没有4.面试试题/经验网络安全岗位面试经验总结谁学技术不是为了赚$呢找个好的岗位很重要需要的话可以V扫描下方二维码联系领取~因篇幅有限资料较为敏感仅展示部分资料添加上方即可获取如果二维码失效可以点击下方链接去拿一样的哦【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享