|
一、前言。 初识飞骋似乎还是2002 年,那时它推出了一个似乎叫飞骋邮局的东西,提供280M的空间(在当时算很大了),当时学SQL Injection的时候,曾用它练过手,现在这个站发展的不小,于是再对它作次安全检测吧,发现漏洞漫天飞舞啊,而且很有意思,整个网站哪个栏目的系统都是各有特色,有.net的,有php的,还有asp的,真不知道他们是多少个人一点一点拼着开发起来的,而且他们用什么样服务器,怪啊~其实由此就可以看到他们的技术不专业性。从检测的结果来看,漏洞出的都很幼稚,好了,捡我发现的一些比较典型的漏洞给大家逐个介绍下(注入的漏洞就不说了吧,因为猫猫懒得找注入点了,大家可以自己找找看,有很多的,但是错误提示是关闭的。),争取能包含大部分常见网站程序漏洞吧。 二、网站程序漏洞介绍。 玄猫的习惯是先从系统功能来看,这个地方出的漏洞一般都是比较危险的。 1、取回密码验证不严导致可以修改任意用户的密码漏洞。 人在江湖走,难免忘密码,找回密码功能当然是现在涉及会员管理的网络程序的”标配”了,但是找回密码功能容易出现一个大的纰漏就是验证不严,我们来看: 注册一个用户名为BlackCat的用户,然后点击首页的”忘记密码”按钮找回密码,看程序的流程,先是输入用户名,然后是填写提示问题的答案,然后就是修改密码了(读者:又一个用废话骗稿费的)。我们把这个第三步的页面保存下来,用UltraEdit打开看源代码,读到118行的时候,我们看到这样一行代码为了照顾不懂Html的读者,我讲下这段代码的含义,这是一个隐藏的文本域,值为blackcats,即我们要找回密码的用户名,因为隐藏域在网页上是不显示的,所以许多程序员都用它来传递参数,但是这里用这种方法就导致了一个极其严重的漏洞,为了方便讲解,我们再注册一个叫”BlackWoods”的用户,密码设为123456。注册成功后,我们来修改保存到本地的网页文件,把value=”blackcats”改为value=”BlackWoods”,然后把文件第93行的action="getpassword_2.aspx"改为action=" http://www.fc****.com/reg/ getpassword_2.aspx",打开这个网页,在输入新密码的地方输入654321,然后提交,显示修改成功,我们用123456的密码登陆用户BlackWoods会发现密码错误了,再用654321登陆,成功,这就是严重的由于验证不严导致的随意修改用户密码的漏洞。 再来看它提供的服务有哪些漏洞。 2、网络曰记内容跨站漏洞。 首先来看曰记服务,一般来说对于像曰记这种一个人写,N多人看的东东,我们要考虑的就是XSS跨站漏洞了,(千万不要小看跨站,我觉得辐射鱼在这方面颇有研究,他经常能提出除了盗cookies的更强的利用方法,譬如直接利用管理员的表单来进行一些操作,大家可以看看以前的杂志)。在下面的内容中,我们试着用代码alert(“玄猫啊玄猫,玄猫要高考咯”)来测试能不能在页面上运行我们的Javasc太阳pt脚本。 我们打开一个写曰记的页面,先测试内容能不能写跨站脚本,曰记标题随便写,内容写个alert(“玄猫啊玄猫,玄猫要高考咯”),然后去看看,不难看到,我们写的sc太阳pt被替换成了s c太阳pt,(图一)
中间多了个空格,再来改变大小写试试,内容写alert(“玄猫啊玄猫,玄猫要高考咯”),还是不行,看来要想个变通的方法了,我们找找还有哪些是可以输出的,对了,标题,可是有的朋友会有疑问,标题就让写10个字,不够啊,我们再来把文件保存到本地,研究form的验证:232行有个alert(“玄猫啊玄猫,玄猫要高考咯”),内容随便写些东西,提交,在随后刷新出的页面里,优雅得弹出了我们的对话框,跨站成功。(图二) 网安官方站
3、曰记本介绍跨站漏洞。 在登陆曰记管理后,总是显示一个页面要填写曰记介绍,我们不妨在这里写个跨站代码,这样别人浏览我们的曰记本的时候就会执行了。 4、随意以任何用户身份添加曰记漏洞。 老用UE面对一些枯燥的代码未免有些不爽,于是我又用DreamWeaver打开保存在本地的页面,发现有3个隐藏域,(图三)
我们来看下,第一个隐藏域的值就是我们的用户名,这里是不是有文章可做呢,我们以blackcats登陆,把这个文件的隐藏域值改为BlackWoods,然后保存打开,写一些东西并提交,然后便在BlackWoods的曰记本中看到了我们提交的内容!My God!Session是干什么用的?! 额外的话:由于我在开始测试网站的漏洞的时候玩的比较凶(在一个JJ的曰记上写了”路过,路过而已”),结果第二天管理员就加了一个防止外部提交的代码,如果我们在本地修改再打开,提交的话会显示禁止外部提交。(图四)
对于禁止外部提交的突破方法黑客X档案以前也是提过的,我这里再说下,我们完成一次合法的曰记提交,并用WinSockExpert抓包,可以得到: POST /add_blog.asp? HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* Referer: http://diary.fc****.com/add_blog.asp?action=add Accept-Language: zh-cn Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon) Host: diary.fc****.com Content-Length: 251 Connection: Keep-Alive Cache-Control: no-cache Cookie: Logined=d738623c3a97ec40cb0b153fd94ade49; LoginedMd5=e10adc3949ba59abbe56e057f20f883e; LoginId=517609; LoginUserName=blackcats; IsGrade=0; last_time1=1115915788; last_time=2005-05-13+00%3A18%3A48; username=blackcats; use太阳d=517609; ASPSESSIONIDQSBASSBT=FFJHCNEBAJLBMIKJEFFAPCOF; ASPSESSIONIDQQBBRSCS=APNJNNEBMOBNGOGKPJIJMHEI 你复制的文字来自西部网安 title=title&postyear=2005&postmonth=5&postday=13&sfsd=0&password=&blog_leibie=%CE%DE%C0%E0%B4%E6%B4%A2&xinqing=14.gif&weather=sun.gif&font=%CB%CE%CC%E5&size=3&color=%236495ED&Content=content&qiangzhi=0&ok=%CC%E1%BD%BB&username=blackcats&action=add&id= 这样我们用NC发下包就可以完美的绕过可爱的不验证session的程序而非法跨站或者帮别人写曰记了。 5、小朋友的曰记就安全吗-少儿频道曰记跨站漏洞。 飞骋有个少儿频道,办得不错,其中有个让小朋友写曰记的功能,呵呵,程序员大概觉得小朋友都比较乖,不会跨站,可是…我这个“大朋友”来了,搞的不安全了,我们直接在曰记的内容写alert(“玄猫啊玄猫,玄猫要高考咯”),提交,浏览曰记,发现对话框弹了出来,跨站成功,呵呵,不要吓到小朋友,我们还是把曰记删了吧… 6、小朋友的留言就安全吗-少儿频道留言跨站漏洞。 当我们看了别的小朋友的曰记的时候,总该给他/她留个言鼓励下吧,当打开留言窗口后,我的双眼突然露出邪恶的目光,为了让小朋友注意我们的留言,我们来弹对话框吧:因为留言的标题只能写20个字,写起来很不爽,而且经过玄猫的测试,写入数据库之前程序还判断了标题的字数,所以我们直接在内容里写,最终的结果是跨站成功,由于前面已经讲的很详细了,这里就不再说了。 westsafe.net 关于网站程序本身的漏洞,暂时就说到这里,这个站点存在的主要问题还是对于跨站防御不足,管理员对程序的逻辑处理有些小小的漏洞,我们再来看它给老用户提供的免费空间的漏洞。 三、免费空间漏洞介绍。 我们成功申请了一个免费空间,传一个Lcx的老牌木马海洋2006上去,很好,没有被杀,进去四处观察下,可以发现这个公司用的是蓝芒的主机系统,蓝芒主机系统是一个搭建在IIS,Serv-U,WebEasyMail环境的虚拟主机管理系统(图五),
我没有在本机测试过这个东西,所以直接在服务器端研究推断下。 通过查看系统用户,我们可以发现,系统存在许多用户(图六),
并且用户的描述都是蓝芒主机用户,用户组属guest,这样我们可以推断出,每个站点的Internet来宾用户是单独设置的,这样在一定程度上防止了web木马的越权操作,但是服务器的管理员忽略了一个重要的问题就是NTFS权限的继承,因为这些用户都继承着everyone的权限,而系统默认everyone有许多权限,导致未期料的越权操作易如反掌。 西部网安 别的废话不多说了,我们直接进入Fso操作的功能模块。打开c:\\ (图七),
所有的文件尽在眼前,先老路子看看pca的文件,进入c:\\documents and settings\\all users\\发现没有symantec的影子,可惜了,没有pca,我们再来看看别的,program files文件夹中可以看到bluelights,这个是蓝芒的文件夹,除了下载其数据库,似乎没别的什么用途,下载数据库下来看,也没有用户密码,没什么用处,(图八)
当然,如果你无聊的话可以删除文件,当然,警察叔叔也不会饶过你了。 再来看D:\\盘(图九),
由于服务器一共就分了2个区,所以D:盘存放了网站系统的一个文件夹,还有所有用户的文件,我们试着在网站的文件夹中创建一个文件,然后去访问,成功了,当然,我们还可以修改网站的文件或者其他用户的文件,由于玄猫很不喜欢改站,所以这里就不再提那么详细了。 你复制的文字来自西部网安 D盘还有一个Serv-U的文件夹,我们仍然可以畅通无阻进去,有两种方案进行下面的渗透,一是修改ServUDaemon.ini这个文件,增加用户,或者是读取高权限用户的密码散列来本地破解。由于这个Serv-U是6.0.0的,我们可以用本地溢出工具,由于篇幅的原因,玄猫在这里也不详细的说了,大家可以自己去网上找找看相关的工具。 四、对飞骋的建议。 其实一故潜冉舷不斗沙艺飧稣镜模谛ň龆ㄐ凑馄恼碌氖焙颍盗朔沙业墓芾碓卑撞撕臀饷鳎嵌己芑难芯坎⑿薏孤┒矗饫锘挂翘岢鲆恍┙ㄒ椋币舶镏魑欢琳咛岣呔瑁戏廊肭諮。 首先说网站程序,一定要把访问者输入的东西考虑全面,并且在逻辑处理上多作工夫,譬如那个找回密码的功能,很大的一个漏洞啊,而且这个功能的实现其实许多网站都用给用户发送Email来提交一个新的密码,这样就能多做一次验证,使用户的信息也就更加安全。 再说跨站的那些漏洞,都是用一个替换函数就可以避免的,只不过因为可以输入的地方太多了(系统还有天气、心情等选项,其实都可以跨站的),容易忽略。这个是一个要求很仔细的活计啊… 然后是跨用户,仅凭隐藏域来判断用户是根本不保险的,应该用session或者cookies中同时保存用户名和密码散列,在网站端再加验证也勉强可以,但是这样跨站盗取了用户的cookies后也是可以伪造的,所以最好的方法是session。 西部网安 我们再来说免费空间服务器的权限问题。 Everyone的权限继承的确很容易忽略,我们应该怎样作呢,首先应该去除权限继承,然后删除everyone的所有权限,最后再分别对各用户的文件夹给个用户所属的Internet来宾账号分配权限。 尤其要注意All users和serv-u的目录,这些都是高危文件,泄漏就会引起很大的问题。 [注:本文仅作研究漏洞的技术文章,请勿使用本文中的方法攻击任何网站,否则后果自负,为了保护网站,文中网址已作处理,在本文完稿时飞骋的管理员已修补了漏洞,所以大家就不要再盯着它不放了。
|
评论列表
用户名: (新注册) 密码: 匿名评论