摘要:安全基礎(chǔ)常見的安全攻擊手段有很多,比如注入,,,頭攻擊,攻擊,重定向攻擊,上傳文件攻擊等,其中大多數(shù)都可以通過三種方法過濾代理轉(zhuǎn)義實(shí)體化來解決。個(gè)人趨向于安全狗,同時(shí)安裝服務(wù)器安全狗和網(wǎng)站安全狗可以有效地防護(hù)攻擊。
web安全基礎(chǔ)
常見的web安全攻擊手段有很多,比如SQL注入,XSS,CSRF,HTTP頭攻擊,cookie攻擊,重定向攻擊,上傳文件攻擊等,其中大多數(shù)都可以通過三種方法——過濾代理轉(zhuǎn)義(實(shí)體化)來解決。
SQL注入 SQL注入方法?使用工具--SQLmap SQL注入之SQLmap入門 - FreeBuf.COM | 關(guān)注黑客與極客
兩種類型:常規(guī)注入和寬字節(jié)注入
常規(guī)注入方式,通常沒有任何過濾,直接把參數(shù)存放到了SQL語句當(dāng)中
寬字節(jié)注入:
怎么防止SQL注入?將PHP的內(nèi)置mysql_real_escape_string()函數(shù)用作任何用戶輸入的包裝器。
這個(gè)函數(shù)對(duì)字符串中的字符進(jìn)行轉(zhuǎn)義,使字符串不可能傳遞撇號(hào)等特殊字符,并讓mysql根據(jù)特殊字符進(jìn)行操作。
根本上防止SQL注入的方法,就是參數(shù)化查詢或者做詞法分析。
雖然SQL注入漏洞非常多,但是防范起來卻挺簡(jiǎn)單的,下面介紹幾個(gè)過濾函數(shù)和類:
魔術(shù)引號(hào)轉(zhuǎn)義(gdc,runtime,sybase)
過濾函數(shù)和類
addslashes(在指定的預(yù)定義字符前添加反斜杠。這些字符是單引號(hào)雙引號(hào)反斜線null)
mysql_real_escape_string
intval
PDO 預(yù)處理
XSS攻擊 XSS攻擊方法?XSS,跨站式腳本攻擊,它指的是惡意攻擊者往 Web 頁面里插入惡意 html 代碼,當(dāng)用戶瀏覽該頁之時(shí),嵌入其中 Web 里面的 html 代碼會(huì)被執(zhí)行,從而達(dá)到惡意的特殊目的。
XSS屬于被動(dòng)式的攻擊。所以往往不好防止。
XSS漏洞挖掘方法
數(shù)據(jù)接收位置,檢查 _POST、$_COOKIE是否經(jīng)過轉(zhuǎn)義。
常見的反射型XSS搜索這種類似位置發(fā)現(xiàn)次數(shù)較多。
而存儲(chǔ)型在文章,評(píng)論出現(xiàn)比較多。
XSS攻擊分為三種:反射型,存儲(chǔ)型,dom型
反射型,危害小,一般
反射型XSS原理:就是通過給別人發(fā)送帶有惡意腳本代碼參數(shù)的URL,當(dāng)URL地址被打開時(shí),特定的代碼參數(shù)會(huì)被HTML解析,執(zhí)行,如此就可以獲取用戶的COOIKE,進(jìn)而盜號(hào)登陸。比如hack甲構(gòu)造好修改密碼的URL并把密碼修改成123,但是修改密碼只有在登陸方乙才能修改,乙在登陸的情況下點(diǎn)擊甲構(gòu)造好的URL將直接在不知情的情況下修改密碼。
特點(diǎn)是:非持久化,必須用戶點(diǎn)擊帶有特定參數(shù)的鏈接才能引起。
存儲(chǔ)型,危害大,影響時(shí)間長(zhǎng)
存儲(chǔ)型XSS原理,假設(shè)你打開了一篇正常的文章頁面,下面有評(píng)論功能。這個(gè)時(shí)候你去評(píng)論了一下,在文本框中輸入了一些JavaScript代碼,提交之后,你刷新這個(gè)頁面后發(fā)現(xiàn)剛剛提交的代碼又被原封不動(dòng)的返回來并且執(zhí)行了。
這個(gè)時(shí)候你會(huì)想,我要寫一段 JavaScript 代碼獲取 cookie 信息,然后通過ajax發(fā)送到自己的服務(wù)器去。構(gòu)造好代碼后你把鏈接發(fā)給其他的朋友,或者網(wǎng)站的管理員,他們打開 JavaScript 代碼就執(zhí)行了,你服務(wù)器就接收到了sessionid,你就可以拿到他的用戶權(quán)限了。
dom型,特殊的一種
dom型 XSS 是因?yàn)?JavaScript 執(zhí)行了dom 操作,所造成的 XSS 漏洞,具體如下圖??梢钥吹诫m然經(jīng)過 html 轉(zhuǎn)義了,但是這塊代碼在返回到 html 中,又被 JavaScript 作為 dom 元素操作。那當(dāng)我輸入
?name=
的時(shí)候依然會(huì)存在 XSS 漏洞。
怎么防止XSS攻擊?過濾:strip_tags()去掉所有HTML,XML,PHP的標(biāo)簽,
HTML內(nèi)容實(shí)體化轉(zhuǎn)義:有兩種方式:在入口和出口,我建議是在入口處轉(zhuǎn)義,防止出口位置取出來的時(shí)候忘記轉(zhuǎn)義,如果已經(jīng)在入口轉(zhuǎn)義了,出口位置就不用再次轉(zhuǎn)義。htmlspecialchars()等函數(shù)。
框架層面:XSS注入我也不怕不怕啦——PHP從框架層面屏蔽XSS的思考和實(shí)踐 - 推酷
httpOnly 即使存在xss漏洞,可以把危害大大降低。
比較主流的XSS防止手段主要有兩種,
一種是在用戶輸入時(shí)將異常關(guān)鍵字過濾,
另一種是在頁面渲染時(shí)將Html網(wǎng)頁實(shí)體化轉(zhuǎn)義。
但是,如果我們必須要輸入所謂“敏感字符”的時(shí)候,由怎么辦?怎么處理這種數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)有沖突的情況?
第二種Html內(nèi)容實(shí)體化轉(zhuǎn)義的方式,又太依賴開發(fā)習(xí)慣,不靠譜。
那么還有一種方法就是在框架層面,根據(jù)實(shí)際情況具體分析,XSS注入我也不怕不怕啦——PHP從框架層面屏蔽XSS的思考和實(shí)踐 - 推酷
CSRF攻擊 CSRF攻擊方法?CSRF跨站式請(qǐng)求偽造。CSRF在用戶不知情的情況下,冒充用戶發(fā)起請(qǐng)求,完成一些違背用戶意愿的請(qǐng)求(如惡意發(fā)帖,刪帖,改密碼,發(fā)郵件)。
與XSS跨站式腳本攻擊不同的是,XSS是被動(dòng)的,更像是一個(gè)陷阱,而CSRF則是主動(dòng)的,跨域偽裝成用戶發(fā)送請(qǐng)求來達(dá)到目的。通常來說CSRF是基于XSS實(shí)現(xiàn)的,但是XSS更偏向于方法論,而CSRF更偏向于一種形式。
比如...
我們來看下面的一段代碼,這個(gè)表單當(dāng)被訪問到的時(shí)候,用戶就退出了登錄。假設(shè)有一個(gè)轉(zhuǎn)賬的表單,只需要填寫對(duì)方的用戶名,和金額就可以,那如果我提前把 URL 構(gòu)造好,發(fā)給受害者,當(dāng)點(diǎn)擊后,錢就被轉(zhuǎn)走了。
或者我把這個(gè) URL 放到我的網(wǎng)頁中,通過
怎么防止CSRF攻擊?圖片驗(yàn)證碼
token驗(yàn)證(默認(rèn)POST請(qǐng)求的時(shí)候都要帶上token)
referer信息驗(yàn)證(判斷HTTP的請(qǐng)求源是否是同源的)
如果三個(gè)判斷都沒有,那么就存在了 CSRF 漏洞,CSRF 不僅限于 GET 請(qǐng)求, POST 請(qǐng)求同樣存在。
圖片驗(yàn)證碼,這個(gè)想必大家都知道,但是用戶體驗(yàn)并不好,我們可以看下面的一些處理方法。
token驗(yàn)證
token驗(yàn)證方法如下,每次訪問表單頁的時(shí)候,生成一個(gè)不可預(yù)測(cè)的token存放在服務(wù)器session中,另外一份放頁面中,提交表單的時(shí)候需要把這個(gè)token帶過去,接收表單的時(shí)候先驗(yàn)證一下token是否合法。
Referer信息驗(yàn)證
大多數(shù)情況下,瀏覽器訪問一個(gè)地址,其中header頭里面會(huì)包含Referer信息,里面存儲(chǔ)了請(qǐng)求是從哪里發(fā)起的。
如果HTTP頭里包含有Referer的時(shí)候,我們可以區(qū)分請(qǐng)求是同域下還是跨站發(fā)起的,所以我們也可以通過判斷有問題的請(qǐng)求是否是同域下發(fā)起的來防御 CSRF 攻擊。
Referer 驗(yàn)證的時(shí)候有幾點(diǎn)需要注意,如果判斷Referer是否包含 *.XXX.com,如果有子域名有漏洞,會(huì)存在繞過的可能。
如果判斷的條件的是Referer中是否包含字符 ‘xxx.com’ 那攻擊者在他目錄中建立一個(gè) xxx.com 文件夾同樣存在繞過的可能。如果可以最合適的判斷是,直接判斷是否等于當(dāng)前域名。
DDOS攻擊 什么是DDOS攻擊?DDOS攻擊全稱為:分布式拒絕服務(wù)攻擊,是指擊者利用大量“肉雞”對(duì)攻擊目標(biāo)發(fā)動(dòng)大量的正?;蚍钦U?qǐng)求、耗盡目標(biāo)主機(jī)資源或網(wǎng)絡(luò)資源,從而使被攻擊的主機(jī)不能為合法用戶提供服務(wù)。
DDOS攻擊的本質(zhì)是:利用木桶原理,尋找利用系統(tǒng)應(yīng)用的瓶頸;阻塞和耗盡;當(dāng)前問題:用戶的帶寬小于攻擊的規(guī)模,噪聲訪問帶寬成為木桶的短板。
其實(shí)cc攻擊也屬于ddos攻擊的一種。
對(duì)于這類的攻擊,用軟硬件結(jié)合的方式來防御是最有效的。多帶帶 防御都是蠻吃力的
什么是CC攻擊?CC攻擊時(shí)一種以網(wǎng)站頁面為攻擊目標(biāo)的應(yīng)用層攻擊,攻擊時(shí)選擇服務(wù)器開放的頁面中需要較多資源開銷的應(yīng)用。例如占用大量CPU資源進(jìn)行運(yùn)算或需要大量訪問數(shù)據(jù)庫(kù)的應(yīng)用。主要是以.asp、.jsp、.php、.cgi等結(jié)尾的頁面資源。
在CC防護(hù)上,經(jīng)濟(jì)實(shí)力好的可以選擇購(gòu)買DDOS高防設(shè)備,因?yàn)镃C攻擊也屬于DDOS攻擊的一種。經(jīng)濟(jì)實(shí)力一般,可以考慮安裝防護(hù)軟件。安全狗或者360網(wǎng)站衛(wèi)士。個(gè)人趨向于安全狗,同時(shí)安裝服務(wù)器安全狗和網(wǎng)站安全狗可以有效地防護(hù)CC攻擊??梢杂行У胤乐狗?wù)器因?yàn)槭艿紺C攻擊而產(chǎn)生CPU使用率100%的情況出現(xiàn)。
什么是CC攻擊?
CC攻擊來的IP都是真實(shí)的,分散的;
CC攻擊的數(shù)據(jù)包都是正常的數(shù)據(jù)包;
CC攻擊的請(qǐng)求,全都是有效的請(qǐng)求,無法拒絕的請(qǐng)求;
因?yàn)閏c攻擊的是網(wǎng)頁,服務(wù)器什么都可以連接,ping也沒問題,但是網(wǎng)頁就是訪問不;
但是iis一開服務(wù)器一會(huì)就死,而且被攻擊后就老丟包。不知道是不是cc攻擊,syn 攻擊頻率才78ack攻擊頻率663.
DDOS攻擊和CC攻擊的區(qū)別?CC攻擊是DDOS(分布式拒絕服務(wù))的一種,相比其它的DDOS攻擊CC似乎更有技術(shù)含量一些。這種攻擊你見不到真實(shí)源IP,見不到特別大的異常流量,但造成服務(wù)器無法進(jìn)行正常連接。最讓站長(zhǎng)們憂慮的是這種攻擊技術(shù)含量低,利用更換IP代理工具和一些IP代理一個(gè)初、中級(jí)的電腦水平的用戶就能夠?qū)嵤┕?。因此,大家有必要了解CC攻擊的原理及如果發(fā)現(xiàn)CC攻擊和對(duì)其的防范措施。
http://baike.baidu.com/item/c...
代碼安全性檢查軟件RIPS
它最大的亮點(diǎn)在于調(diào)用了 PHP 內(nèi)置解析器接口token_get_all,
并且使用Parser做了語法分析,實(shí)現(xiàn)了跨文件的變量及函數(shù)追蹤,掃描結(jié)果中非常直觀地展示了漏洞形成及變量傳遞過程,誤報(bào)率非常低。
RIPS 能夠發(fā)現(xiàn) SQL 注入、XSS 跨站、文件包含、代碼執(zhí)行、文件讀取等多種漏洞,支持多種樣式的代碼高亮。比較有意思的是,它還支持自動(dòng)生成漏洞利用。
安裝方法
下載地址:https://jaist.dl.sourceforge....
解壓到任意一個(gè)PHP的運(yùn)行目錄
在瀏覽器輸入對(duì)應(yīng)網(wǎng)址,可以通過下圖看到有一個(gè)path 在里面填寫你要分析的項(xiàng)目文件路徑,點(diǎn)擊 scan.
seay源代碼審計(jì)系統(tǒng)
傻瓜化的自動(dòng)審計(jì) 。
支持php代碼調(diào)試 。
函數(shù)/變量定位 。
生成審計(jì)報(bào)告。
自定義審計(jì)規(guī)則 。
mysql數(shù)據(jù)庫(kù)管理 。
黑盒敏感信息泄露一鍵審計(jì) 。
支持正則匹配調(diào)試 。
編輯保存文件 。
POST數(shù)據(jù)包提交 。
常規(guī)漏洞的防范方法 taint PHP安全拓展Taint 可以用來檢測(cè)隱藏的 XSS code, SQL 注入, Shell注入等漏洞,并且這些漏洞如果要用靜態(tài)分析工具去排查, 將會(huì)非常困難, 我們來看下面這張圖:
安裝方法
下載 taint: http://pecl.php.net/package/t...
配置
/usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
更加詳細(xì)的可以參考:http://www.cnblogs.com/linzhe...
應(yīng)用場(chǎng)景
開發(fā)團(tuán)隊(duì)要求每個(gè)人都做到非常的安全比較難,但是把taint安裝在開發(fā)環(huán)境,特別適合,一看到 warning 信息一般都回去改。
ngx_lua_waf功能介紹
防止 sql 注入,本地包含,部分溢出,fuzzing 測(cè)試,xss,SSRF 等 web攻擊。
防止 svn /備份之類文件泄漏。
防止 ApacheBench 之類壓力測(cè)試工具的攻擊。
屏蔽常見的掃描黑客工具,掃描器。
屏蔽異常的網(wǎng)絡(luò)請(qǐng)求。
屏蔽圖片附件類目錄 php 執(zhí)行權(quán)限。
防止 webshell 上傳。
安裝方法
安裝依賴: luajit 、ngx_devel_kit、nginx_lua_module
安裝nginx、ngx_lua_waf
在nginx.conf里的 http 添加配置
詳細(xì)安裝文檔
效果圖
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/25873.html
摘要:黑體本系列講解安全所需要的和黑體安全基礎(chǔ)我的第一個(gè)網(wǎng)頁黑體安全基礎(chǔ)初識(shí)黑體安全基礎(chǔ)初識(shí)標(biāo)簽黑體安全基礎(chǔ)文件夾管理網(wǎng)站黑體安全基礎(chǔ)模塊化黑體安全基礎(chǔ)嵌套列表黑體安全基礎(chǔ)標(biāo)簽拓展和屬性的使用黑體安全基礎(chǔ)嵌套本系列講解WEB安全所需要的HTML和CSS #WEB安全基礎(chǔ) : HTML/CSS | 0x0 我的第一個(gè)網(wǎng)頁 #WEB安全基礎(chǔ) : HTML/CSS | 0x1初識(shí)CSS #WEB安全基...
摘要:安全基礎(chǔ)介紹本意是網(wǎng),這里多指萬維網(wǎng),是由許多互相連接的超文本系統(tǒng)組成的,通過互聯(lián)網(wǎng)訪問。刷新后可以看到瀏覽器發(fā)送了很多請(qǐng)求。同理可以查看和等各種文件格式。Web安全基礎(chǔ) 00 Web介紹 00-00 Web本意是網(wǎng),這里多指萬維網(wǎng)(World Wide Web),是由許多互相連接的超文本系統(tǒng)組成的,通過互聯(lián)網(wǎng)訪問。 Web是非常廣泛的互聯(lián)網(wǎng)應(yīng)用,每天都有數(shù)以億萬計(jì)的...
摘要:二應(yīng)用系統(tǒng)開發(fā)完成后,需要對(duì)應(yīng)用進(jìn)行全面的測(cè)試,其測(cè)試方法與其他系統(tǒng)的測(cè)試既有相同之處,又有不同之處。測(cè)試手段基本相同應(yīng)用系統(tǒng)的測(cè)試一樣會(huì)采用人工測(cè)試工具測(cè)試評(píng)估等手段。 Web應(yīng)用測(cè)試是軟件評(píng)測(cè)師必考的知識(shí)點(diǎn),每年在上午場(chǎng)和下午場(chǎng)都會(huì)出題,Web應(yīng)用是一類特殊的軟件,Web應(yīng)用系統(tǒng)的開發(fā)同樣要經(jīng)過需求分析、設(shè)計(jì)、編碼、實(shí)...
摘要:黑體安全基礎(chǔ)系列,本系列采用第二人稱以免你不知道我在對(duì)著你說話,以朋友的視角和你交流的中文名叫做超文本標(biāo)記語言,叫做層疊樣式表用設(shè)計(jì)你的第一個(gè)網(wǎng)頁,你需要做的是用你的眼睛看,用你的手敲。#WEB安全基礎(chǔ):HTML/CSS系列,本系列采用第二人稱以免你不知道我在對(duì)著你說話,以朋友的視角和你交流 HTML的中文名叫做超文本標(biāo)記語言,CSS叫做層疊樣式表 用HTML設(shè)計(jì)你的第一個(gè)網(wǎng)頁,你需要做的...
閱讀 1531·2021-09-22 15:35
閱讀 2011·2021-09-14 18:04
閱讀 883·2019-08-30 15:55
閱讀 2454·2019-08-30 15:53
閱讀 2685·2019-08-30 12:45
閱讀 1205·2019-08-29 17:01
閱讀 2583·2019-08-29 15:30
閱讀 3520·2019-08-29 15:09