黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 黑客常识 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]攻防实战:注入漏洞的利用和防范
      ★★★★★

攻防实战:注入漏洞的利用和防范

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-8-22 9:55:03

  参加IT认证考试前,笔者习惯到网上去搜搜。乱逛之余,不小心就来到了PROMETRIC的中文站。笔者发现整个站点都是ASP程序,况且刚才还有个考场的登录界面,要是能发现什么漏洞就好了。

  探测漏洞

  随手找了个页面(http://www.target.com.cn/openpage.asp?page_id=0),在参数0后面加上个单引号。返回的页面显示:500服务器内部错误。在IE的“Internet选项→高级”中有一个“显示友好HTTP错误信息”的选项,取消前面的钩。现在,我们可以看到详细的错误信息:

  Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

  [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near ''./audit.asp,行18

  原来PROMETRIC用的是MSSQL,看来存在严重的注入漏洞(由于涉嫌攻击步骤,此处不详细叙述)。

  漏洞原理

  SQL注入的漏洞通常是由于程序员对它不了解,设计程序时某个参数过滤不严格所致。就拿刚才测试用的链接中的page_id这个参数来讲,肯定就没有进行过滤检查,源程序中的查询语句如下所示:

  Select * From Table Where page_id='0'

  当我们提交http://www.target.com.cn/openpage.asp?page_id=0 and 1=1时,查询语句就变成了:

  Select * From Table Where page_id='0' and 1=1

  当我们提交其他的查询语句时,程序也会进行执行判断,如:

  http://www.target.com.cn/openpage.asp?page_id=0 and user>0

  查询语句变成了:

  Select * From Table Where page_id='0' and user>0

  user是MSSQL的一个内置函数,指的是当前连接数据库的用户名,是一个nvarchar值。当它与整型量0进行大小比较时,MSSQL会试图将user的值转换成int类型,于是MSSQL就会报错:

  [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'web' to a column of data type int.

  错误信息的后面显示的是库名、表名、数据等。如果对方屏蔽了错误信息呢?这时,我们就要利用Unicode、Substr等函数通过条件判断来进行猜测了。

  如何利用

  大家可以利用小竹开发的NBSI2 MSSQL(以下简称“NBSI2”)工具。不过大家要注意,工具永远只是工具,只能用来提高效率和准确性,自己一定得了解原理。通过NBSI2,我们顺利地导出了PROMETRIC中文站数据库中的表名和数据,这里面包括各个考场的登录用户和密码。通过跨库查询,笔者还发现BALANCE表中的BALANCE字段存放了考场预付款的余额信息,只要进行跨库更新,这个金额完全可以改变。

  这时候,笔者突发奇想,既然可以得到考场程序,我们是不是可以私设一个考场……心动不如行动,马上开始安装考试系统。安装过程非常复杂,需要config.dts文件(网站上没有)。

  正当笔者不知怎么办的时候,突然发现了企业邮箱服务,PROMETRIC为每一个考场都开设了新浪企业邮箱。

  这些考场会不会为了方便没有改默认密码呢?果然很多考场没有更改默认密码,笔者很轻松地就进入了这些邮箱。经过一番搜索,终于在一个考场的邮箱中找到了PROMETRIC发过来的config.dts文件……

  到这里,本次安全测试算是告一段落了。试想一下,如果私自安装了考场程序,我们是不是可以随意修改考生信息?如果更改预付金,是不是还可以免费报名考试?而且利用考场ID和密码,我们在网站上可以更改任何一个考场的注册信息,然后通过社会工程手段,克隆出一个虚假的考场是完全有可能的。

  后记

  记得曾经看过一篇有关Oracle注入漏洞的文章。虽然两者在技术实现手段、危害上都不一样,但它们有一个共同点——从一个小小的地方撕开缺口,从而造成极大的危害。在笔者所探测的网站中,有些网站只注意过滤地址栏中提交的非法字符,却忽视了搜索功能中提交的字符,这样网站依然会存在注入漏洞。网络安全是一项非常重要的、整体性很强的工作,每一个地方都需注意,否则造成的损失难以估计

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886