乙個簡單的MongoDB注入

2021-12-30 03:13:00 字數 977 閱讀 7888

安全警示,乙個簡單的mongodb注入

作者:nosqlfan

在關係型資料庫時代,sql注入攻防幾乎成了每乙個web開發者的必修課,很多nosql的支持者稱nosql的同時也就no sql注入了。其實不然,下面就是乙個利用get引數判斷不嚴格進行的mongodb注入,希望能夠引起大家大家在安全方面的重視。

使用sql資料庫儲存使用者名稱密碼的系統,我們檢測使用者名稱與密碼的過程可能是這樣的:

mysql_query("select * from user

where username=" . $_get['username'] . ",

and passwd=" . $_get['passwd'])我們使用mongodb進行最簡單的使用者名稱與密碼檢測可能是這樣的:

$collection->find(array(

"username" => $_get['username'],

"passwd" => $_get['passwd']

));在最普通的sql注入中,我們可以構造下面這樣的請求:

login.php?username=admin&passwd=abc or 1 –

這個請求會形成這樣的sql語句:

select * from user where username=admin and passwd=abc or 1;成功注入!

採用同理的方法,針對上面的mongodb查詢方式,你可以構造下面的請求:

login.php?username=admin&passwd[$ne]=1

這個請求會形成這樣的mongodb查詢:

$collection->find(array(

"username" => "admin",

"passwd" => array("$ne" => 1)

));成功注入!

乙個簡單的oracle注入

作者 babyz http www.blackbbz.com www.caiker.net 先用典型的and 1 1 and 1 2方法來測試了一下,返回型別不匹配 cdbl 錯誤 不可以的,再提交乙個乙個單引號試試,頁面返回錯誤 oraoledb 錯誤 80004005 ora 01756 括號內...

mongodb 啟動乙個mongodb

2.啟動 想要啟動乙個資料庫,首先要告訴mongodb,你的資料庫要儲存在 首先,在你喜歡的位置建立乙個dbpath data目錄檔案 之後,開啟cmd或者terminal,cd進入mongodb檔案下的bin 指令碼執行 檔案,然後使用mongod dbpath dbpath 語句啟動資料庫 注意...

mongodb的乙個小坑

若collection裡有其他的資料,顯示時注意要往query裡新增true,並且需要放在最前面。解釋 下圖是名為test的collection裡面的資料。可以看到上面5條是一樣的資料,第6條是為了測試故意新增進去的。首先,當你執行命令db.getcollection test find 結果如下。...