Heim > Artikel > Backend-Entwicklung > Beispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet
Ich habe vor kurzem angefangen, PHP-Auditing zu lernen, und gerade rechtzeitig, um SeaCMs zu studieren, habe ich einen seltsamen Punkt in der Nutzlast entdeckt
searchtype=5&searchword={ if{searchpage:year}&year=:e{searchpage:area} }&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))&9[]=ph&9[]=pinfo();
Ich habe es ausprobiert und festgestellt, dass dies beispielsweise beim Empfang von Daten der Fall ist :
Schlüsselname=a, wenn a[]=a&a[]=b übergeben wird, ist a ein Array, also haben wir einen Test durchgeführt und es war wahr
Serverseitiger Test Code
<?php print_r($_GET[1]); ?>
Die Testergebnisse lauten wie folgt
Was nützt das also? eins? Wenn auf dem Server Schutztools wie Security Dogs oder WAF vorhanden sind, kann durch die Kombination anderer PHP-Funktionen wie der Join-Funktion der Bypass-Effekt erzielt werden
Stellen Sie eine einfache Idee dar
Server-Testcode
<?php eval(join($_GET[123])); ?>
Die Testergebnisse sind wie folgt
Das obige ist der detaillierte Inhalt vonBeispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!