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的更多相关文章

  1. 简单的 php 防注入、防跨站 函数

    /** * 简单的 php 防注入.防跨站 函数 * @return String */ function fn_safe($str_string) { //直接剔除 $_arr_dangerChar ...

  2. JSP简单记录

    JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Se ...

  3. OpenCV安装配置的简单记录

    在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...

  4. 【sql注入】简单实现二次注入

    [sql注入]简单实现二次注入 本文转自:i春秋社区 测试代码1:内容详情页面 [PHP] 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 1 ...

  5. asp.net 简单记录请求的客户端和服务端 处理时间

    最近项目需要简单记录一下 ajax客户端和服务端处理时间,服务端时间的思路是借用BeginRequest和EndRequest事件,为了不影响现有接口返回的数据格式,因此服务处理时间放在respons ...

  6. PHP 版本简单记录

    PHP 版本简单记录 PHP 博物馆         http://museum.php.net/php5/ PHP 版本发布       https://secure.php.net/release ...

  7. oracle SCN推进恢复数据库 简单记录

    由于是在内网专用机器上操作,没有日志记录,下面做个简单记录:   前几天某供电局的的一个老数据库存储挂了,数据全部丢失,该库没有开归档,没接备份,怎么恢复? 由于存储损坏严重,从存储恢复不好搞. 好在 ...

  8. 记录对依赖注入的小小理解和autofac的简单封装

    首先,我不是一个开发者,只是业余学习者.其次我的文化水平很低,写这个主要是记录一下当前对于这块的理解,因为对于一个低水平 的业余学习者来说,忘记是很平常的事,因为接触.应用的少,现在理解,可能过段时间 ...

  9. [记录]Ubuntu下,使用Shell,简单替换有规律的文件名称

    因工作中需要将Flash转为Html5,并且要有动画效果,我将Flash的组件导出Png序列,然后将Png序列拼接成一张雪碧图(Sprite),名字为在生成雪碧图可以排序,需要改成数字名称. 而名字是 ...

随机推荐

  1. pytorch nn.Sequential()动态添加方法

    之前我们使用nn.Sequential()都是直接写死的,就如下所示: # Example of using Sequential model = nn.Sequential( nn.Conv2d(, ...

  2. maven项目新检出后不编译爬坑记 及 mvn clean package报错 WagonTransporterFactory: java.util.NoSuchElementException 异常【我】

    从SVN新检出一个maven项目,配置好后,发现项目无法编译(只有一个test包中的代码显示编译报错,其他所有包中的代码都不编译,也不报错), 先注释掉报错的test包中的所有内容, 用Eclipse ...

  3. Qt 操作excel报错

    onecore\com\combase\catalog\catalog.cxx(2376)\combase.dll!00007FFF1DF823CB: (caller: 00007FFF1DED3A1 ...

  4. 全面系统Python3入门+进阶-1-5 一个经典误区

    结束

  5. 使用navicat的坑

    小黄人发送数据,测试软件是否将数据存入mysql数据库中,使用的是navicat. 首先截断了表,所有数据清零,但是此时表并没有回到第一页[由于前面查看最新数据,已经翻到了最后一页],然后小黄人发数据 ...

  6. Python基础教程(第2版 修订版) pdf

    Python基础教程(第2版 修订版) 目录 D11章快速改造:基础知识11.1安装Python11.1.1Windows11.1.2Linux和UNIX31.1.3苹果机(Macintosh)41. ...

  7. spring 使用@Bean装配Bean

    通过@Component装配Bean,但是@Component只能注解在类上,不能注解到方法上.对于Java而言,大部分的开发都需要引入第三方的包(jar文件),而且往往并没有这些包的源码,这时候将无 ...

  8. mybatis查询mysql数据库tinyint(1)变为boolean类型

    mybatis查询mysql数据库对象转化为Map,tinyint(1)被转化为boolean类型,可以t通过避免使用tinyint(1)来解决.

  9. http post 自动变成了options 怎么设置

  10. 12点睛Spring4.1-Spring Aware

    12.1 Aware 我们设计的准则是解耦,这就意味着我们不能对Spring的IoC容器有直接的依赖,但是我们还是想我们的bean能识别容器的资源; 使用aware能让我们在应用的任意位置获得spri ...