打开网页内容如下

我们来看一下核心代码
<?php
include_once "code.txt";
if (isset($_POST['ip'])) {
$p=$_POST['ip'];
if(preg_match("/(;|`|&| |\\$|python|ruby|perl|bash|rm|cp|mv|\*|\{)/i", $p)){
die("Hacker!");
}
$cmd = 'ping -c1 '.$_POST['ip'];
$result = runLocalCommand($cmd);
if ($result) {
echo "Success!";
} else {
echo "Error!";
}
}
?>
preg_match()是PHP里用于正则表达式匹配的
正则表达式包含在/ /中间
preg_match("/(;|`|&| |\\$|python|ruby|perl|bash|rm|cp|mv|\*|\{)/i", $p)
这句代码就在$p变量里查找是否有如下
本文详细介绍了在CTF比赛中遇到的ping文件执行漏洞,探讨了如何绕过过滤限制,利用Linux管道符实现无回显的命令执行。通过反弹shell和base64编码技巧,最终成功获取flag。过程中提到了sh -c、eval()、base64编码解码以及shell_exec()等关键概念。
最低0.47元/天 解锁文章
4678

被折叠的 条评论
为什么被折叠?



