久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

2025年度未來(lái)銀行科技服務(wù)商TOP100
全世界各行各業(yè)聯(lián)合起來(lái),internet一定要實(shí)現(xiàn)!

Myarticle文章系統(tǒng)存在嚴(yán)重漏洞

2004-02-28 eNet&Ciweek

  漏洞一

  

  涉及版本:

  Myarticle 0.02以下

  

  描述:

  由于后臺(tái)管理入口驗(yàn)證代碼存在嚴(yán)重缺陷。導(dǎo)致任何用戶可以只在用戶名里輸入任何字符可以進(jìn)入后臺(tái)。

  

  詳細(xì):

  在admin/admin_global.inc.php文件里的151行的代碼是這樣寫的:

  

  引用 or 代碼:

  function verifyUser($name, $pwd) {

  global $DB_site,$table_user;

  $usrpwd = $DB_site->query_first("select password FROM $table_user where username = '$name'");

  return $pwd==md5($usrpwd);

  }

  

  

  看出問(wèn)題了吧?因?yàn)檩斎氲氖且粋€(gè)沒(méi)有的用戶名,所以它的密碼肯定是為空的,自然就等于你輸入的密碼了。自然登陸了。

  

  解決辦法:

  將上面的代碼改為:

  

  引用 or 代碼:

  function verifyUser($name, $pwd) {

  global $DB_site,$table_user;

  $usrpwd = $DB_site->query_first("select password FROM $table_user where username = '$name'");

  $num=mysql_affected_rows($DB_site->link_id);

  if ($num) {

  if ($pwd==md5($usrpwd)) return true;

  }

  return false;

  }

  

  

  其實(shí)這個(gè)漏洞好象0.03也存在??墒菧y(cè)試了網(wǎng)上幾個(gè)0.03的站點(diǎn)。有些可以。有些不可以。在本地調(diào)試0.03的就不能利用。不知何故?哪位高手能指點(diǎn)一二?感激不盡。

  

  漏洞二

  

  涉及版本:

  目前所有版本

  

  描述:

   由于category.php、article.php、print.php……多個(gè)文件對(duì)用戶提交的變量過(guò)濾不足。導(dǎo)致非法用戶可以進(jìn)行SQL Injection攻擊。

  

  詳細(xì):

  這幾個(gè)文件的相關(guān)代碼是這樣寫的(這幾個(gè)文件的代碼不一定相同):

  

  引用 or 代碼:

  if (!isset($aid)){

  showerror('error_articleid');

  }

  ……

  ……

  $article=$DB_site->query_first("SELECT $table_article.*,$table_page.* FROM $table_article

  LEFT JOIN $table_page USING (articleid)

  WHERE $table_article.articleid=$aid and $table_page.pagenum=$page");

  

  

  沒(méi)有檢查變量用戶提交的變量。不過(guò)在PHP里注入有點(diǎn)困難。因?yàn)镸YSQL4以下的版本是不支持子語(yǔ)句的,而且新版本的php.ini里的 magic_quotes_gpc 選項(xiàng)默認(rèn)是 On 的。當(dāng) magic_quotes_gpc 打開時(shí),所有的 ' (單引號(hào)), " (雙引號(hào)), \ (反斜線) and 空字符會(huì)自動(dòng)轉(zhuǎn)為含有反斜線的溢出字符。這樣我們就無(wú)法注入了,所以注入語(yǔ)句就不說(shuō)了,大家自己看看相關(guān)MYSQL語(yǔ)句再碰碰運(yùn)氣自己嘗試注入吧。

  

  解決辦法:

  檢查用戶輸入的代碼。比如檢查提交的數(shù)據(jù)是否為數(shù)字類型。將以下代碼:

  

  引用 or 代碼:

  if (!isset($aid)){

  showerror('error_articleid');

  }

  

  

  改為:

  

  引用 or 代碼:

  if (!isset($aid)){

  showerror('error_articleid');

  }

  $idid=str_replace(" ","",${"aid"});

  if (is_numeric($idid)==0    $idid=="")

  {

  print "非法參數(shù)";

  exit();

  }

  

  

相關(guān)頻道: eNews

您對(duì)本文或本站有任何意見,請(qǐng)?jiān)谙路教峤?,謝謝!

投稿信箱:tougao@enet16.com