日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php7 魔术引号,PHP魔术引号所带来的安全问题分析

發布時間:2025/3/20 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php7 魔术引号,PHP魔术引号所带来的安全问题分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP通過提取魔術引號產生的“\”字符會帶來一定的安全問題,例如下面這段代碼片段:

// foo.php?xigr='ryat

function daddslashes($string, $force = 0) {

!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());

if(!MAGIC_QUOTES_GPC || $force) {

if(is_array($string)) {

foreach($string as $key => $val) {

$string[$key] = daddslashes($val, $force);

}

} else {

$string = addslashes($string);

}

}

return $string;

}

...

foreach(array('_COOKIE', '_POST', '_GET') as $_request) {

foreach($$_request as $_key => $_value) {

$_key{0} != '_' && $$_key = daddslashes($_value);

}

}

echo $xigr['hi'];

// echo \

上面的代碼原本期望得到一個經過daddslashes()安全處理后的數組變量$xigr['hi'],但是沒有對變量$xigr做嚴格的類型規定,當我們提交一個字符串變量$xigr='ryat,經過上面的處理變為\'ryat,到最后$xigr['hi']就會輸出\,如果這個變量引入到SQL語句,那么就會引起嚴重的安全問題了,對此再來看下面的代碼片段:

...

if($xigr) {

foreach($xigr as $k => $v) {

$uids[] = $v['uid'];

}

$query = $db->query("SELECT uid FROM users WHERE uid IN ('".implode("','", $uids)."')");

利用上面提到的思路,通過提交foo.php?xigr[]='&xigr[][uid]=evilcode這樣的構造形式可以很容易的突破GPC或類似的安全處理,形成SQL注射漏洞!對此應給與足夠的重視!

總結

以上是生活随笔為你收集整理的php7 魔术引号,PHP魔术引号所带来的安全问题分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。