频道栏目
首页 > 资讯 > 网站安全 > 正文

论升级的重要性,低版本squirrel mail的XSS利用实例

13-07-23        来源:[db:作者]  
收藏   我要投稿
低版本的sqmail有几个xss洞...但是没有exploit...这次通过实例补充一下
求不要跨省...我还要读几年书呢

香港科技大学喜欢使用squirrel mail作为webmail后端
 
屡次标榜先进性却不思升级...这不就跪了么
 
 
 
这次实战的洞有CVE-2008-2379
 
和一个老洞...但是sqmail的最新版好像也没完全修好
 
 
 
先看看科大用的sqmail版本
 
logout以后任意访问一个需要login的页面就可以了
 
 
1.4.10a恩...
 
http://squirrelmail.org/security/
 
来看看对应版本有什么洞...
 
我注意到的是
 
2008-12-04 Cross site scripting in HTML filter 1.4.0 - 1.4.16 0 CVE-2008-2379
 
这个洞...先搜一下网上有没有现成的exploit好了....
 
...
 
...
 
没有...那就自己研究
 
先看一下patch
 
http://squirrelmail.svn.sourceforge.net/viewvc/squirrelmail/branches/SM-1_4-STABLE/squirrelmail/functions/mime.php?r1=13276&r2=13338&view=patch
 
然后抓源码下来研究一番
 
原来啊...洞在于在函数的一开始,把链接两边的quote去掉了
 
但是在处理完以后,忘记加上quote了..
 
但是啊....仔细研究这段源码...发现了一些棘手的事情
 
开发者提前探测了一些危险字符,然后是一旦出现直接打入冷宫= =
 
这里我想再要吐槽一下....尼玛过滤其他的字符我还能理解,过滤20空格,21感叹号,23井号,24美元符号,25百分号是要逆天么?
 
你这样让一个正常的url也要悲剧啊...
 
好了...那么也即...要在大多数已经用惯的分隔符不能使用之际,来构造XSS
 
第一个任务...
 
如何将tag name同tag attribute分隔开
 
因为过滤空格等分隔符的原因
 
 
<img onload=xxx>
 
这样是不行的...
 
但是啊...我表示曾经试出过一个奇葩的用法
 
 
<img/onload=xxx>
 
也即...用反斜杠是可以分隔tag name和tag attribute的
 
而且经测试是通杀各大浏览器的
 
其实呢...按照sqmail直接返回内容的尿性...到这里已经够了...
 
因为直接script标签就搞定了...
 
但是呢...我还想来试试用img标签怎么搞
 
这就涉及到第二个问题...分隔tag attribute的方法
 
这时候是不能用反斜杠分隔的,因为反斜杠会被认为在attribute里面
 
这时候我另一个奇葩的发现又派出了用场...那就是,各大浏览器会把\127当成单引号来parse....
 
于是可以有如下的代码
 
 
<img/src=\127\48\127onerror=\127console.log(/xss/)\127/>
 
然后这个洞的完整exploit就是
 
 
<a href='http://test/?p=></a><img/src=\127\48\127onerror=\127console.log(/xss/)\127/>' >test</a>
 
效果最后再给
 
 
 
然后接下来是一个老洞
 
就是svg里面xlink:href插入javascript的问题
 
不多说...直接上exploit
 
 
<svg xmlns="http://www.w3.org/2000/svg" style="width:700px;height:400px;z-index:101;display:block;margin-top:-400px;"> <a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:actuate="onClick" xlink:href="javascript:console.log(/xss/)"><rect width="1000" height="1000" fill="transparent"/></a> </svg>
 
为什么说新版的sqmail修了一半呢...
 
这段exploit原意是用一个很大的可点击的透明rect覆盖几乎整个页面,让用户只要点击就会触发脚本
 
新版的sqmail修正了用style覆盖页面的漏洞,但是没有修正xlink:href含有javasctipt的漏洞
 
 
 
最后是这个版本的sqmail所有cookie包括session都不是http only的...所以xss是致命的
 
然后赶紧实战一下
 
send封email给自己
 
 
查看邮件页面里赫然已有痕迹
 
 
然后那个onerror的已然执行
 
 
 
那个骗点击的工作正常
 
 
所以啊...不升级伤不起啊 
 
修复方案:

升级啊升级
 
然后那个xlink:href的小洞squirrel mail修一下?
 
之前不是说好升级换代成Google Apps吗....怎么没动静了
 
要我说啊...科大赶紧换Google Apps嘛... 
 
相关TAG标签
上一篇:用友分站SQL注入,可登录后台
下一篇:《数据通信与网络》笔记--虚电路网络:帧中继和ATM
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站