利用網站常見的漏洞進行入侵和攻擊(含防禦)

入侵網站最主要還是靠漏洞的,如果這個網站的漏洞一個也沒有,我們就無機可乘。但是,畢竟世界上不會有任何一個東西完美無缺,所以,即使安全性再高的網站也會有入侵的風險。
那麼,今天我就來教大家認識這些漏洞,並利用漏洞進行攻擊,以及防禦和處理。

No.1 ‘or’='or’經典漏洞

SQL注入攻擊一般存在於網頁用戶提交數據的地方,而登錄框就是最常提交的地方。所以一定存在針對登錄的注入攻擊。
‘or’='or’漏洞是一個比較“古老”的漏洞了,曾經在網上普遍存在,也攻擊過許多網站。黑客可以利用這個漏洞直接進入後臺,拿到Admin權限。

‘or’='or’攻擊實現

‘or’=‘or’漏洞主要出現在後臺登錄提交上,利用這個漏洞可以不需要密碼而進入系統後臺。由於程序員在編寫代碼時考慮不足,或沒有對單引號進行過濾,導致這個漏洞出現了。下面,我通過進入一個存在該漏洞的論壇來介紹’or’='or’漏洞。

打開要攻擊的論壇,然後在用戶名和密碼的文本框內輸入Admin’和12345’,然後點擊“登錄”。
會發現,網頁跳轉到了如下界面:

意思是:

(省略不重要部分)
語法錯誤(操作符丟失)在查詢表達式'BBS_MEMBERS>NAME = 'admin''AND BBS_MEMBERS>Password='admin''AND BBS_MEMBERS.STATUS=1'/bbs/login.asp,46

說明,我們輸入admin’時,出現了錯誤。因爲該網站在將字符串’admin’‘送給SQL數據庫執行時,SQL編譯器報錯:
‘admin’‘語法錯誤,缺少’ ’ ’
因爲在用單引號引起字符串時,會出現語法錯誤,編譯器誤以爲admin後面的單引號是這個字符串的結尾。接着,後面的單引號再次引起一個字符串,結果沒有下一個單引號(也可能是有,然後最後一個單引號時報錯),就報錯了。
(如果沒有報錯說明此網站沒有’or’=‘or’漏洞)
接下來,我們回到剛剛的網站,輸入:
User:Admin
Password:a’or 1=1–’
點擊登錄。
發現,我們已經成功登錄了。我們就可以對網站進行操作了。

通過’or’='or’漏洞,可以不用輸入正確的密碼就可以進入後臺進行管理。
剛剛說了,這個網站的代碼因爲輸入有錯而產生錯誤。那麼,我們不妨猜測一下,這個網站的SQL語句是什麼?

Select * from accounts where BBS_MEMBERS.NAME= '用戶名' and BBS_MEMB ERS .Password=' 密碼'

當輸入admin和a’or 1=1–'時,它就成了:

Select * from accounts where BBS_MEMBERS.NAME= 'admin' and BBS_MEMB ERS .Password='a' or ' 1=1--'

那麼,1=1的值永遠爲真,所以,密碼檢測就通過了。

‘or’='or’漏洞防禦

在編寫代碼時,注意語法格式,並且可以嘗試在運行檢測語句之前,加上判斷語句,判斷是否有’,如果有,那麼返回瀏覽器一個值,要求重新輸入。也許這樣可以有效地進行防備。
這裏我要說一下,淘寶(天貓)的’or’='or’漏洞防禦就做的非常好,我輸入admin’和12345’後,他會返回密碼和用戶名錯誤,然後還會發現," ’ “變成了字符的編碼,也就是” & # 3 9 ; “(抱歉,其實是合起來的,因爲CSDN會自動將其變爲” ’ ",所以只好這樣了)
圖片如下:

No.2 弱口令漏洞

很多網站的管理員密碼可能都是弱口令。
弱口令指什麼?
不僅僅指123456這些簡單的密碼!
弱口令,就是有規律、不復雜的密碼。例如:
這個網站的管理員叫小剛,他的生日是1980.1.1,那麼,我們在獲得一些信息後,輸入密碼:
XG19800101
也許不對,但是,黑客們會有一個好辦法:窮舉。
就是讓程序幫你一個一個的試,把所有包含xiaogang和19800101等的相關字符串都試一遍,可能就會試出密碼。

No.3 無檢測漏洞

上面的窮舉方式的成功還得靠無檢測漏洞的幫忙。
什麼是無檢測漏洞?
就是我們所謂的“你的密碼已輸錯超過三次,請5天后再試!”沒有。
這樣,窮舉的方式就可以成功了。
如果有呢?
在到達第三次時,就會顯示這個提示,並且拒絕接受表單。那麼,黑客是不是就不能進行窮舉了呢?

No.4 無處理漏洞

無處理漏洞拿最簡單的例子來說,可以用圖表示:

(本人畫畫比較醜,見諒)
這裏有個故事:
團長拿到了敵方的電報密碼,要告訴司令。送信的人還沒來,敵軍間諜來了,拿走了密碼和用戶名。然後真正送信的人一臉懵,間諜拿到了電報。
那麼,我們將這個故事給變一下:
用戶輸入了自己的用戶密碼,要告訴程序和數據庫。表單傳輸後程序還沒來得及接受,黑客來啦,拿走了密碼和用戶名。程序一臉懵(報錯),黑客拿到了密碼和用戶名。
不加密的壞處很多,就比如說我講的那點。並且,最好自己研製一種加密法(你可以隨便研製一種無規律加密法),這樣防止黑客用完在線解密器解密。

No.5 超時漏洞

某些黑客可能會利用超時漏洞來進行攻擊。什麼意思呢?就是程序在使用時無響應,相應超時,會導致所有程序停止。黑客就會乘機進行DDoS等攻擊,導致網站癱瘓。
目前我尚未找到關於此漏洞的解決方案。

最後

此文章我會經常更新,歡迎來閱讀!
有什麼問題可以評論,有什麼建議也可以哦!
歡迎閱讀我的其他博客!

發佈了19 篇原創文章 · 獲贊 456 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章