Also, ich fand gerade einige super störende Code gleichzeitig in einigen klassischen ASP-Code, sowie einige PHP.Sicherheit: Was könnte schief gehen, wenn Benutzer Sitzungsvariablen benennen können?
klassischen ASP:
Dim id
id = request.form("id")
Session(id) = id
PHP
$_SESSION[$_GET["id"]] = $_GET["id"];
Also, was schief gehen könnte? Beachten Sie, dass ich diese jetzt entfernen und einen besseren Workflow verwenden werde.
EDIT: Die offensichtlichen Probleme könnten SQLi, XSS sein, bestehende und notwendige Sitzungsvariablen zu überschreiben. Ich weiß nicht wirklich, wie diese Sprachen Sitzungsvariablen handhaben.
EDIT 2: Ich bin nicht wirklich mit den Werten der Session-Variable so sehr betroffen, wie ich besorgt bin über die Möglichkeit, sie zu benennen. Nur neugierig, ob es etwas Verrücktes gibt, das man mit willkürlichen Variablennamen machen könnte.
Hängt was Sie tun, anschließend mit '$ _SESSION [$ _ GET [ "id"]]' .... wenn Sie es jemals wiederholen, und es enthält so etwas wie '' .... Ich überlasse den Rest Ihrer Fantasie –
Der Sitzungsinhalt könnte sicherlich für XSS, SQLi und andere bösartige Eingabebereinigungsexploits verwendet werden. Ich bin neugieriger darüber, was Sie mit der Fähigkeit tun könnten, Ihre eigenen Variablen in jemandes Code zu benennen. – TheMonarch