中企动力做的网站后台怎么登录正版搜索引擎优化

进入靶场,有提示

我们在url试着输入本地IP,返回了ping命令

既然要在url处传参,那就用postman,再输入ip=127.0.0.1 & ls,试着列出目录内容

ok,好像是个脏话,它过滤了空格

试着穿越又看到了脏话,它过滤了符号,一怒之下删掉了../ 你猜怎么着,得到了两个文件名

当然是flag.php更吸引人,但index.php肯定有存在的意义,用cat命令读取文件内容,且不要空格,符号,那就用$IFS$1试着代替空格


两个都尝试后发现flag被过滤了,我们去研究index.php
/?ip=
|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);die("fxck your symbol!");} else if(preg_match("/ /", $ip)){die("fxck your space!");} else if(preg_match("/bash/", $ip)){die("fxck your bash!");} else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){die("fxck your flag!");}$a = shell_exec("ping -c 4 ".$ip);echo "
"; print_r($a); } ?>
-
IP地址的初步安全检查:
- 使用
preg_match函数检查输入字符串$ip是否包含一系列特殊字符(如&,/,?,*,<, 空格,>,',",\,(,),[,],{,})。 - 如果检测到这些特殊字符,输出匹配结果(1或0表示是否匹配),并终止脚本执行,显示错误信息"fxck your symbol!"。
- 使用
-
检查空格:
- 如果
$ip包含空格,则终止脚本执行,显示错误信息"fxck your space!"。
- 如果
-
检查bash关键字:
- 如果
$ip包含字符串"bash",则终止脚本执行,显示错误信息"fxck your bash!"。
- 如果
-
检查flag关键字:
- 使用正则表达式检查
$ip是否包含任意顺序的字符组成的"flag"(不区分大小写)。如果包含,则终止脚本执行,显示错误信息"fxck your flag!"。
- 使用正则表达式检查
-
执行ping命令:
- 如果通过了上述所有检查,使用
shell_exec函数执行ping -c 4命令来测试$ip的连通性。-c 4参数表示发送4个ICMP ECHO_REQUEST消息。 - 输出空行和
ping命令的执行结果。
- 如果通过了上述所有检查,使用
这里我就没办法了
看了博客后,将flag中的g用$a代替可以绕过

或者内联执行

