因此,我一直在嘗試構建過去幾個小時的正則表達式,並且我開始瘋狂地考慮如果這甚至可能或者值得狂放。使用PHP連接的base64_decode的正則表達式(正則表達式)匹配
我有一個腳本,掃描PHP文件檢查MD5總和爲已知的惡意文件和某些字符串。最近我遇到過一些文件,它們不是在PHP文件中使用base64_decode,而是使用變量並將它連接起來,這樣掃描程序就不會將其提取出來。
作爲一個例子,這裏的最新的一個,我發現:
$a='bas'.'e6'.'4_d'.'ecode';eval($a
所以因爲BASE64_DECODE這個文件並沒有回升,因爲它們使用PHP來連接BASE64_DECODE在一個變量,然後調用掃描儀搜索變量。
原諒我,因爲我剛剛開始使用正則表達式,但它甚至有可能使用正則表達式來搜索這樣的東西?我的意思是,我瞭解並能得到一個正則表達式,將匹配準確的,但怎麼樣,如果他們用這個來代替:
$a='b'.'ase'.'64_d'.'ecode';eval($a
它不會被拾起,因爲正則表達式中尋找「再b,則A,等等等等
我已經添加
(eval)\(\$[a-z]
給我發送電子郵件作爲通知來檢查文件,我將不得不讓它運行一兩天,看看出現多少誤報,但我主要關心的是base64_decode
如果有人可以請爲我闡明這一點,也許我指出了正確的方向,我將不勝感激。
謝謝!