BugKu:备份是个好习惯

Posted Zeker62

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BugKu:备份是个好习惯相关的知识,希望对你有一定的参考价值。

解题过程

了解到备份二字,说明可能存在备份文件。
备份文件的好处是:浏览器无法解析带有备份后缀的文件,之后会直接提供用户下载到本地,用户通过去掉备份后缀打开可以查看页面源代码进行代码审计
通过查找,查到index.php.bak这个备份文件
在浏览器输入后下载到本地返现是PHP代码:

<?php
/**
 * Created by PhpStorm.
 * User: Norse
 * Date: 2017/8/6
 * Time: 20:22
*/

include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);

echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
    echo $flag."取得flag";
}
?>

这里就存在过滤了

  • 代码截取了?后面的传参值
  • 代码将key字符过滤成'' ,但是我们可以使用双写绕过
  • parse_str是传入变量到str中去,解析str
  • 之后是md5的加密

这里的问题就是,md5加密比较麻烦,但是md5不能解析数组,所以我们传入数组即可
传入变量:
flag就出来了

以上是关于BugKu:备份是个好习惯的主要内容,如果未能解决你的问题,请参考以下文章

http://www.bugku.com:Bugku——备份是个好习惯(http://120.24.86.145:8002/web16/)

CTF-备份是个好习惯

CTF-代码审计

delete后加 limit是个好习惯么 !

delete后加 limit是个好习惯么 !

涨姿势了!delete后加 limit是个好习惯么?