2013-01-09 100 views
0

我開發了一個網站(在asp.net中),它有一個註冊頁面(沒有註冊,但它接收人的詳細信息),這實際上是一個教育機構的網站,註冊表是爲那些想要註冊組織研討會的人而設計的。這是一個SQL注入攻擊

現在來點,我被檢查數據庫的登記表(數據庫是在MS Access),並發現有類似的數據多行:

//In Residential Address field 
[url=http://paydayloansonline25.com]payday loans online[/url] pay loans direct student loans [url=http://paydayloansonline25.com]get loan online payday[/url] cash fast without bank account http://paydayloansonline25.com small business loans fast cash 

//In Field to store workshop id, for which the person want to register for, the data was 
document.getElementById(varIDCtrlName).value; 

我相信這是一個可能的SQL注入攻擊,但不確定,黑客會試圖做什麼,如果他成功了 - 那麼他會收集什麼。請再提一提,我該如何處理它。


欲瞭解更多信息:

我還沒有加入參數,如

EnableEventValidation="false" ValidateRequest="false" 

在aspx頁面的頁面指令,以我的猜測是true默認情況下,雖然它是true,幫助這種類型的可能的攻擊。 還有一件事值得一提的是,我的OleDbCommand的參數是這樣寫

cmd.Parameters.AddWithValue("@ResiAddress", strResiAddress); 
+0

SQL注入是當用戶在(表單)字段中添加SQL代碼以獲取/操作數據庫中不打算接收/編輯的其他數據時。 這似乎是一個'簡單'的垃圾郵件條目,但是您應該確保在顯示此項目時不要解析並執行javascript。 –

回答

3

也就是說Cross-site scripting

跨站點腳本(XSS)是一種計算機安全的 漏洞通常發現在Web應用程序中。由於違反了 瀏覽器的安全性,XSS使攻擊者能夠將客戶端腳本 注入到其他用戶查看的網頁中。

在你的情況下,攻擊者正在等你,以顯示在您的網頁這些領域的一些地方,而且因爲它們是HTML/JavaScript中,他們將被顯示在攻擊者想要的方式瀏覽器。

+1

雖然如果數據被適當地使用/轉義 - 即「HTML編碼」 - 那麼這將被阻止.. – 2013-01-09 07:05:18

+0

@pst:在html編碼後數據不會被顯示爲頁面的一部分嗎?即如何將html編碼刪除「發薪日貸款」的東西。我同意鏈接將被轉義。 – shahkalpesh

+0

@shahkalpesh看到廣告可能是最令人愉快的用戶體驗,但只要腳本或其他XSS矢量無法觸發,那麼它仍然是「安全」的。當然,如果注入的標記可以用作社會工程 - 例如網絡釣魚 - 矢量..那麼可能會反駁認爲不安全。據推測,有一個標記處理器可將'[stuff]'轉換爲*有效和「安全」的HTML輸出。處理垃圾郵件是另一個問題.. – 2013-01-09 07:20:50

0

這不是SQLi攻擊 - 數據中沒有SQL命令。

但是document.getElementById(varIDCtrlName).value;,它是有效的javascript代碼,所以它看起來像某種腳本攻擊。這個javascript是無辜的,但是如果攻擊者可以在稍後作爲腳本運行的字段中輸入數據,那麼這是一個嚴重的安全威脅。