ctfshow

1,web153

大小写绕过失败

使用.user.ini 来构造后⻔

php.ini是php的⼀个全局配置⽂件,对整个web服务起作⽤;⽽.user.ini和.htaccess⼀样是⽬录的配置⽂件,.user.ini就是⽤户⾃定义的⼀个php.ini,我们可以利⽤这个⽂件来构造后⻔和隐藏后⻔。.htaccess是Apache的,.user.ini是Nginx的

php 配置项中有两个配置可以起到一些作用

auto_prepend_file = <filename>         //包含在文件头
auto_append_file = <filename>          //包含在文件尾

这两个配置项的作用相当于一个文件包含,比如

// .user.ini
auto_prepend_file = 1.jpg
// 1.jpg
<?php phpinfo();?>
// 1.php(任意php文件)

利用.user.ini的前提是服务器开启了CGI或者FastCGI,并且上传文件的存储路径下有index.php可执行文件。

另一条配置包含在文件尾,如果遇到了 exit 语句的话就会失效。

.user.ini使用范围很广,不仅限于 Apache 服务器,同样适用于 Nginx 服务器,只要服务器启用了 fastcgi 模式 (通常非线程安全模式使用的就是 fastcgi 模式)。 局限

在.user.ini中使用这条配置也说了是在同目录下的其他.php 文件中包含配置中所指定的文件,也就是说需要该目录下存在.php 文件,通常在文件上传中,一般是专门有一个目录用来存在图片,可能小概率会存在.php 文件。

user. ini 文件 是PHP的配置文件,用于自定义PHP的配置选项。

在文件上传中,.user.ini和.htaccess作用差不多,都是一种 配置文件 指定对于文件的解析方式。

先上传.user.ini文件里面的auto_prepend_file=要写入恶意代码的文件,然后上传恶意文件,之后访问upload

先上传木马图片,再上传ini文件

先改成png,绕过前端

2,web154

前端校验

无法使用<=eval($_POST[1]);?>,使用<?system("tac ../flag.*");?>

3,web155

和上面的一样使用.user.ini绕过,还是过滤了php

4,web156

有过滤,通过测试发现是[]括号

试了一下编码进行绕过,发现不行

不过可以使用前面的命令执行语句

<?=system("tac ../flag.*");?>

5,web157

还是可以上传ini

做过滤了

试了一下发现是分号

短标签没有;号也可以

6,web158

和上面的一样

7,web159

有过滤找过滤

通过测试发现过滤了()号

使用反引号绕过

在权限足够的情况下,PHP中的反引号可以直接执行系统命令,这被称为内敛执行。

使用反引号会将里面的命令当成系统命令执行

反引号(相当于shell_exec() )

shell_exec() 是 PHP 中的一个函数,它允许你执行外部程序,并且可能返回最后一行的输出。

8,web160

有过滤测试过滤,过滤了空格和反引号,还要括号()

看了一下wp,发现是用php伪协议读取文件

<?=include"ph"."p://filter/convert.base64-encode/resource=../flag.p"."hp"?>

include:这是PHP中的一个函数,用于包含并运行指定文件的内容。如果文件包含成功,其内容将被输出到当前位置。

除了包含文件还可以通过包含日志写入一句话木马找到flag

没成功

9,web161

一开始以为是过滤了ini文件,结果是类型

看了一下wp发现是文件头的校验

.JPEG;.JPE;.JPG,”JPGGraphic File”

.gif,”GIF 89A”

.zip,”Zip Compressed”

.doc;.xls;.xlt;.ppt;.apr,”MS Compound Document v1 or Lotus Approach

之后就好办了,用上一题的文件包含

10,web166

进行上传发现职业zip文件可以上传

在里面写入一句话木马进行上传

点击下载,更改请求,它默认包含了传的zip文件

11,web167

让上传jpg的文件

看一下中间件

通过传入没有后缀的文件,可以看出是黑名单

对类型做判断

看了一下提示,搜索了一下

apche试一下解析漏洞

改一下前端

12,web168

经过测试发现过滤了eval和POST还要get,system也给过滤了

不过我想到了160题的用反引号做出来的

发现不行,看了一下wp,发现要免杀

额发现是名字不对,不过看了一下这个加一些正常特征也可以绕过

看wp还可以REQUEST绕过,没测

13,web169

看一下让上传什么

先随便上传一个看看,把内容全删还是不行,试试改变类型

发现可以了

通过测试发现过滤了php和<>

试了一下发现对文件后缀没做限制,这时候试试前面的ini配置文件绕过,直接包含是不行了,试试日志包含

在ua头里面放入一句话

phpinfo() 可作为瞄点

14,web170

直接抓包开测

类型是image/png

对文件后缀没做限制

试一下上一关的日志包含

成功获取到flag

15,web78

利用php伪协议的data协议和input协议都能解。

传参 file=data://text/plain,<?php system("ls");?>,查看目录,然后传参 file=data://text/plain,<?php system("tac flag.php");?>,拿到flag。

或者传参 file=php://input 同时内容为 ?php system("ls");?>,查看目录

不知道为什么cat用不了,只能yongtac

16,web351

error_reporting(0);

  • 这行代码用于关闭PHP的错误报告。

使用 curl_init() 函数初始化一个新的cURL会话,并传入之前从POST请求中获取的URL。

使用 curl_setopt() 函数设置cURL会话的选项。这里设置的选项是 CURLOPT_HEADER,其值被设置为0,意味着在返回的结果中不包含HTTP头部信息。

再次使用 curl_setopt() 函数设置选项。这次设置的选项是 CURLOPT_RETURNTRANSFER,其值被设置为1,意味着cURL执行结果(即访问指定URL后得到的内容)将作为字符串返回,而不是直接输出。

使用 curl_exec() 函数执行之前初始化的cURL会话。这个函数返回的是访问指定URL后得到的内容(基于之前设置的 CURLOPT_RETURNTRANSFER 选项)

curl_close($ch);

  • 使用 curl_close() 函数关闭cURL会话,释放相关资源。

echo ($result);

  • 输出cURL执行结果,即访问指定URL后得到的内容。

传入127.0.0.1,进行本地访问

17,web352

代码中虽然是有过滤但是去没有用。。

18,web353

使用ip转数字

19,web354

过滤了1和0

方法一:域名指向127

在自己的域名中添加一条A记录指向 127.0.0.1

或者使用 http://sudo.cc这个域名就是指向127.0.0.1

方法二:302跳转

在自己的网站页面添加

<?php
header("Location:http://127.0.0.1/flag.php");

重定向到127

20,web355

要满足(strlen($host)<=5)

本机ip、127.0.0.1和0.0.0.0区别 - 小窝蜗 - 博客园

一个非常特殊的IP:0.0.0.0

这个IP相当于java中的this,代表当前设备的IP。

使用url=http://0/flag.php,读取flag

21,web356

((strlen($host)<=3))

用上面的payload,还是可以的

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

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

相关文章

【大数据学习 | Spark-SQL】Spark-SQL编程

上面的是SparkSQL的API操作。 1. 将RDD转化为DataFrame对象 DataFrame&#xff1a; DataFrame是一种以RDD为基础的分布式数据集&#xff0c;类似于传统数据库中的二维表格。带有schema元信息&#xff0c;即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这样的数…

DINO-X:一种用于开放世界目标检测与理解的统一视觉模型

摘要 本文介绍了由IDEA Research开发的DINO-X&#xff0c;这是一个统一的以对象为中心的视觉模型&#xff0c;具有迄今为止最佳的开放世界对象检测性能。DINO-X采用了与Grounding DINO 1.5 [47]相同的基于Transformer的编码器-解码器架构&#xff0c;以追求面向开放世界对象理…

MySQL系列之远程管理(安全)

导览 前言Q&#xff1a;如何保障远程登录安全一、远程登录的主要方式1. 用户名/口令2. SSH3. SSL/TLS 二、使用TLS协议加密连接1. 服务端2. 客户端 结语精彩回放 前言 在我们的学习或工作过程中&#xff0c;作为开发、测试或运维人员&#xff0c;经常会通过各类客户端软件&…

扫振牙刷设计思路以及技术解析

市面上目前常见的就两种&#xff1a;扫振牙刷和超声波牙刷 为了防水&#xff0c;表面还涂上了一层防水漆 一开始的电池管理芯片&#xff0c;可以让充电更加均衡。 如TP4056 第一阶段以恒流充电&#xff1b;当电压达到预定值时转入第二阶段进行恒压充电&#xff0c;此时电流逐…

Hot100 - 除自身以外数组的乘积

Hot100 - 除自身以外数组的乘积 最佳思路&#xff1a; 此问题的关键在于通过两次遍历&#xff0c;分别计算从左侧和右侧开始的累积乘积&#xff0c;以此避免使用额外的除法操作。 时间复杂度&#xff1a; 该算法的时间复杂度为 O(n)&#xff0c;因为我们只需要遍历数组两次。…

一个vue项目如何运行在docker

将 Vue.js 应用程序通过 Docker 发布是一个非常常见的做法&#xff0c;它可以帮助你轻松地部署应用到不同的环境中。下面是一个简单的指南&#xff0c;介绍如何为 Vue.js 项目创建 Dockerfile 并进行构建和运行。 第一步&#xff1a;安装 Docker 确保你的开发机器上已经安装了…

【公益接口】不定时新增接口,仅供学习

文章日期&#xff1a;2024.11.24 使用工具&#xff1a;Python 文章类型&#xff1a;公益接口 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js 标准算法&#xff…

使用phpStudy小皮面板模拟后端服务器,搭建H5网站运行生产环境

一.下载安装小皮 小皮面板官网下载网址&#xff1a;小皮面板(phpstudy) - 让天下没有难配的服务器环境&#xff01; 安装说明&#xff08;特别注意&#xff09; 1. 安装路径不能包含“中文”或者“空格”&#xff0c;否则会报错&#xff08;例如错误提示&#xff1a;Cant cha…

DolphinDB 登陆伦敦!携手中英人工智能协会共话 AI 未来

11 月 9 日&#xff0c;DolphinDB 联合中英人工智能协会&#xff08;CBAIA&#xff09;在全球人工智能中心、今年三位诺贝尔奖得主的诞生地——伦敦盖茨比计算神经科学中心举办 AI 技术交流会。来自人工智能、量化投资等领域的 150 多位全球专家齐聚一堂&#xff0c;共同探讨人…

爬虫与反爬-Ja3指纹风控(Just a moment...)处理方案及参数说明

概述&#xff1a;本文将针对 Ja3 指纹检测风控进行处理&#xff0c;举例了一个案例并使用两种不同的破解方案进行突破&#xff0c;同时深入了解指纹间不同字符所代表的含义 指纹检测背景&#xff1a; 1、每一个设备、软件都有独属于自己的设备信息、版本号、加密算法、椭圆算…

数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!

文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…

华为云云连接+squid进行正向代理上网冲浪

1 概述 ‌Squid‌是一个高性能的代理缓存服务器&#xff0c;主要用于缓冲Internet数据。它支持多种协议&#xff0c;包括FTP、gopher、HTTPS和HTTP。Squid通过一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求&#xff0c;这使得它在处理请求时具有较高的效率‌。…

杰发科技AC7803——不同晶振频率时钟的配置

计算公式 PLL_POSDIV [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62] PLL_PREDIV_1 1 2 4 USE_XTAL 24M SYSCLK_FREQ 64M SYSCLK_DIVIDER 1 VCO USE_XTAL*…

攸信技术:运动文化激发企业活力,赋能体育行业新未来

在攸信技术&#xff0c;运动文化如同春日暖阳&#xff0c;温暖着每一位员工的心。这份文化&#xff0c;源自盈趣科技的深厚底蕴&#xff0c;橙色不仅传递着3POS文化中的激情与活力&#xff0c;更成为了攸信人共同的精神标识。公司的每一个角落&#xff0c;都洋溢着对运动的热爱…

【ubuntu24.04】GTX4700 配置安装cuda

筛选显卡驱动显卡驱动 NVIDIA-Linux-x86_64-550.135.run 而后重启:最新的是12.6 用于ubuntu24.04 ,但是我的4700的显卡驱动要求12.4 cuda

LightRAG - 更快更便宜的GraphRAG

检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;已经成为提升大型语言模型&#xff08;LLMs&#xff09;能力的重要方法之一&#xff0c;通过整合外部知识&#xff0c;显著改善了生成内容的质量和相关性。 RAG 的局限性 传统的 RAG 系统虽然表现优…

TCP/IP协议攻击与防范

一、TCP/IP协议攻击介绍 1.1 Internet的结构​ LAN&#xff1a;局域网 WAN&#xff1a;广域网 WLAN&#xff1a;无线局域网 私有IP地址与公有IP地址&#xff1f; 私有地址&#xff1a;A类&#xff1a;10.0.0.0~10.255.255.255 B类&#xff1a;172.16.0.0~172.31.255.255…

机器学习模型——线性回归

文章目录 前言1.基础概念2.代价函数3.单变量线性回归3.1加载数据3.2初始化超参数3.3梯度下降算法3.3.1初次梯度下降3.3.2 多次梯度下降3.3.3结果可视化 前言 随着互联网数据不断累积&#xff0c;硬件不断升级迭代&#xff0c;在这个信息爆炸的时代&#xff0c;机器学习已被应用…

Flink CDC 使用实践以及遇到的问题

背景 最近公司在做一些业务上的架构调整&#xff0c;有一部分是数据从mysql采集到Starrocks&#xff0c;之前的一套方法是走 debezium 到 puslar 到 starrocks,这一套下来比较需要配置很多东西&#xff0c;而且出现问题以后&#xff0c;需要修改很多配置&#xff0c;而且现阶段…

Pgsql:json字段查询与更新

1.查询json字段的值 SELECT attribute_data->>设施类别 mycol, * FROM gis_coord_data WHERE attribute_data->>设施类别阀门井 查询结果如下&#xff1a; 2.更新json字段中的某个属性值 UPDATE gis_coord_data SET attribute_data(attribute_data::jsonb ||{&quo…