常見WEB應用攻擊影響分析

2021-07-23 10:24:30 字數 2228 閱讀 6888

黑客攻擊利用的漏洞型別包括:

1.sql注入漏洞:

sql注入漏洞是利用了將包含了某種目的的sql語句,通過關鍵變數插入到程式中正常的資料庫操作語句裡。如

「hack'; drop table aritcles; --」,hack是正常應提交的**,當使用

微軟的sql server,該資料庫支援多命令語句執行。

這裡的「drop table aritcles; --」是乙個完全合法的命令語句,

drop table aritcles助黑客實現了

刪除乙個指定的表的目的。

程式一旦發生注入漏洞,就會引發一系列安全隱患。

另外下面以**程式為例,看一看sql注入漏洞最經常被利用的地方,也是危害最大的地方。

都知道對於乙個**來說,可以說資料庫存放著**所有的資訊,web應用程式完全是憑藉資料庫中的資訊進行正常的執行的。乙個**程式中,最關鍵的乙個部分就是對使用者的合法性的判斷,也就是看訪問它的使用者是不是乙個註冊的使用者。這個時候,就會要求輸入使用者名稱和密碼,然後根據輸入的資訊查詢資料庫,判斷是否存在使用者,並檢查密碼是不是一致,如果一致則承認合法使用者,否則將給予非法提示。下面看一段常常出現在論壇程式中的使用者認證程式**:

(1)admin1 = trim(request("name"))

(2)password1 = trim(request("password"))

(3)set rs = server.createobject ("adodb.recordset")

(4)sql = "select * from userlogin where name='"&admin1&"' and password='"&password1&"'"

(5)rs.open sql,conn,1,1

(6)if rs.eof and rs.bof then

(7)response.write"

(9)response.end

(10)else

(11)session("name")=rs("name")

(12)session("password")=rs("password")

(13)response.redirect("default.asp")

(14)end if

這段程式的第1和第2行分別通過request物件獲得使用者名稱和密碼,第3行是建立乙個資料庫操作集物件,第4行就是將使用者名稱以及密碼同時作為查詢條件放入到userlogin表中進行查詢,第5到第14行就是根據查詢結果進行判斷,彈出警告視窗,或者重定向網頁。

假設資料庫中有個使用者guest,密碼123456,那麼該使用者登入時,認證**中的第4行則變為:sql = "select * from userlogin where name='guest' and password='123456'",這是乙個合法查詢語句,所以使用者能正常登入,反之則登入不了。

看起來這是乙個比較嚴格的認證**,但是事實呢?

現在,我們使用者名稱提交「'or 1='1」,密碼也是一樣,同樣也會成為合法使用者,這是為什麼?

當我們提交表單後,**通過request物件獲得提交的使用者名稱'or 1='1以及密碼'or 1='1後,直接將這些資料放入了第4行的查詢語句中,於是變成了這樣:sql = "select * from userlogin where name=''or 1='1' and password=''or 1='1'"。我們先看1='1',這個絕對永遠為真,如果你說假,那麼你回小學學數學吧,學好再來看吧,呵呵~注意在大馬前面還有乙個or,這代表者1='1'是作為乙個條件選擇語句放入資料庫查詢的,這樣無論查詢語句中的使用者名稱和密碼是否正確,都會因為or後面的1='1'**,導致查詢語句返回值永遠為真,這樣就是繞過了看似嚴格的使用者認證,獲得了合法的許可權。

攻擊影響:資料庫資訊竊取、篡改、刪除。

2.cookie注入:

攻擊影響:資料庫資訊竊取、篡改、刪除。

3.跨站指令碼漏洞:

攻擊影響:使用者證書、**資訊、使用者資訊被盜。

4.表單繞過漏洞:

攻擊影響:攻擊者訪問禁止訪問的目錄。

5.檔案上傳漏洞:

攻擊影響:主頁篡改、資料損壞和傳播木馬。

6.檔案包含:

攻擊影響:伺服器資訊竊取、攻陷和控**務器。

7.遠端命令執行:

攻擊影響:伺服器資訊竊取、攻陷和控**務器。

8.網頁木馬:

攻擊影響:直接控制**主機或者藉此攻擊訪問者客戶端。

解決方案:使用市面上成熟的web應用漏洞掃瞄器,定期使用以發現漏洞。

詳細內容逐步更新。

常見的 Web 應用攻擊

在 owasp 組織列舉的十大 web 應用安全隱患中,有兩個概率最高的攻擊手段,它們分別是 跨站點指令碼攻擊 cross site scripting 和 注入缺陷 injection flaws 下面將通過舉例來說明這兩種攻擊是如何實施的。1 跨站點指令碼攻擊 首先來看一下跨站點指令碼的利用過程...

常見Web攻擊

1.sql注入的危害 2.例項 mysqldb 通過在使用者名稱裡面構建乙個sql語句,達到了我們在執行sql語句的時候永遠為真的情況 username or 1 1 username request.post.get username password request.post.get passw...

Web常見的攻擊手段

type text name name value 當輸入的內容為 alert hello script 最終的效果為 type text name name value alert hello script 這時候就會彈出來hello。這樣的惡作劇還好,如果是獲取使用者賬號密碼的的指令碼呢,那樣的...