日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何使用Regexploit識(shí)別ReDoS正則表達(dá)式拒絕服務(wù)攻擊

關(guān)于Regexploit

Regexploit可以幫助廣大研究人員找出易受正則表達(dá)式拒絕服務(wù)攻擊(ReDoS)的正則表達(dá)式。

許多默認(rèn)正則表達(dá)式解析器都很復(fù)雜,而且存在很多安全問(wèn)題。當(dāng)顯示匹配的輸入字符串時(shí),使用正則表達(dá)式匹配的方式可能速度會(huì)很快,但是某些不匹配的輸入字符串可能會(huì)使正則表達(dá)式匹配器進(jìn)入瘋狂的回溯循環(huán),并且需要花費(fèi)很長(zhǎng)時(shí)間來(lái)處理。此時(shí),將有可能導(dǎo)致應(yīng)用程序出現(xiàn)拒絕服務(wù)的情況,因?yàn)镃PU在嘗試匹配正則表達(dá)式時(shí)會(huì)卡住。

該工具的主要目的如下:

  • 尋找易受正則表達(dá)式拒絕服務(wù)攻擊(ReDoS)的正則表達(dá)式;
  • 給出一個(gè)會(huì)導(dǎo)致死循環(huán)回溯的惡意字符串示例;

最壞情況復(fù)雜性

最壞情況復(fù)雜性反映了正則表達(dá)式匹配器的回溯過(guò)程相對(duì)于輸入字符串長(zhǎng)度的復(fù)雜性。這個(gè)最壞情況復(fù)雜性是以立方計(jì)算的,如果字符串的易受攻擊部分的長(zhǎng)度增加了一倍,則執(zhí)行時(shí)間應(yīng)延長(zhǎng)約8倍(2^3)。

工具安裝

該工具需要在本地安裝并配置好Python 3.8+環(huán)境。由于Regexploit會(huì)從JavaScript/TypeScript代碼中提取正則表達(dá)式,因此還需要安裝好NodeJS 12+。

首先,我們可以創(chuàng)建一個(gè)虛擬環(huán)境:

 
 
  1. python3 -m venv .env 
  2.  
  3. source .env/bin/activate 

然后使用pip來(lái)安裝Regexploit:

 
 
  1. pip install regexploit 

工具使用

1. 正則表達(dá)式處理

我們可以通過(guò)stdin(每個(gè)正則表達(dá)式占一行)向Regexploit輸入正則表達(dá)式:

 
 
  1. regexploit 

或者直接處理正則表達(dá)式列表文件:

 
 
  1. cat myregexes.txt | regexploit 

2. 自動(dòng)提取正則表達(dá)式

Regexploit內(nèi)置支持解析Python、JavaScript、TypeScript、C#、YAML和JSON代碼中的正則表達(dá)式。

(1) Python代碼

通過(guò)AST解析Python代碼(無(wú)需執(zhí)行)并提取正則表達(dá)式,并分析是否易受ReDoS:

 
 
  1. regexploit-py my-project/ 
  2.  
  3. regexploit-py "my-project/**/*.py" --glob 

(2) Javascript / Typescript

該功能將使用regexploit/bin/javascript中捆綁的NodeJS包實(shí)現(xiàn),并解析JavaScript中的正則表達(dá)式:

 
 
  1. regexploit-js my-module/my-file.js another/file.js some/folder/ 
  2.  
  3. regexploit-js "my-project/node_modules/**/*.js" --glob 

(3) JSON/YAML

YAML支持需要安裝pyyaml,我們可以使用命令“pip install regexploit[yaml]”進(jìn)行安裝:

 
 
  1. regexploit-json *.json 
  2.  
  3. regexploit-yaml *.yaml 

(4) C#(.NET)

 
 
  1. regexploit-csharp something.cs 

工具使用樣例

運(yùn)行Regexploit,并在命令行中輸入正則表達(dá)式“v\w*_\w*_\w*$”:

 
 
  1. $ regexploit 
  2.  
  3. v\w*_\w*_\w*$ 
  4.  
  5. Pattern: v\w*_\w*_\w*$ 
  6.  
  7. --- 
  8.  
  9. Worst-case complexity: 3 ??? (cubic) 
  10.  
  11. Repeated character: [5f:_] 
  12.  
  13. Final character to cause backtracking: [^WORD] 
  14.  
  15. Example: 'v' + '_' * 3456 + '!' 

此時(shí),Regexploit將返回評(píng)估結(jié)果。

項(xiàng)目地址

Regexploit:【GitHub傳送門】


文章標(biāo)題:如何使用Regexploit識(shí)別ReDoS正則表達(dá)式拒絕服務(wù)攻擊
URL地址:http://www.5511xx.com/article/cdpchog.html