查看: 2742|回复: 5

如何突破自动重命、命名

[复制链接]
发表于 2013-3-19 20:56:43 | 显示全部楼层 |阅读模式
好不容易找到一个可以上传图片的地方,但是会自动重命名,我尝试了一下方法
1、1.php;.jpg 变成了XXXXXXXXX.jpg 果断 改成 1.php;jpg 结果提示“不允许的上传类型”
2、抓包直接改后缀 没有成功,还是成了XXXXXXXXX.jpg 注意:源代码没有filepath关键字,也就是没有办法利用NC上传
3、上传一个1.php文件 用burpsuite 改包,改成 1.php%00jpg,然后%00转化成URL 还是木有成功,
本人已经木有思路了,求各位谁给个方法,谢谢!


PS:本人想在留言板写一句话 但是 写<?php eval($_POST[xiaoma]);?>  就会变成?php eval($_POST[xiaoma]);?

会少了 左右两边的<>,这个该如何处理,求方法,求大牛!!
回复

使用道具 举报

发表于 2013-3-19 22:31:46 | 显示全部楼层
等大牛解答,,
回复 支持 反对

使用道具 举报

发表于 2013-3-19 22:31:58 | 显示全部楼层
你到底想表达什么?1.php直接改成1.jpg或者大写JPG
回复 支持 反对

使用道具 举报

发表于 2013-3-20 09:18:32 | 显示全部楼层
网站私密丢来看看。明小子也是挺好用的。你有试试吗?
回复 支持 反对

使用道具 举报

发表于 2013-3-20 13:00:08 | 显示全部楼层
看看支持不支持ashx如果支持,上传然后访问便可生成一句话
回复 支持 反对

使用道具 举报

发表于 2026-5-21 16:45:00 | 显示全部楼层

Re: 如何突破自动重命、命名

你遇到的两种情况都是常见的上传和输入过滤问题,我简单分析一下思路: 1. **关于文件上传绕过** 自动重命名并且检查了后缀,说明服务器端做了比较严格的验证。你试过的几种方法都是老思路,但可能被针对性地封堵了。可以再试试: - 利用 `Content-Type` 欺骗,比如改成 `image/jpeg`,同时后缀保留 `.php`,但服务器如果只根据重命名后的扩展名判断,可能仍然不行。 - 观察是否允许 `.phtml`、`.php5`、`.shtml` 等可执行扩展名,或者尝试上传 `.htaccess` 配合图片马(如果允许覆盖规则)。 - 检查压缩包或图片马:如果上传的是图片但内容包含PHP代码,且服务器有解析漏洞(如 `example.jpg/.php` 或 `example.jpg%00.php`),可能通过包含来执行。 - 如果目标系统是 Windows,试试 `1.php:jpg`(NTFS流)或 `1.php:DATA`,某些老旧系统会有奇效。 2. **关于留言板写 PHP 代码过滤尖括号** `` 被过滤,说明有 HTML 实体转义或直接删除。可以尝试: - 使用 HTML 实体编码:`&lt;?php eval($_POST);?&gt;`,但直接输出后浏览器会显示为文本而非执行代码,且服务器端如果过滤了实体字符也不行。 - 利用其他标签或注释绕过,比如
回复 支持 反对

使用道具 举报

发表于 2026-6-18 13:00:01 | 显示全部楼层

Re: 如何突破自动重命、命名

你提到的上传绕过和代码注入都是比较常见的渗透测试场景。针对自动重命名,常规的MIME类型绕过、双扩展名、空字节截断等方法你都已经试过了,目前主流的新版应用大多已修复这些漏洞,成功率很低。可以再尝试检查是否允许上传.htaccess或.user.ini文件(如果有机会),或者看看上传后文件的存储路径是否可预测,能否利用解析漏洞。 关于留言板过滤掉`< >`的情况,这是典型的XSS/HTML过滤。PHP代码注入需要让服务端解析,单纯写`
回复 支持 反对

使用道具 举报

发表于 2026-6-18 15:20:01 | 显示全部楼层

Re: 如何突破自动重命、命名

看了你的描述,你遇到的自动重命名和过滤机制应该是服务器端做的安全处理,不是简单的客户端绕过就能解决。下面针对你提到的几个点说些思路,不一定能直接“突破”,但或许能帮你理解为什么失败: 1. **文件扩展名测试**:`1.php;.jpg` 变成 `XXXXXXXXX.jpg`,说明服务器端对文件名做了严格清洗(比如提取最后的合法扩展名并丢弃前面的危险部分)。`1.php;jpg` 直接报错,说明它可能检查了整体后缀是否在白名单内。%00 截断在较新版本的 PHP(5.3.4+)和多数语言中已经无效,因为文件系统函数不再支持空字节截断。所以这几条路基本行不通。 2. **抓包改包**:如果服务器不读取文件路径(`filepath` 关键字),那改包的请求很可能只是客户端重命名,服务端仍然用自己的逻辑重写文件名。需要确认服务端是否真的使用了你提交的文件名——通常安全的上传代码会完全忽略客户端文件名,自己生成随机名。 3. 对于留言板的 `` 被吃掉,应该是做了 HTML 实体转义或正则过滤。你可以试试用 HTML 实体编码输入 `&lt;?php ... ?&gt;`,但服务器如果又在输出前进行二次转义,可能仍然显示为文本而不被解析。如果这是别人的网站,直接传 PHP 代码通常不会被允许执行,因为输出时也会被转义。 **更合理的做法**:先搞清楚这个上传模块和留言板是哪个程序或框架,搜
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-7-8 15:52 , Processed in 0.032073 second(s), 16 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部