Autor: reiner Eindruck
QQ: 442398600
8. August 2006
Vor zwei Tagen arbeitete ich an einer In-Site-Version der Enterprise-Suchmaschine und stellte fest, dass einige Websites auf Site-Inhalte verlinken können. .
Ich schaute es mir seltsam an und es stellte sich heraus, dass es gemäß den automatischen Nummerierungsregeln der Datenbank -ID ~~ verknüpft war ~~
Ich habe in meiner Freizeit Folgendes durchgeführt und gehofft, dass es für alle in Zukunft hilfreich sein wird. Schreiben Sie ASP -Programme!
<%
'// generieren zufällige Anzahl bestimmter Ziffern
'// Sie können auch die in Guidy geschriebene ixuer_rnd_str -Funktion verwenden, die mit 15 Stilen ausgestattet ist, und Sie können Pseudo MD5 !!
Funktionsrndstr (strlong)
Dimtempstr
Randomisieren
Dowhilelen (Rndstr) <Strlong
tempstr = cstr (CHR ((57-48)*RND+48))
rndstr = rndstr & tempstr
Schleife
rndstr = rndstr
Endfunktion
%>
Das Folgende ist eine Stichprobe der Parameter, die im Formularformular für die Anfrage eingereicht wurden.
Der ursprüngliche Wert des Parameters, der übergeben werden muss, ist die aus der Datenbank gelesene ID
<formname = itorMaction = "abc.asp" methode = "post">
<InputName = doActionType = "Hidden" value = "<%= rndstr (10)%> <%= RS (" ID ")%> <%= Rndstr (10)%>">
</form>
Beachten:
Der Wert der obigen DOAction hat sich geändert, und der Wert, der bei jedem Aktualisieren der Seite erhalten wurde, ist unterschiedlich ~~
Unten finden Sie die Seite ABC.asp
Erhalten Sie zuerst den Wert von doaction
doaction = trim (request.form ("doaction"))
Im Folgenden können Sie einige Überprüfungen selbst hinzufügen, z. B. Isnumeric usw.
Dann lass uns den Wert von DOAction aufschlüsseln
Dimlastid
doaction = Mid (doaction, 11)
LastID = MID (doaction, 1, len (doaction) -10)
Wenn Sie mit mittleren Funktionen vertraut sind, ist der obige Inhalt leicht zu erraten. Ist es nicht einfach?
Hier sind die tatsächlichen Beispiele:
Der Wert der ID, die von der ursprünglichen DOAction in der Datenbank übergeben werden soll (der Feldtyp ist automatisch nummeriert), lautet: 34
veranschaulichen:
11 In Mid (doaction, 11) generiert eine Reihe von zufälligen Zeichen + 1
10 in LastID = MID (doaction, 1, len (doaction) -10) ist die Anzahl der von der angegebenen Zahl generierten zufälligen Zeichenstellen!
Dimlastid
DOACTION = 3614354944348151287527 - Der ID -Wert nach der Verkleidung (kann als Zahl überprüft werden)
doaction = Mid (doaction, 11)
LastID = MID (doaction, 1, len (doaction) -10)
Lastid = 34
Ich habe experimentiert und wenn ich mit zufällig erzeugten Buchstaben und Zahlen verwendet wird, kann es als Wert ähnlich wie MD5 vollständig gefälscht werden!
Es gibt nur eine Bedingung, und Sie müssen die Anzahl der Teile zufälliger Zeichen angeben!
Haha, jetzt kann jeder den letzten Wert der Antwort ausgeben. Schreiben Sie, um festzustellen, ob es sich um die ID in der Datenbank handelt?
Diese Methode kann zum Verschlingen und Herunterladen von Videoparametern verwendet werden. Wenn Sie beispielsweise ein offizielles Regierungsdokument -Zirkulationssystem erstellt haben, können Sie auch Dateien verwenden!
Das gleiche gilt für Anfrage.queryString! Kopieren wir es ...
Das obige ist meine kleine Erfahrung beim Schreiben von ASP -Programmen. Bitte korrigieren Sie mich, wenn es Mängel gibt!