暑期练习web19:忘记密码了(实验吧)vim备份文件

解题连接:http://ctf5.shiyanbar.com/10/upload/step1.php
拿到题目
这里写图片描述
查看源码后发现没什么有用的东西,所以我们先随便输入一下
这里写图片描述
看到了step2.php,我们访问试试
这里写图片描述
继续访问submit.php,就给出一个you are not an admin,抓包也没看到有用的东西,所以我们之后回头再看看step2.php的信息,这里看了大佬的wp,得知源码这里提示了vim
这里写图片描述
而vim是linux的一个编辑器,
vim产生的备份文件和临时文件

一、vim备份文件

默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看;

eg:index.php普遍意义上的首页,输入域名不一定会显示。   它的备份文件则为index.php~

二、vim临时文件

vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件

submit.swp。如果文件正常退出,则此文件自动删除。
这里参考了这篇文章http://www.cnblogs.com/zwfc/p/5466885.html
这下我们得知,vim回产生一个备份文件,所以我们访问submit.php.swp试试,结果弹出个not found
这里写图片描述
后面查了才知道,是我的访问方式错了,文件名前面还得加个.成功访问后得到一段代码

........这一行是省略的代码........

/*
如果登录邮箱地址不是管理员则 die()
数据库结构

--
-- 表的结构 `user`
--

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `token` int(255) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

--
-- 转存表中的数据 `user`
--

INSERT INTO `user` (`id`, `username`, `email`, `token`) VALUES
(1, '****不可见***', '***不可见***', 0);
*/


........这一行是省略的代码........

if(!empty($token)&&!empty($emailAddress)){
    if(strlen($token)!=10) die('fail'); //要求token的长度为10
    if($token!='0') die('fail'); //token又要等于0
    $sql = "SELECT count(*) as num from `user` where token='$token' AND email='$emailAddress'";
    $r = mysql_query($sql) or die('db error');
    $r = mysql_fetch_assoc($r);
    $r = $r['num'];
    if($r>0){
        echo $flag;//重点
    }else{
        echo "失败了呀";
    }
}

根据这段代码我们得知:

  1. 要传两个值,一个token,一个是emailAddress
  2. token长度为10且为0
  3. 正确的emailaddress

知道这三点后,我们一个个解决
1.首先之前源码有提示是get传值
这里写图片描述
2.token有这两个要求的话,首先长度为10就一定得是十位,又因为php是弱类型语言, 所以当成0000000000只要不用===号判断,那么就相当于0,于是就构造token=0000000000
3.地址之前在step2的时候查vim就发现了
这里写图片描述
所以最后的payload就是:http://ctf5.shiyanbar.com/10/upload/submit.php?token=0000000000&[email protected]
于是得到flag
这里写图片描述
总结:讲道理这道题不能说很简单,至少vim这一块的知识不了解的话就没得办法了,然后这题许多信息都放在了源码中,需要我们经常回头去查找,收获了vim备份文件的知识还是挺不错的
今天是我的本命:巧爷
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_41618162/article/details/81943004
今日推荐