php mongodb 注入_PHP教程

來源:互聯網
上載者:User
下面就介紹下php+mongodb注入的方法和原理

其中一篇文章說:login.php?username=admin&passwd[$ne]=1就有可能注入,剛看的時候,我感覺挺納悶的,這個怎麼就存在注入漏洞了呢,終於從這篇文章http://hi.baidu.com/hi_heige/item/ce93ce926dede4f428164747中發現了原因。因為PHP是可以直接提交array的,也就是說提交的是含有“$ne”索引的數組,我做了個demo:


[php]
$passwd=$_GET["passwd"];
var_dump($passwd);

$passwd=$_GET["passwd"];
var_dump($passwd);
測試結果為:

array(1) { ["$ne"]=> string(1) "1" }


這樣的話


[php]
$collection->find(array(
"username" => "admin",
"passwd" => array("$ne" => 1)
));

$collection->find(array(
"username" => "admin",
"passwd" => array("$ne" => 1)
));
就變為了:


[php]

$collection->find(array( "username" => "admin", "passwd" => array("$ne" => 1) )); $collection->find(array(
"username" => "admin",
"passwd" => array("$ne" => 1)
));


如果把連結改成這種(username=[$ne]=1&passwd[$ne]=1)的話,那麼會把所有的使用者資訊都擷取過來

解決這個bug的方法為在擷取參數後都把參數強制轉換成string類型下:

[php]
$collection->find(array(
"username" => (string)$_GET['username'],
"passwd" => (string)$_GET['passwd']
));

$collection->find(array(
"username" => (string)$_GET['username'],
"passwd" => (string)$_GET['passwd']
));這個與執行下面的mysql語句是一樣的道理了,都注入了


[php]

mysql_query("SELECT * FROM collection
WHERE username="admin",
AND passwd!=1

mysql_query("SELECT * FROM collection
WHERE username="admin",
AND passwd!=1
我做了個demo測試了下,果然好使。

http://www.bkjia.com/PHPjc/477615.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477615.htmlTechArticle下面就介紹下php+mongodb注入的方法和原理 其中一篇文章說:login.php?username=adminpasswd[$ne]=1就有可能注入,剛看的時候,我感覺挺納悶的,這個...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.