成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

web 應(yīng)用常見安全漏洞一覽

darkerXi / 2259人閱讀

摘要:應(yīng)用常見安全漏洞一覽注入注入就是通過(guò)給應(yīng)用接口傳入一些特殊字符,達(dá)到欺騙服務(wù)器執(zhí)行惡意的命令。此外,適當(dāng)?shù)臋?quán)限控制不曝露必要的安全信息和日志也有助于預(yù)防注入漏洞。

web 應(yīng)用常見安全漏洞一覽 1. SQL 注入

SQL 注入就是通過(guò)給 web 應(yīng)用接口傳入一些特殊字符,達(dá)到欺騙服務(wù)器執(zhí)行惡意的 SQL 命令。

SQL 注入漏洞屬于后端的范疇,但前端也可做體驗(yàn)上的優(yōu)化。

原因

當(dāng)使用外部不可信任的數(shù)據(jù)作為參數(shù)進(jìn)行數(shù)據(jù)庫(kù)的增、刪、改、查時(shí),如果未對(duì)外部數(shù)據(jù)進(jìn)行過(guò)濾,就會(huì)產(chǎn)生 SQL 注入漏洞。

比如:

name = "外部輸入名稱";

sql = "select * from users where name=" + name;

上面的 SQL 語(yǔ)句目的是通過(guò)用戶輸入的用戶名查找用戶信息,因?yàn)橛捎?SQL 語(yǔ)句是直接拼接的,也沒(méi)有進(jìn)行過(guò)濾,所以,當(dāng)用戶輸入 "" or "1"="1" 時(shí),這個(gè)語(yǔ)句的功能就是搜索 users 全表的記錄。

select * from users where name="" or "1"="1";
解決方案

具體的解決方案很多,但大部分都是基于一點(diǎn):不信任任何外部輸入。

所以,對(duì)任何外部輸入都進(jìn)行過(guò)濾,然后再進(jìn)行數(shù)據(jù)庫(kù)的增、刪、改、查。

此外,適當(dāng)?shù)臋?quán)限控制、不曝露必要的安全信息和日志也有助于預(yù)防 SQL 注入漏洞。

參考 Web 安全漏洞之 SQL 注入 - 防御方法 了解具體的解決方案。

推薦參考

Web 安全漏洞之 SQL 注入

SQL 注入詳解

2. XSS 攻擊

XSS 攻擊全稱跨站腳本攻擊(Cross-Site Scripting),簡(jiǎn)單的說(shuō)就是攻擊者通過(guò)在目標(biāo)網(wǎng)站上注入惡意腳本并運(yùn)行,獲取用戶的敏感信息如 Cookie、SessionID 等,影響網(wǎng)站與用戶數(shù)據(jù)安全。

XSS 攻擊更偏向前端的范疇,但后端在保存數(shù)據(jù)的時(shí)候也需要對(duì)數(shù)據(jù)進(jìn)行安全過(guò)濾。

原因

當(dāng)攻擊者通過(guò)某種方式向?yàn)g覽器頁(yè)面注入了惡意代碼,并且瀏覽器執(zhí)行了這些代碼。

比如:

在一個(gè)文章應(yīng)用中(如微信文章),攻擊者在文章編輯后臺(tái)通過(guò)注入 script 標(biāo)簽及 js 代碼,后端未加過(guò)濾就保存到數(shù)據(jù)庫(kù),前端渲染文章詳情的時(shí)候也未加過(guò)濾,這就會(huì)讓這段 js 代碼執(zhí)行,引起 XSS 攻擊。

解決方案

一個(gè)基本的思路是渲染前端頁(yè)面(不管是客戶端渲染還是服務(wù)器端渲染)或者動(dòng)態(tài)插入 HTML 片段時(shí),任何數(shù)據(jù)都不可信任,都要先做 HTML 過(guò)濾,然后再渲染。

參考 前端安全系列(一):如何防止XSS攻擊? - 攻擊的預(yù)防 了解具體的解決方案。

推薦參考

前端安全系列(一):如何防止XSS攻擊?

前端防御 XSS

淺說(shuō) XSS 和 CSRF

3. CSRF 攻擊

CSRF 攻擊全稱跨站請(qǐng)求偽造(Cross-site Request Forgery),簡(jiǎn)單的說(shuō)就是攻擊者盜用了你的身份,以你的名義發(fā)送惡意請(qǐng)求。

原因

一個(gè)典型的 CSRF 攻擊有著如下的流程:

受害者登錄 a.com,并保留了登錄憑證(Cookie)

攻擊者引誘受害者訪問(wèn)了 b.com

b.coma.com 發(fā)送了一個(gè)請(qǐng)求:a.com/act=xx(瀏覽器會(huì)默認(rèn)攜帶 a.com 的 Cookie)

a.com 接收到請(qǐng)求后,對(duì)請(qǐng)求進(jìn)行驗(yàn)證,并確認(rèn)是受害者的憑證,誤以為是受害者自己發(fā)送的請(qǐng)求

a.com 以受害者的名義執(zhí)行了 act=xx

攻擊完成,攻擊者在受害者不知情的情況下,冒充受害者,讓 a.com 執(zhí)行了自己定義的操作

注:上面的過(guò)程摘自 前端安全系列之二:如何防止CSRF攻擊?

解決方案

防止 CSRF 攻擊需要在服務(wù)器端入手,基本的思路是能正確識(shí)別是否是用戶發(fā)起的請(qǐng)求。

參考 前端安全系列之二:如何防止CSRF攻擊? - 防護(hù)策略 了解具體的解決方案。

推薦參考

前端安全系列之二:如何防止CSRF攻擊?

Web安全漏洞之CSRF

淺說(shuō) XSS 和 CSRF

4. DDoS 攻擊

DoS 攻擊全稱拒絕服務(wù)(Denial of Service),簡(jiǎn)單的說(shuō)就是讓一個(gè)公開網(wǎng)站無(wú)法訪問(wèn),而 DDoS 攻擊(分布式拒絕服務(wù) Distributed Denial of Service)是 DoS 的升級(jí)版。

這個(gè)就完全屬于后端的范疇了。

原因

攻擊者不斷地提出服務(wù)請(qǐng)求,讓合法用戶的請(qǐng)求無(wú)法及時(shí)處理,這就是 DoS 攻擊。

攻擊者使用多臺(tái)計(jì)算機(jī)或者計(jì)算機(jī)集群進(jìn)行 DoS 攻擊,就是 DDoS 攻擊。

解決方案

防止 DDoS 攻擊的基本思路是限流,限制單個(gè)用戶的流量(包括 IP 等)。

參考 DDoS的攻擊及防御 - 防御 了解具體的解決方案。

推薦參考

DDoS的攻擊及防御

淺談 DDoS 攻擊與防御

使用 Nginx、Nginx Plus 抵御 DDOS 攻擊

5. XXE 漏洞

XXE 漏洞全稱 XML 外部實(shí)體漏洞(XML External Entity),當(dāng)應(yīng)用程序解析 XML 輸入時(shí),如果沒(méi)有禁止外部實(shí)體的加載,導(dǎo)致可加載惡意外部文件和代碼,就會(huì)造成任意文件讀取、命令執(zhí)行、內(nèi)網(wǎng)端口掃描、攻擊內(nèi)網(wǎng)網(wǎng)站等攻擊。

這個(gè)只在能夠接收 XML 格式參數(shù)的接口才會(huì)出現(xiàn)。

解決方案

禁用外部實(shí)體

過(guò)濾用戶提交的XML數(shù)據(jù)

參考 xxe漏洞的學(xué)習(xí)與利用總結(jié) 了解具體的解決方案。

推薦參考

好剛: 6分鐘視頻看懂XXE漏洞攻擊

xxe漏洞的學(xué)習(xí)與利用總結(jié)

XXE漏洞攻防學(xué)習(xí)(上)

6. JSON 劫持

JSON 劫持(JSON Hijacking)是用于獲取敏感數(shù)據(jù)的一種攻擊方式,屬于 CSRF 攻擊的范疇。

原因

一些 Web 應(yīng)用會(huì)把一些敏感數(shù)據(jù)以 json 的形式返回到前端,如果僅僅通過(guò) Cookie 來(lái)判斷請(qǐng)求是否合法,那么就可以利用類似 CSRF 的手段,向目標(biāo)服務(wù)器發(fā)送請(qǐng)求,以獲得敏感數(shù)據(jù)。

比如下面的鏈接在已登錄的情況下會(huì)返回 json 格式的用戶信息:

http://www.test.com/userinfo

攻擊者可以在自己的虛假頁(yè)面中,加入如下標(biāo)簽:

如果當(dāng)前瀏覽器已經(jīng)登錄了 www.test.com,并且 Cookie 未過(guò)期,然后訪問(wèn)了攻擊者的虛假頁(yè)面,那么該頁(yè)面就可以拿到 json 形式的用戶敏感信息,因?yàn)?script 標(biāo)簽會(huì)自動(dòng)解析 json 數(shù)據(jù),生成對(duì)應(yīng)的 js 對(duì)象。然后再通過(guò):

Object.prototype.__defineSetter__

這個(gè)函數(shù)來(lái)觸發(fā)自己的惡意代碼。

但是這個(gè)函數(shù)在當(dāng)前的新版本 Chrome 和 Firefox 中都已經(jīng)失效了。

注:上面的過(guò)程摘自 JSON和JSONP劫持以及解決方法

解決方案

X-Requested-With 標(biāo)識(shí)

瀏覽器 JSON 數(shù)據(jù)識(shí)別

禁止 Javascript 執(zhí)行 JSON 數(shù)據(jù)

推薦參考

JSON和JSONP劫持以及解決方法

JSONP 安全攻防技術(shù)(JSON劫持、 XSS漏洞)

7. 暴力破解

這個(gè)一般針對(duì)密碼而言,弱密碼(Weak Password)很容易被別人(對(duì)你很了解的人等)猜到或被破解工具暴力破解。

解決方案

密碼復(fù)雜度要足夠大,也要足夠隱蔽

限制嘗試次數(shù)

8. HTTP 報(bào)頭追蹤漏洞

HTTP/1.1(RFC2616)規(guī)范定義了 HTTP TRACE 方法,主要是用于客戶端通過(guò)向 Web 服務(wù)器提交 TRACE 請(qǐng)求來(lái)進(jìn)行測(cè)試或獲得診斷信息。

當(dāng) Web 服務(wù)器啟用 TRACE 時(shí),提交的請(qǐng)求頭會(huì)在服務(wù)器響應(yīng)的內(nèi)容(Body)中完整的返回,其中 HTTP 頭很可能包括 Session Token、Cookies 或其它認(rèn)證信息。攻擊者可以利用此漏洞來(lái)欺騙合法用戶并得到他們的私人信息。

解決方案

禁用 HTTP TRACE 方法。

9. 信息泄露

由于 Web 服務(wù)器或應(yīng)用程序沒(méi)有正確處理一些特殊請(qǐng)求,泄露 Web 服務(wù)器的一些敏感信息,如用戶名、密碼、源代碼、服務(wù)器信息、配置信息等。

所以一般需注意:

應(yīng)用程序報(bào)錯(cuò)時(shí),不對(duì)外產(chǎn)生調(diào)試信息

過(guò)濾用戶提交的數(shù)據(jù)與特殊字符

保證源代碼、服務(wù)器配置的安全

10. 目錄遍歷漏洞

攻擊者向 Web 服務(wù)器發(fā)送請(qǐng)求,通過(guò)在 URL 中或在有特殊意義的目錄中附加 ../、或者附加 ../ 的一些變形(如 ....// 甚至其編碼),導(dǎo)致攻擊者能夠訪問(wèn)未授權(quán)的目錄,以及在 Web 服務(wù)器的根目錄以外執(zhí)行命令。

11. 命令執(zhí)行漏洞

命令執(zhí)行漏洞是通過(guò) URL 發(fā)起請(qǐng)求,在 Web 服務(wù)器端執(zhí)行未授權(quán)的命令,獲取系統(tǒng)信息、篡改系統(tǒng)配置、控制整個(gè)系統(tǒng)、使系統(tǒng)癱瘓等。

12. 文件上傳漏洞

如果對(duì)文件上傳路徑變量過(guò)濾不嚴(yán),并且對(duì)用戶上傳的文件后綴以及文件類型限制不嚴(yán),攻擊者可通過(guò) Web 訪問(wèn)的目錄上傳任意文件,包括網(wǎng)站后門文件(webshell),進(jìn)而遠(yuǎn)程控制網(wǎng)站服務(wù)器。

所以一般需注意:

在開發(fā)網(wǎng)站及應(yīng)用程序過(guò)程中,需嚴(yán)格限制和校驗(yàn)上傳的文件,禁止上傳惡意代碼的文件

限制相關(guān)目錄的執(zhí)行權(quán)限,防范 webshell 攻擊

13. 其他漏洞

SSLStrip 攻擊

OpenSSL Heartbleed 安全漏洞

CCS 注入漏洞

證書有效性驗(yàn)證漏洞

14. 業(yè)務(wù)漏洞

一般業(yè)務(wù)漏洞是跟具體的應(yīng)用程序相關(guān),比如參數(shù)篡改(連續(xù)編號(hào) ID / 訂單、1 元支付)、重放攻擊(偽裝支付)、權(quán)限控制(越權(quán)操作)等。

另外可以參考:6種常見web漏洞坑

15. 框架或應(yīng)用漏洞

WordPress 4.7 / 4.7.1:REST API 內(nèi)容注入漏洞

Drupal Module RESTWS 7.x:Remote PHP Code Execution

SugarCRM 6.5.23:REST PHP Object Injection Exploit

Apache Struts:REST Plugin With Dynamic Method Invocation Remote Code Execution

Oracle GlassFish Server:REST CSRF

QQ Browser 9.6:API 權(quán)限控制問(wèn)題導(dǎo)致泄露隱私模式

Hacking Docker:Registry API 未授權(quán)訪問(wèn)

后續(xù)

更多博客,查看 https://github.com/senntyou/blogs

作者:深予之 (@senntyou)

版權(quán)聲明:自由轉(zhuǎn)載-非商用-非衍生-保持署名(創(chuàng)意共享3.0許可證)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101364.html

相關(guān)文章

  • web 應(yīng)用常見安全漏洞一覽

    摘要:應(yīng)用常見安全漏洞一覽注入注入就是通過(guò)給應(yīng)用接口傳入一些特殊字符,達(dá)到欺騙服務(wù)器執(zhí)行惡意的命令。此外,適當(dāng)?shù)臋?quán)限控制不曝露必要的安全信息和日志也有助于預(yù)防注入漏洞。 web 應(yīng)用常見安全漏洞一覽 1. SQL 注入 SQL 注入就是通過(guò)給 web 應(yīng)用接口傳入一些特殊字符,達(dá)到欺騙服務(wù)器執(zhí)行惡意的 SQL 命令。 SQL 注入漏洞屬于后端的范疇,但前端也可做體驗(yàn)上的優(yōu)化。 原因 當(dāng)使用外...

    Panda 評(píng)論0 收藏0
  • 基于瀏覽器客戶端的流式渲染技術(shù)難點(diǎn)一覽

    摘要:為了適應(yīng)流式渲染技術(shù)對(duì)網(wǎng)絡(luò)高吞吐零緩沖的特點(diǎn),可能需要對(duì)現(xiàn)有網(wǎng)絡(luò)協(xié)議進(jìn)行改造主要針對(duì)。視頻基于的,視頻在客戶端的播放會(huì)相對(duì)較為容易。輸入信號(hào)各自隔離處理即可,瀏覽器端對(duì)常見的輸入信號(hào)幾乎都有支持。 本文首發(fā)于我的博客(點(diǎn)此查看),歡迎關(guān)注。 流式渲染技術(shù),不同于傳統(tǒng)意義上前端領(lǐng)域的服務(wù)端渲染(即 SSR),指的是云端性能強(qiáng)勁的機(jī)器進(jìn)行畫面渲染,將渲染完成的數(shù)據(jù)傳送至客戶端,客戶端只負(fù)責(zé)...

    Render 評(píng)論0 收藏0
  • Spring體系常用項(xiàng)目一覽

    摘要:的面向的異常遵從通用的異常層次結(jié)構(gòu)。比如以前常用的框架,現(xiàn)在常用的框架包含許多項(xiàng)目,下面挑一些最常用的出來(lái)總結(jié)一下。狀態(tài)是流程中事件發(fā)生的地點(diǎn),在流程中通過(guò)轉(zhuǎn)移的方式從一個(gè)狀態(tài)到另一個(gè)狀態(tài),流程的當(dāng)前狀況稱為流程數(shù)據(jù)。 如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產(chǎn)生,學(xué)起來(lái)給人一種凌亂的感覺(jué),我就在這里總結(jié)一下,理順頭緒...

    OnlyLing 評(píng)論0 收藏0
  • Android 研發(fā)工程師圖書一覽(2016年版)

    摘要:番茄工作法簡(jiǎn)約而不簡(jiǎn)單,本書亦然。在番茄工作法一個(gè)個(gè)短短的分鐘內(nèi),你收獲的不僅僅是效率,還會(huì)有意想不到的成就感。 @author ASCE1885的 Github 簡(jiǎn)書 微博 CSDN 知乎本文由于潛在的商業(yè)目的,不開放全文轉(zhuǎn)載許可,謝謝! showImg(/img/remote/1460000007319503?w=728&h=792); 廣而告之時(shí)間:我的新書《Android 高...

    MadPecker 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<