探索黑客技术攻防,实战研究与安全创新

导航菜单

本地测试实操跨站阿里网站系统

天气就像浩瀚的网络一样让你都琢磨不透,12月将至,飘起了那令人心旷神怡的雪花。实在是一个字——冷,但是我也不可能会忘记我所钟爱的网络。这不,朋友在网上下载了一套“阿里巴巴商贸世界B2B网站管理系统”,让我帮着看看有没有什么问题!当然,这是一套商业代码,免费版的肯定有功能上的限制。既然是商业代码,免费版的有功能上的限制,既然是商业代码,安全系数应该是很高的。可是经过我的检查吧,还是找到了一点瑕疵。毕竟百迷难免一疏,人都会有疏漏的时候。

在SQL注入过程中苦苦挣扎了很久的我们,也不知道究竟什么时候才可以彻底的解放。千万不要小看跨站这个东西,你不知道它的作用其实巨大。千万不要小看任何一样东西,其实跨站非常牛逼的。你肯定会问跨站难道只可以盗cookies和挂马吗?其实利用跨站可以完成和管理员相同的操作,反正就看你怎么利用了。

其实这套系统在防注入方面已经做得非常不错了。而且在功能上也非常的强大,但是吧,它对于跨站攻击的防御却表现的是很吃力,那么,我们就在“客户反馈”中做一个简单的测试吧!

提示我们提交成功了,看来程序员的确没有过滤。那结果是不是我们想象中的那样会弹出一个“TEST”的警告窗口呢?我们便去后台看一下,点击“反馈查看”看一下。

OK,结果和我们想的一样,那么我们现在就可以来构造跨站攻击代码了。我们的目的是加一个和管理员具有相同权限的用户,那么,管理员是如何添加的呢?代码大概如下:

那么,肯定有人会问我,我们该怎么利用呢?相必大家都应该知道,扩展名为JPG的html文件是可以被正常解析的。这么强大的管理系统,提供上传图片肯定是一个不可缺少的功能。所以你们大概知道我们应该如何去构造一个代码了吧?

关键就是action的路径和最后一段自动提交的脚本不要搞错了,是一定,在这里我来强调下。大家可以根据实际情况去修改下,然后我们把这段代码的扩展名保存为JPG,然后我们上传,得到的路劲就是UserDocument/test/Picture/2006417_221902.jpg,现在就要提交我们的跨站攻击代码了。我们在“客户反馈”里面这样输入:管理员<iframe src=”../UserDocument/test/Picture/2006417_221902.jpg”width=0 height=0></iframe>,在我测试的时候发现最多只能提交100个字符,这就尴尬了,所以我们就要尽量减少提交的字符了。当然如果你不希望管理员看见你的内容是空白的,就在框架前面加上几个汉字,反正只要没有超出字数限制就OK了,那就可以了。

HC0YAOCNR0K}S$}[3T2LZ@W.jpg

接下来就是等待管理员查看“留言反馈”了,这样就会神不知鬼不觉在后台给你加一个管理员账号。是不是感觉到有点不可思议?不可思议就对了。

如果你感觉加一个管理员不够爽,那我们就来直接利用数据库备份得到一个shell提权怎么样?我想利用数据库备份得到shell我想大家应该都会了吧,那么如果利用跨站攻击代码让管理员自己帮我们备份一个shell,那样就会使我们的入侵变得更加快捷方便了。那么我们就来先看下数据库备份的表单吧。

有了刚才添加管理员的基础,我想现在利用起来应该不是很难了。我们首先把一个扩展名为JPG的ASP传上去,木马的路径为UserDocoument/test/Picture/2006416_230218.jpg,那么我们的跨站代码就应该这样构造了,简单来说:代码到这里,我们就写好了。当然了,路径一定要正常!还有备份的路径要有写权限和执行ASP的权限,不然的话,我们之前所做的一切努力可就前功尽弃了。和刚才一样我们把代码保存为JPG格式,上传后得到的路径为UserDocument/test/Picture/2006416_235303.jpg。好了,我们去提交下吧。

当管理员浏览了我们的反馈内容后,就会自动把我们备份一个shell,然后我们就赶紧去看下shell吧。

但是有一个很严重的问题你发现了吗?就是当你备份成功的时候他就会弹出一个提示框“数据库备份成功”,如果我们点击“确定”就反复的备份,从而造成一个死循环的结果。

在添加管理员账号的时候我们也会有同样的情况,当页面被刷新,我们的跨站代码就会被重新提交,系统就会提醒我们“此用户已存在,请重新输入”,这样也会造成死循环,所以这两个是个大问题。我们必须要克服。

当然我们也不会放弃,作为一名身经百战的黑客,我们就来让cookies来帮助我们解决这个问题吧。

说的更加通俗易懂一些,我们就是利用cookies做一个只允许访问一次的页面。当管理员访问过带有跨站代码的页面我们就做一次记录。当我们再次访问的时候cookies就已经存在了,这个时候就不让我们的跨站代码继续执行就可以了。其实我们可以做一个简单的计数器,同样的道理,只要我们把思路搞清晰了就可以了,作为一名合格的黑客,思路是一定要清晰的。好了,我们就来看下我们的代码吧。

提交过后我们就去看下效果吧!一箭双雕!不但添加了管理员,而且我们还得到了,令人讨厌的提示框这个时候也没有了,哈哈,成功了。

唯一没有解决的问题就是至少会弹出一次“数据库备份成功”。这是程序本身的缘故,当然了,如果有朋友可以解决这个问题,千万一定要告诉我一声,在cookies被管理员清除之前,那个讨厌的提示窗口就再也不会出现了!利用跨站代码其实还可以为我们在后台添加一个“ASP”的文件上传类型,但是表单相对来说比较大一些,这里就不再演示了。当然这段代码是具有普遍性的。

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐