简单记录一次注入到shell
0x00 前言
帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下。
0x01 基础信息
操作系统:win
集成环境:phpstudy
端口开放:82,3306,3389
有phpmyadmin
php框架:thinkphp 3
源码一套
tp开了报错,有网站绝对路径信息
0x02 尝试
拿到源码,代码审计发现了一个前台文件上传,一个后台登陆框的注入
文件上传把shell上传上去,访问报找不到控制器
猜测是被杀了或是没有创建成功
换了免杀马依旧一样,这个点暂时放弃,没弄明白。
由于源码比较简单,很多功能都在后台,只能把目光放在后台登陆框的注入了
常规思路,注出管理员账号密码登陆后台,但后台能拿shell地方也只有那一个上传了(有源码)
换思路利用phpmyadmin,直接尝试phpmyadmin弱口令root/root,登陆不进去(后续可以爆破)
通过注入发现mysql的本地用户是root,注出的密码解不出来
mysql版本为:5.5.53
phpstudy的mysql secure_priv 没改过默认就是NULL,udf啥的别想了
0x03 突破
重新回顾有的信息:
- 一个注入,支持多语句
- mysql外连
思考:如果可以外连上去,那么就可以尝试用general_log_file直接getshell了
通过注入修改user表允许外连的host为%,修改密码为root
但这样做需要重启mysql,但可以一试,尚有一线生机
很幸运,修改第二天再试发现可以直接连进去了
下面就是常规操作了
administror权限,直接添加了一个用户上去
最后就是3389登陆服务器了:
0x04 总结
多尝试总没错,思路要打开
简单记录一次注入到shell的更多相关文章
- 简单的 php 防注入、防跨站 函数
/** * 简单的 php 防注入.防跨站 函数 * @return String */ function fn_safe($str_string) { //直接剔除 $_arr_dangerChar ...
- JSP简单记录
JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Se ...
- OpenCV安装配置的简单记录
在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...
- 【sql注入】简单实现二次注入
[sql注入]简单实现二次注入 本文转自:i春秋社区 测试代码1:内容详情页面 [PHP] 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 1 ...
- asp.net 简单记录请求的客户端和服务端 处理时间
最近项目需要简单记录一下 ajax客户端和服务端处理时间,服务端时间的思路是借用BeginRequest和EndRequest事件,为了不影响现有接口返回的数据格式,因此服务处理时间放在respons ...
- PHP 版本简单记录
PHP 版本简单记录 PHP 博物馆 http://museum.php.net/php5/ PHP 版本发布 https://secure.php.net/release ...
- oracle SCN推进恢复数据库 简单记录
由于是在内网专用机器上操作,没有日志记录,下面做个简单记录: 前几天某供电局的的一个老数据库存储挂了,数据全部丢失,该库没有开归档,没接备份,怎么恢复? 由于存储损坏严重,从存储恢复不好搞. 好在 ...
- 记录对依赖注入的小小理解和autofac的简单封装
首先,我不是一个开发者,只是业余学习者.其次我的文化水平很低,写这个主要是记录一下当前对于这块的理解,因为对于一个低水平 的业余学习者来说,忘记是很平常的事,因为接触.应用的少,现在理解,可能过段时间 ...
- [记录]Ubuntu下,使用Shell,简单替换有规律的文件名称
因工作中需要将Flash转为Html5,并且要有动画效果,我将Flash的组件导出Png序列,然后将Png序列拼接成一张雪碧图(Sprite),名字为在生成雪碧图可以排序,需要改成数字名称. 而名字是 ...
随机推荐
- 记一次haproxy反向代理配置
首先借用一下前辈的话,解释下反向代理是什么? 反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...
- ifc osg施工现场模拟
基于ifc数据模型的施工现场模拟
- Python高级笔记(六)-- property属性【重要】
1. property属性 目的:简化逻辑流程 class Goods(object): @property def size(self): return 100 obj = Goods() ret ...
- 算法习题---4-9数据挖掘(Uva1591)
一:题目 这是最懵逼的一道题,什么鬼......... [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining(详细题目看这个吧,不想多说) 二:代码实现 #defin ...
- SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子
一起来学演化计算-SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子 觉得有用的话,欢迎一起讨论相互学习 ...
- SpringCloud学习笔记:服务支撑组件
SpringCloud学习笔记:服务支撑组件 服务支撑组件 在微服务的演进过程中,为了最大化利用微服务的优势,保障系统的高可用性,需要通过一些服务支撑组件来协助服务间有效的协作.各个服务支撑组件的原理 ...
- Redis与memached的区别
Redis与Memcached的区别 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都 ...
- Django 插件之 Xadmin实现富文本编辑器
此文为前一篇文章的续写: Django 插件之 Xadmin Ueditor 介绍 UEditor 是由百度 web 前端研发部开发所见即所得富文本 web 编辑器,具有轻量,可定制,注重用户体验等特 ...
- nodejs ffi 调用dll
安装依赖 npm install --global --production windows-build-tools(在管理员权限打开的命令行中执行) npm install -g node-gyp ...
- Spring之25:SingletonBeanRegistry&DefaultSingletonBeanRegistry
此接口是针对Spring中的单例Bean设计的.提供了统一访问单例Bean的功能,BeanFactory可实现此接口以提供访问内部单例Bean的能力. //将对象(singletonObject)注册 ...