小議指令碼變形

2021-05-27 22:48:07 字數 1475 閱讀 5464

安全天使:

bst:

指令碼攻擊在網路安全中永遠是個「重頭戲」,由此產生的各種攻擊性指令碼如vbs/js指令碼,各種webshell 尤其是webshell是web入侵中必不可少的工具。現在的webshell版本繁多,功能越來越強,這也成為管理員防範和各大防毒軟體追殺的目標。

下面我以asp的webshell為例子簡單說下指令碼的變形思路:

1.classid的使用

aspshell裡的常用的物件名往往是防毒軟體採用的特徵碼,管理員也可以通過修改登錄檔,來改變asp物件的名稱,但是沒個asp物件在系統裡有個規定的classid(ps:classid在各個系統有所不同)那麼我們就可以通過classid來建立物件,如我們通常建立fso物件是採用下面的語句:

set hh=server.createobject("scripting.filesystemobject") 那麼通過查詢「scripting.filesystemobject" 來查殺你的指令碼,那麼我們就可以通過fso對應的classid來建立:

這樣還有個好處就是即使管理員改fso的名字,也可以使用。

以下是常用物件對應的classid:

防毒軟體一般是提高提取特徵碼來查殺病毒的,所以asp物件名一般就成為了「特徵碼」了。我們就可以通過使用+或&來拆分物件名。如:

set hh=server.createobject("scripting.filesystemobject")

我們就可以提高下面的語句替換:

set hh=server.createobject("scrip"+"ting.file"+"systemobject")

或set hh=server.createobject("scrip"&"ting.file"&"systemobject")

值得一提的是「思易asp木馬追捕」也是乙個有asp編寫的指令碼,用來查殺webshell的,這個指令碼先替換掉目標**裡的&在進行查詢物件名,那上面簡單的使用&就沒用了,不過我們可以同過插入空變數來防殺:

set hh=server.createobject("scrip"&"ting.file"&qsdsdsdf&"systemobject")

其中qsdsdsdf就為空變數,即使替換了所有的&,物件名還是有改變。

3.改變字母大小寫(本文的重點所在)

其實要通過改變字母的大小寫來改變特徵碼,大小寫對應的asii或其他的編碼也不同,這樣我們可以到達防殺的目的。實現起來也簡單,乙個系統自帶的「記事本」就可以搞定,不過這樣要手工乙個字母的去替換,你可以自己寫個簡單的程式幫助你處理,不過注意的問題是,有的**裡有密碼加密的函式會受到影響,還有對shell裡的htm**有影響,建立在變形事,採用部分變形(改變大小寫)。下面是我vb寫的乙個變形工具。

ps:程式只是替換了指定的幾個字母,還有就是加入空變數(見2). 如果你程式設計夠好的話,你可以寫個程式可以隨機改變大小寫的,還有部分變形**。

相關附件: bx.rar (63.52 k)

小議設計模式

1.設計模式的團隊裡面的人,會建立乙個單件多次 2.設計模式團隊裡面的人,會理解和熟練使用各種複雜的模式 我想表達的意思是,如果你的團隊裡面也是這中情況,你應該考慮的不是怎麼讓語言跟安全 加更多的type check 而是給那些經驗少的同事多培訓一下。有句話說的好,有好工具的傻瓜還是是傻瓜。說到這裡...

產品運營小議

myreport的產品 完成啦,我將通過這個實際例子討論一下產品運營 訪問連線 何謂產品運營 運就是運作 運轉是乙個迴圈的活動圈,營就是營收 營利這個是最終目的,而產品就是運營活動裡面的主體。產品 資料 市場推廣 客戶反饋 產品 資料 這個就是產品運轉的業務活動圈子,業務在運轉過程中產生營收 營利。...

小議「資料開放」

各位朋友,大家新年好。2015年的第一天,我還是想繼續談談easypr。不過,今天我不想說 也不想聊演算法,而是想想談談資料的事情。尤其是關於 資料開放 這個對於車牌識別系統未來發展至關重要的主題。圖1 資料堂,乙個資料的交易 裡面的車牌資料非常 昂貴 乙個車牌識別系統的核心分為機器學習演算法與車牌...