别致的上传思路导致getshell的案例
0x01 前言
在某次授权的项目中,客户只要getshell漏洞,经过一番折腾,最后成功拿下shell,完成项目交付,本文将过程和遇到的问题和一些小tips分享给大家。
0x02 SQL注入
经过资产收集,在资产中,找到某个子域名,打开就是个登录框
输入手机号和密码,验证码进行登录,结果数据包中并没有验证码,2333
随手加上' 居然报错了,存在mysql的注入,还报错了物理路径,还有密码列名为usepwd(后面有用到)
要是root权限是不是就美滋滋了,结果多想了,不是root权限.
尝试了用or '1'='1也没成功登录,只能老老实实去注入查账号密码,然后登录进去看看有没有其他点可以拿shell。
手工看后没有过滤,可以使用select from,那跑数据还是交给sqlmap吧。
按照步骤,跑库,跑表。
可是这个数据库是通用的,表名就有400多个,带User关键字的都有20多个。
尝试了表名locus_user
跑出来的账号密码,账号不是手机号,密码也登陆不上。
就跑第二个,第三个,都不对。
想了想,登录后还不知道有没有其他点能用,注入
一直这么跑,有些表也很大,也很敏感,就不敢跑了,关机睡觉,第二天换其他子域名去看
但是第二天下午还是想看看能不能搞下来,就继续看这个站
回过头来想到userpwd
的字段,mysql也有存储了表和列结构
想到直接查那些表名有userpwd的字段
select * from information_schema.columns where column_name = 'userpwd'
直接----sql-shell去执行,这次只得到三个表名
最终在coupon_user获得账号密码
133xxxx3333/xxxx
0x02文件上传
使用账号密码直接登录
在后台一堆找,都是查询,有个活动编辑的功能,里面有上传图片
直觉告诉我这里可以shell,兴高采烈的上传抓包:
结果上传接口为uploader/uploadTencentCloud,文件保存到TencentCloud,没保存在本地,这也没办法shell啊
不甘心找其他上传的地方,如下:
还是上传在腾讯云,整个站都使用的uploadTencentCloud的接口上传。
陷入僵局,冷静思考了一下理一理思路,
上传腾讯云,上传名字也叫uploadTencentCloud,会不会是开发新开发的接口,怕服务器保存图片太多了,专门开发的接口。
会不会存在upload的方法。
直接尝试一下
真被我猜中了,存在upload
的上传接口
为了验证自己的想法,尝试了其他站,有些站也有这个小问题,开发不删除原接口,根据业务要求直接写了新接口,修改了前端。
尝试将uploader/uploadTencentCloud改成uploader/upload
成功上传到本地,喜出望外,盲猜一手文件存在了upload目录
成功getshell
技术总结
1.当mysql注入数据库里表名很多,找不到列名时,可根据报错的列名或者参数值去查询表名;
2.遇到二次开发的上传接口,如uploadTX、uploadOSS、uploadS3时,可尝试uploa接口是否存在。
别致的上传思路导致getshell的案例相关推荐
- TextpatternCMS后台未过滤直接上传php导致getshell
该漏洞CNVD-ID: CNVD-2019-12539 漏洞提交CNVD后,待CNVD公示才发出本文. 测试环境:windows7 + firefox + Burpsuite + apache2 +p ...
- php ios视频文件上传,iOS实现视频和图片的上传思路
关于iOS如何实现视频和图片的上传, 我们先理清下思路,然后小编根据思路一步一步给大家详解实现过程. 思路: #1. 如何获取图片? #2. 如何获取视频? #3. 如何把图片存到缓存路径中? #4. ...
- java防止文件上传_文件上传漏洞:getshell的最好方式,我们如何防御?
我相信,你在开发Web应用时,后端一定会提供文件的上传功能,比如前端页面肯定有图片的展示,后端必定会提供图片的上传入口.但是,你在做文件上传功能时,是否考虑过它的安全性问题呢? 请看下面的代码: @P ...
- 文件上传一句话木马getshell
文件上传 文件上传流程: a.文件表单提交 b.生成临时文件(读取临时文件信息) c.后端语言判断该文件是否合规 d.合规则保存文件 一句话木马: 1.在phpstudy搭建的站点www目录下写入一个 ...
- struts2的多个文件上传思路,小例子 ,仅供参考
2019独角兽企业重金招聘Python工程师标准>>> jsp页面的部分代码 <form action="insertcp.action" method=& ...
- 由一个园友因为上传漏洞导致网站被攻破而得到的教训
帖子地址: http://www.cnblogs.com/sanshi/p/3150639.html 首先要确保上传文件.保存上传文件目录的安全性. 一个被遗忘的包子 只验证后缀名还是不行,最好验证一 ...
- php头像上传思路,PHP头像上传,php头像上传_PHP教程
PHP 头像上传,php头像上传 嘻嘻,自从圣诞节过后,就一直懒散,这几天也因为是太过于繁忙的原因,感觉好久都没有出来冒冒泡,诶... 为了生活一直在奋斗,作为一名前端开发工程师,我现在越来越迷茫了, ...
- TCP文件上传Java_Java 理解TCP通信案例:文件上传案例
文件上传分析图解 [客户端]输入流,从硬盘读取文件数据到程序中. [客户端]输出流,写出文件数据到服务端. [服务端]输入流,读取文件数据到服务端程序. [服务端]输出流,写出文件数据到服务器硬盘中. ...
- Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)
2014-06-08 Created By BaoXinjian 一.总结 1. 上传资料 (1).通过调用function<FND_FNDFLUPL>,打开上传文件页面: (2).从表f ...
最新文章
- 毕业生实名举报导师剽窃其论文发表:复制比达 90%,导师已道歉
- ajax invoke error,配置全局的异常捕获时,走ajax请求下面报错
- shell 语法格式
- nginx 正则 结尾 配置_nginx location 配置阐述优先级别使用说明-不当可能存在安全隐患...
- 回溯法求解N皇后问题(Java实现)
- Sql如何统计连续打卡天数
- SSM高级整合_非Maven控制版本下SSM高级整合
- 【NOI2012】骑行川藏【拉格朗日乘数法】【二分套二分】
- 文件字符输出流 FileWritter java
- Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)
- 云计算学习笔记005---Hadoop HDFS和MapReduce 架构浅析
- java多线程系列6-阻塞队列
- vue-cli的项目中关于axios的全局配置,结合element UI,配置全局loading,header中做token传输...
- DOS控制台启动方式+DOS控制台常用命令
- 北京系统集成项目经理考前培训
- 【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
- ipad上编程方法,服务器安装vscode
- 基于nrf52832的vl53l1激光人体感应器设计
- 对宽带帐号安全威胁分析以及防范的方法
- 座标转换:TWD67-TWD97
热门文章
- 容器源码解析之LinkedHashSet(六)
- java bean 数据库表_如何从数据库的表格自动生成javabean,包含get/set方法等
- Linux系统 iptables 和 firewalld 的那些事
- php 字符串分割成两段,php 两个字符串分割合并的简单示例
- Android 对话框(Dialog)大全 建立你自己的对话框
- server php self_PHP 使用 $_SERVER[''PHP_SELF''] 获取当前页面地址及其安全性问题[转载]...
- 基于threejs的商场楼层展示导航系统源码_便民措施再升级就诊无需问路!我院“智能导航系统”正式上线啦!...
- 学习android操作系统,学习Android手机操作系统笔记总结
- unity双面显示在哪_双面屏努比亚Z20售3499起 4800万三摄+855Plus+4K电池
- java 内存溢出 内存泄露_JVM——内存泄漏与内存溢出