先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
* 条件命令符 `&&` 用于在第一个命令执行成功时执行第二个命令。
* 例如,`commandA && commandB`,只有当 `commandA` 成功执行(返回零退出状态)时,`commandB` 才会执行。
这些命令拼接方式可以帮助您构建更加复杂的命令序列,实现基于条件的命令执行流程。在编写批处理脚本或在命令行中快速执行多个命令时非常有用。但是应当注意的是,命令的成功或失败是基于其返回的退出状态码来判断的,通常情况下退出状态码为零表示成功,非零表示失败。
实训:
阿?(2023云曦秋季期末考)
说看源代码,那就看看源代码,但是这里禁用了CTRL+U和鼠标右键,除了这两种,还有一种看源代码的办法:在URL的前面加上view-source:
源代码里是一个路径。
访问一下,得到了一个php脚本页面。
脚本重定向了一系列表情符号为英文字符,通过对照,我们可以发现大哭的表情包对应为system,system函数是php语言的一个内置函数,它用来执行外部程序,并显示输出。这个函数非常的强大和危险,因为它可以执行任何的系统命令。
在PHP中,eval是一个语言结构,它将字符串作为PHP代码执行。也就是说,eval可以执行传递给它的字符串中包含的任意有效的PHP代码。因此,这里的eval()函数将会解析外星人头像参数中的内容并作为命令传递给system函数来执行。
至此,可以确定本题为RCE命令执行(远程命令执行)。并且请求方法为GET。
Ls命令查看当前目录下的文件:
Ls /返回查看根目录文件:
发现flag文件,使用cat命令查看找到flag:
本题完。
Eval执行(CTFHUB技能树)
打开题目,eval函数代表可执行php语句。这里有两种做法,第一种蚁剑直接秒了,一句话木马。第二种使用命令。/?Cmd=system(“ls”)列出当前目录文件。
返回根目录
发现flag文件,cat命令
命令注入(CTFHUB技能树)
打开靶机,一道经典的命令注入无过滤的题目。
使用ls命令查看当前目录文件
Cat命令查看数字文件内容,查看网页源代码发现flag
本题完。
过滤cat(CTFHUB技能树)
由题意可知靶机过滤了cat命令,但是我们可以使用head命令。
本题完。
Rceeee(2024云曦春开学考)
让我们逐行解释一下这个php脚本都干了些啥:
1. <?php
: 这是PHP代码开始的标志。
2. error\_reporting(0);
: 这行代码设置了PHP的错误报告级别。数字0表示禁止所有的错误报告,这通常用于生产环境中防止用户看到错误信息。
3. highlight\_file(\_\_FILE\_\_);
: 这个函数的作用是将当前文件的源代码显示在浏览器中,并且以高亮显示。\_\_FILE\_\_
是一个魔术常量,指向当前执行的脚本文件。
4. function strCheck($cmd) { ... }
: 定义了一个名为 strCheck
的函数,它接受一个参数 $cmd
,即用户输入的命令。
5. if(!preg\_match("/\;|\&|\\$|\x09|\x26|tac|cat|more|less|head|sort|tail|sed|cut|awk|strings|od|php|ping|flag/i", $cmd)){
: 使用正则表达式检查 $cmd
变量中是否含有列出的一系列字符或单词(如分号、&、$、制表符、tac、cat等)。这个检查是不区分大小写的,因为正则表达式的末尾有一个 i
修饰符。
6. return($cmd);
: 如果 preg\_match
检查不匹配(即 $cmd
中不包含那些字符或单词),函数就会返回 $cmd
。
7. else { die("你的想法很有趣....."); }
: 如果检测到了非法字符或单词,脚本执行将停止,并显示一条消息 “你的想法很有趣…”。
8. $cmd=$\_GET['cmd'];
: 这行代码从URL的查询字符串中获取 cmd
参数的值,并将其赋给变量 $cmd
。
9. strCheck($cmd);
: 对变量 $cmd
调用 strCheck
函数以检查可能的非法字符或命令。
10. shell\_exec($cmd);
: 如果 $cmd
通过了 strCheck
函数的检查,这个命令就会执行。shell\_exec
函数用于执行一个命令并通过字符串返回输出,它是PHP中用于执行外部程序的一个函数。
我们这里的思路是,绕过所有的字符和单词检查,使用tee命令,保存输出的flag的内容到文件中然后直接访问,得到flag。这里用到的命令为?cmd=c\at /fl\ag | tee 1.txt。
这个题目设计了一个基本的安全机制来过滤掉潜在的危险命令。这个机制通过 strCheck
函数实现,它检查传入的 $cmd
变量,如果发现一系列特定的字符或命令关键词,如 “;”, “&”, “tac”, “cat” 等,就会终止执行。
构造的 payload 是 http://172.16.17.201:50082/?cmd=c\at /fl\ag | tee 1.txt
。这个payload的关键在于绕过了 strCheck
函数的检测。具体来说:
1. 命令拆分:使用了 \
来逃避 strCheck
函数对 “cat” 和 “flag” 这两个词的检测。实际上命令变成了 cat /flag
,这是一条合法的命令,用于读取名为 “flag” 的文件。
2. 命令执行:使用 | tee 1.txt
将 cat
命令的输出不仅显示在屏幕上,还同时写入名为 “1.txt” 的文件。这样做的目的是为了绕过可能的输出限制,即使直接的命令执行结果无法在网页上显示,输出内容也会被保存到服务器上的 “1.txt” 文件中。
当访问 http://172.16.17.201:50082/1.txt
时,就能看到保存在 “1.txt” 文件中的 flag。这是因为这个文件现在存储在Web服务器的根目录下,可以像访问其他网页资源一样通过URL直接访问。
因此,这种 payload 的关键在于巧妙绕过了安全检测,同时保证了命令执行的结果可以被存储和访问。
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
014.png#pic_center)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-TfgmzX1a-1713290931602)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!