求用PHP将远程调用失败的图片地址隐藏的方法

求用PHP将远程调用的图片地址隐藏的方法_百度知道挖洞姿势:特殊的上传技巧,绕过PHP图片转换实现远程代码执行(RCE) -
| 关注黑客与极客
挖洞姿势:特殊的上传技巧,绕过PHP图片转换实现远程代码执行(RCE)
共232786人围观
,发现 60 个不明物体
我使用了一个特殊的图片上传技巧,绕过PHP GD库对图片的转换处理,最终成功实现了远程代码执行。
事情是这样的。当时我正在测试该网站上是否存在sql注入漏洞,不经意间我在网站个人页面发现了一个用于上传头像的文件上传表单。开始时我并没指望在上传功能处发现漏洞,但我决定试试。
我上传了一个图片文件,通过截断http数据包,修改jpg图片的文件名后缀为php,然后继续上传。我惊讶的居然上传成功了,我几乎不敢相信这么简单的漏洞居然存在。于是我复制了图片url并且在浏览器上打开。进入我眼帘的是图片的二进制代码,这意味着图片以php解析了,并根据响应包里的content-type以text/html格式返回。
我现在要做的是在jpg文件中注入php代码以进行远程代码执行,于是我尝试将代码&?&phpinfo(); ?&写入图片的EXIF头里,但是悲剧的是再次上传发现php代码没有被执行。
在本机进行了测试,结果仍然无效——代码没有被执行????
在上传到服务器后,EXIF里的代码都被删除了,应用通过imagecreatefromjpeg()函数调用了PHP GD库(GD库,是php处理图形的扩展库),对图片进行了转换。那么如果不将代码注入EXIF头而是注入到图片里呢?
本机测试通过,但当我上传“1.jpg”到服务器上,返回以下结果:
报错上写着“文件必须是合法的图片(.gif, .jpg, .jpeg, 或.png)”,我惊叹于应用是怎么判断图片不合法的。我又测试了一些其他jpg文件,结果发现修改任何一个图片字符都会引起php-gd库的错误判断,进而造成上传失败。
接下来我又使用gif图片进行了同样的操作,结果是:图片上传成功了,但是图片中的php代码完全被删除了。
虽然这看起来不可思议,但是我不能放弃,因为现在距离成功利用远程代码执行(RCE)只有一步之遥,我必须绕过imagecreatefromgif()函数。我对图片的处理和php GD库的运行知之甚少,可是这不影响我使用一些传统渗透测试方法。
我想到一个方法:对比两张经过php-gd库转换过的gif图片,如果其中存在相同之处,这就证明这部分图片数据不会经过转换。然后我可以注入代码到这部分图片文件中,最终实现远程代码执行。连我自己都佩服我的机智!
如图,我用十六进制编辑器打开图片文件,找到了php转换前后仍然保持相同的十六进制串“3b45d00ceade0c1a3f0e18aff1”并修改它为&?phpinfo()?&。
保存图片,上传到服务器:
我的PHP代码被执行了,我最终成功实现了远程代码执行。
POC图片下载地址:
&密码freebuf
&密码freebuf
[参考信息来源:,]
124篇文章等级:7级
《程序员》杂志编辑
哎呀,第一次看到这么高档能与P7相提并论的技术,作者一定是94年的!
PHP是世界上最好的语言
起初这个94在安全宝,安全宝刚开始由kaifuli投资,后来他没投资了,马洁就去找投资,刚开始也找到了投资人,再后来钱烧的差不多了,安全宝从alibaba挖走了刺,后alibaba看百度腾讯都有安全产品了,惟独我没有,合计着收购家安全公司,安全宝本身经营就不温不火,也想找个大树,alibaba有意收购,交易就达成了,收购合同里标注的有收购后安全宝员工变成alibaba员工,与是这个94后就变成了alibaba员工,由于这个94后在安全宝就是带团队的,去了alibaba后自然也是带团队,因为是lider,又因为alibaba有评级制度,结合收购关系+lider提成+技术,ali就给这个94评了个p7,因为alibaba很多老员工都没评到这个级别新员工又是94后还是p7,结果导致一部分人不满,然后就有了各种马甲,和94的传说。。
这些都是我猜的
目测你不是那个高中没毕业就去安全宝的 注意啊 94年怎么了04年的更牛比 84年的技术沉淀更多.......老实点吧
能不要扯JB蛋么?我们内部好好儿的,一点问题没有。有问题的是外面一些瞎BB的人。如果觉得自己技术好,发简历给我。P多少都行啊。
必须您当前尚未登录。
必须(保密)
《程序员》杂志编辑
分享每日精选文章& & & & 复制代码代码如下:& & <?php& & $path=$_GET["path"];& & $cacheimgname=str_replace("/","_",$path);& & $localimg="upimg/".$& & if&((file_exists($localimg)))& & {& & $httpurl=$& & }& & else& & {& & $httpurl="/".$& & @copy($httpurl,$localimg);//缓存图片!& & }& & header("Locationhttpurl");& && & ?>& & 调用它类似这样:& & 复制代码代码如下:& & & & 您可能感兴趣的文章:PHP下利用header()函数设置浏览器缓存的代码PHP通过header实现文本文件下载的代码PHP 页面编码声明方法详解(header或meta)php header 详细使用说明与使用心得PHP Header用于页面跳转要注意的几个问题总结php header()函数使用说明php header Content-Type类型小结& & QQ空间
百度搜藏更多& & Tags:PHP header 隐藏图片& & 复制链接收藏本文打印本文关闭本文返回首页& & 上一篇:PHP中的extract的作用分析& & 下一篇:php 无限级分类,超级简单的无限级分类,支持输出树状图& & 相关文章php_xmlhttp 乱码问题解决方法PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法细谈php中SQL注入攻击与XSS攻击基于HBase Thrift接口的一些使用问题及相关注意事项的详解PHP中=赋值操作符对不同数据类型的不同行为深入array multisort排序原理的详解将word转化为swf 如同百度文库般阅读实现思路及代码PHP计数器的实现代码php页面消耗内存过大的处理办法浅析php变量修饰符static的使用& & 文章评论& & 最 近 更 新& & PHP的autoload机制的实现解析php tp验证表单与自动填充函数代码检查url链接是否已经有参数的php代码 添加如何使用PHP往windows中添加用户php 批量添加多行文本框textarea一行一个php 静态化实现代码基于PHP5魔术常量与魔术方法的详解PHP常用技巧总结(附函数代码)php中显示数组与对象的实现代码php adodb连接带密码access数据库实例,测& & 热 点 排 行& & php中iconv函数使用方法PHP 页面跳转到另一个页面的多种php字符串截取问题PHPMyadmin 配置文件详解(配置)火车头采集器3.0采集图文教程php出现Cannot modify header in特详细的PHPMYADMIN简明安装教程php中json_decode()和json_encodphp下intval()和(int)转换使用与require(),include(),require_on
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
论文写作技巧推荐这篇日记的豆列
······关于PHP隐藏图片地址的问题!实现跳转地址不变化! - 开源中国社区
当前访客身份:游客 [
当前位置:
例如这个图片地址:
打开就跳转到真实地址了。请问如何实现不跳转显示这张图片。求高手指点!!!
---------------问题补充---------------
不让它跳转,直接/find/img~img04~tps/i4/T1oHepXhl7XXaCwpjX.png就能显示真实地址的内容,地址栏的网址不变!!
共有3个答案
<span class="a_vote_num" id="a_vote_num_
看来盗链也进入新的层次了
<span class="a_vote_num" id="a_vote_num_
这里原 url 有一段 &img~img04~tps/i4
也许img表示的就是图片
img04 代表
tps 表示下一级目录,i4也是。
当然可以想象有多个匹配规则,图片的文件名还是一样的。
多弄几张来试试匹配规则。
<span class="a_vote_num" id="a_vote_num_
写个 重写规则就行了呗
更多开发者职位上
有什么技术问题吗?
类似的话题

我要回帖

更多关于 远程调用失败 的文章

 

随机推荐