xss 就是攻擊者在 web 頁面中插入惡意指令碼,當使用者瀏覽頁面時,促使指令碼執行,從而達到攻擊目的。xss 的特點就是想盡一切辦法在目標**上執行第三方指令碼。
舉個例子。原有的**有個將資料庫中的資料顯示到頁面的上功能,document.write("data from server")。但如果伺服器沒有驗證資料型別,直接接受任何資料時,攻擊者可以會將 當做乙個資料寫入資料庫。當其他使用者請求這個資料時,**原有的指令碼就會執行 document.write("
'>"),這樣,便會執行 bad-script.js。如果攻擊者在這段第三方的指令碼中寫入惡意指令碼,那麼普通使用者便會受到攻擊。
所謂 sql 注入,就是通過客戶端的輸入把 sql 命令注入到乙個應用的資料庫中,從而得以執行惡意 sql 語句。
先看個例子。
uname = request.post['username'
]password
= request.post[
'password'
]sql
= "select
allfrom users where username=
'" + uname + "
'and password=
'" + password + "'"
database.execute(sql)
上面這段程式直接將客戶端傳過來的資料寫入到資料庫。試想一下,如果使用者傳入的 password 值是: "password』 or 1=1",那麼 sql 語句便會變成:
sql = "selectallfrom users where username=
'username
'and password=
'password'or
1=1"
那麼,這句 sql 無論 username 和 password 是什麼都會執行,從而將所有使用者的資訊取出來。
dos 攻擊就是通過大量惡意流量占用頻寬和計算資源以達到癱瘓對方網路的目的。
舉個簡單的例子,老鄭家麵館生意紅火,突然有一天一群小混混進了點,霸佔了座位,只閒聊不點菜,結果坐在店裡的人不吃面,想吃麵的人進不來,導致老鄭無法向正常客戶服務。
而 ddos 攻擊就是將多個計算機聯合起來一同向目標發起攻擊,從而成倍地提高拒絕服務攻擊的威力。
簡單來說,csrf 就是** a 對使用者建立信任關係後,在** b 上利用這種信任關係,跨站點向** a 發起一些偽造的使用者操作請求,以達到攻擊的目的。
舉個例子。** a 是一家銀行的**,乙個轉賬介面是 "
"。toid 表示轉賬的目標賬戶,cash 表示轉賬數目。當然這個介面沒法隨便呼叫,只有在已經驗證的情況下才能夠被呼叫。
此時,攻擊者建立了乙個 b **,裡面放了一段隱藏的**,用來呼叫轉賬的介面。當受害者先成功登入了 a **,短時間內不需要再次驗證,這個時候又訪問了** b,b 裡面隱藏的惡意**就能夠成功執行。
注:本文只為記錄知識點,別無它意
**:
Web常見的攻擊手段
type text name name value 當輸入的內容為 alert hello script 最終的效果為 type text name name value alert hello script 這時候就會彈出來hello。這樣的惡作劇還好,如果是獲取使用者賬號密碼的的指令碼呢,那樣的...
常見的web攻擊手段
xss 跨站指令碼攻擊 當使用者在表達輸入一段資料後,提交給服務端進行持久化。如果此使用者輸入的是一段指令碼語言,而服務端 使用者輸入的資料沒有經過轉碼 校驗等就存入了資料庫,在其他頁面需要展示此資料時,就會執行此使用者輸入的語言。簡單來說,js的強大不用我來解釋吧 對使用者輸入的資訊進行轉義,例如...
常見web攻擊方法及防禦手段總結
一句話概括 用某種手段得到使用者session id,從而冒充使用者進行請求原因 由於http本身無狀態,同時如果想維持乙個使用者不同請求之間的狀態,session id用來認證使用者 三種方式獲取使用者session id php生成的session id足夠複雜並且難於 基本不可能 會話劫持 u...