檢測到您已登錄華為云國際站賬號,為了您更好的體驗(yàn),建議您訪問國際站服務(wù)網(wǎng)站 http://m.cqfng.cn/intl/zh-cn
不再顯示此消息
WAF對SQL注入、XSS跨站腳本和PHP注入攻擊的檢測原理? SQL(Structured Query Language)注入攻擊是一種常見的Web攻擊方法,攻擊者通過把SQL命令注入到數(shù)據(jù)庫的查詢字符串中,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意SQL命令的目的。例如,可以從數(shù)據(jù)庫獲取敏感
屬性、JS、CSS)。這可能需要WAF學(xué)習(xí)或配置輔助信息(部分高級WAF支持)。與開發(fā)規(guī)范結(jié)合至關(guān)重要! 強(qiáng)制內(nèi)容安全策略(CSP - 強(qiáng)烈推薦): 非WAF功能,但WAF可輔助部署/監(jiān)控。 CSP是現(xiàn)代瀏覽器防御XSS的終極利器之一。華為云WAF可幫助生成、部署和報(bào)告CSP違規(guī)。
保障Web應(yīng)用的安全運(yùn)行,Web應(yīng)用防火墻(WAF)應(yīng)運(yùn)而生。 二、WAF的核心概念與工作原理 2.1 WAF的核心概念 WAF是一種專門用于保護(hù)Web應(yīng)用的安全防護(hù)技術(shù),它通過監(jiān)測和過濾HTTP/HTTPS流量,防止惡意攻擊到達(dá)Web服務(wù)器。WAF可以部署在Web服務(wù)器前端,作為獨(dú)立的硬件設(shè)備、軟件應(yīng)用或云服務(wù)。
of WAF/IPS (受到某種WAF/IPS保護(hù)) 規(guī)則:waf攔截(以安全狗為例) 相關(guān)注入工具都被列為攔截對象。且根據(jù)HTTP頭部進(jìn)行攔截 ?編輯 使用自帶繞過腳本進(jìn)行繞過測試(現(xiàn)實(shí)中一般沒什么用) --random-agent 使用任意HTTP頭進(jìn)行繞過 --porxy=http//127
(沒有不透風(fēng)的墻,辦法總比困難多) 只要是基于規(guī)則的繞過,在工作的時(shí)候就有著天然的缺陷型,限制了WAF,防火墻等基于這種模式的防護(hù)作用的發(fā)揮,只要滲透測試者認(rèn)真一點(diǎn),發(fā)揮自己的腦洞,總能找到各種各樣的繞過姿勢。 網(wǎng)絡(luò)安全:WAF繞過基礎(chǔ)分析和原理、注入繞過WAF方法分析 點(diǎn)擊并拖拽以移動(dòng)點(diǎn)擊并拖拽以移動(dòng)?編輯
type這種字符,fastjson特征很明顯的字符都被過濾了 于是開始了繞過之旅,順便來學(xué)習(xí)一下如何waf 編碼繞過 去網(wǎng)上搜索還是有繞過waf的文章,下面來分析一手,當(dāng)時(shí)第一反應(yīng)就是unicode編碼去繞過 首先簡單的測試一下 parseObject:221, DefaultJSONParser
E,這樣流量才會先經(jīng)過WAF,WAF再將流量轉(zhuǎn)到源站,實(shí)現(xiàn)網(wǎng)站流量檢測和攻擊攔截。 圖1 未使用代理配置原理 方案優(yōu)勢 使網(wǎng)站流量經(jīng)過WAF,WAF通過對HTTP(S)請求進(jìn)行檢測,識別并阻斷SQL注入、跨站腳本攻擊、網(wǎng)頁木馬上傳、命令/代碼注入、文件包含、敏感文件訪問、第三方應(yīng)
符型注入可以分為:「單引號字符型」注入和「雙引號字符型」注入。1)單引號字符型注入參數(shù)使用「單引號」包裹時(shí),叫做單引號字符型注入,比如下面這個(gè)SQL,就是單引號字符型注入。select * from user where username = 'zhangsan';2)雙引號字符
Firewall,簡稱WAF)是通過執(zhí)行一系列針對HTTP/HTTPS的安全策略來專門為Web應(yīng)用提供保護(hù)的一款產(chǎn)品,主要用于防御針對網(wǎng)絡(luò)應(yīng)用層的攻擊,像SQL注入、跨站腳本攻擊、參數(shù)篡改、應(yīng)用平臺漏洞攻擊、拒絕服務(wù)攻擊等。同傳統(tǒng)的防火墻不同的是,web應(yīng)用防火墻位于兩個(gè)或多個(gè)網(wǎng)絡(luò)之
數(shù)據(jù)信息。簡而言之,SQL 注入就是在用戶輸入的字符串中加入 SQL 語句,如果在設(shè)計(jì)不良的程序中忽略了檢查,那么這些注入進(jìn)去的 SQL 語句就會被數(shù)據(jù)庫服務(wù)器誤認(rèn)為是正常的 SQL 語句而運(yùn)行,攻擊者就可以執(zhí)行計(jì)劃外的命令或訪問未被授權(quán)的數(shù)據(jù)。SQL 注入已經(jīng)成為互聯(lián)網(wǎng)世界 Web
5HTTP參數(shù)溢出繞過 WAF為了避免參數(shù)污染的繞過會檢測所有的參數(shù),但是有些WAF因?yàn)樾阅芩詴袛?shù)量限制 超出數(shù)量的參數(shù),就可以繞過WAF的檢測。 這個(gè)和臟數(shù)據(jù)是有點(diǎn)區(qū)別的 前面都被waf檢測了,正好最后一個(gè)參數(shù)超過waf的限制,就達(dá)成了繞過waf 2.大小混寫繞過 有些waf默認(rèn)情況
報(bào)錯(cuò)見上圖。還有一種反向單引號,也不能識別,見下圖:
一:繞過給危險(xiǎn)字符加反斜杠的過濾 解析:本代碼有三個(gè)過濾,第一個(gè)是過濾將反斜線替換為雙反斜線。第二個(gè)和第三個(gè)分別是將單引號和雙引號轉(zhuǎn)義,即在引號前面添加反斜線。有沒有注意本數(shù)據(jù)庫是gbk的,那我們就可以進(jìn)行『寬字節(jié)』注入了。 首先直接注入測試 發(fā)現(xiàn)單引號被轉(zhuǎn)義了。
有一位同學(xué)摸索出了一個(gè)小竅門,要把下面的語句題換成變量的寫法: strsql=“Insert into mytable(username) values(‘張紅')” 第一步:先把張紅抹去,在原位置加兩個(gè)引號 strsql=“Insert into mytable(username)
表1 誤報(bào)處理說明 命中規(guī)則類型 命中規(guī)則 處理方式 WAF內(nèi)置防護(hù)規(guī)則 Web基礎(chǔ)防護(hù)規(guī)則 防范SQL注入、XSS跨站腳本、遠(yuǎn)程溢出攻擊、文件包含、Bash漏洞攻擊、遠(yuǎn)程命令執(zhí)行、目錄遍歷、敏感文件訪問、命令/代碼注入等常規(guī)的Web攻擊,以及Webshell檢測、深度反逃逸檢測等
一、復(fù)雜的需求 WAF (WEB 應(yīng)用防火墻) 用來保護(hù) WEB 應(yīng)用免受來自應(yīng)用層的攻擊。作為防護(hù)對象的 WEB 應(yīng)用,其功能和運(yùn)行環(huán)境往往是復(fù)雜且千差萬別的,這導(dǎo)致即便防御某個(gè)特定的攻擊方式時(shí),用戶需求也可能是細(xì)致而多樣的。 以最基本的 SQL 注入 (以下簡稱注入) 為例。注入攻擊當(dāng)然是要防范的,但用戶可能還有以下需求:
字符可以使用單引號包裹,也可以使用雙引號包裹,根據(jù)包裹字符串的「引號」不同,字符型注入可以分為:「單引號字符型」注入和「雙引號字符型」注入。 1)單引號字符型注入 參數(shù)使用「單引號」包裹時(shí),叫做單引號字符型注入,比如下面這個(gè)SQL,就是單引號字符型注入。 select
第三十六關(guān)注入點(diǎn)為 單引號字符串型 , 注入方式為 報(bào)錯(cuò)注入 此關(guān)卡通過 代碼WAF 對單引號' 進(jìn)行了轉(zhuǎn)義 , 我們使用 %df%27% 代替單引號' 繞過WAF , 先上結(jié)果 ?id=1%df%27 and updatexml(1
腳本中的用法。 有四種不同類型的引號字符: 單引號 ’雙引號"反斜杠 \后引號` 除反沖外,其余三個(gè)字符成對出現(xiàn)。 讓我們詳細(xì)看看它們。 1.單引號 Shell 中的單引號會忽略其中所有類型的特殊字符,單引號之間的所有內(nèi)容都被視為一個(gè)元素。 讓我們舉個(gè)例子,這是一個(gè)示例文本文件,其中包含
第三十四關(guān)注入點(diǎn)為 單引號字符串型 , 注入類型為 報(bào)錯(cuò)注入 此關(guān)卡通過 代碼WAF 將單引號' 轉(zhuǎn)義成 /' , 我們使用 編譯 繞過WAF , 先上結(jié)果 ?' and updatexml(1,concat(0x7e,substr((select
第三十五關(guān)注入點(diǎn)為 數(shù)值型 , 注入方式為 報(bào)錯(cuò)注入 此關(guān)卡通過 代碼WAF 轉(zhuǎn)義了單引號' , 我們使用 編譯 繞過WAF , 先上結(jié)果 ?id=1 and updatexml(1,concat(0x7e,substr((select