嘿嘿!
全部博文(140)
分类: LINUX
2005-09-22 01:05:39
今天一个朋友让我帮忙进入到一个服务器的web登陆,并且能够拿到某个用户名跟密码。并且许诺给予多少金额奖金云云。听到此,我乐了。终于爱好可以转变为赚钱的途径了。嘻嘻!
通过web分析,发现了该服务器存在Sql注入漏洞。该系统为windows2000+asp.net+mssql2000,使用sql注入工具发现该数据库的管理员为一个db_owner,通过sql注入方式希望得到system权限,具体使用方式网上的说明很多,这里我就不一一讲解了。但是系统提示为该用户无法使用xp_cmdshell权限。
从海量的数据库中猜测user_info这个表存放着登陆者用户ID跟密码的。通过工具发现密码居然都是加密过了的。我那个晕啊!怎么办呢?且看我如果进行一次突破的。
从加密密码表的分析,我发现很多人加密后的密码都是一样的。这给了我一个很好的提示。为什么是一样的,难道是都是简单的密码吗?或许是.............
继续分析,我到了注册ID的页面,发现密码要求至少为8位,难道....................?密码是12345678?一般懒人都会这么设置的,要不然也不会这么多加密后的密码一样的。
通过user_info表分析一些备注信息,我找到了管理员的id(不是admin),试试看,果然,连管理员的密码都是12345678,这下我彻底昏了。成功的登陆了进去。继续察看突破口
管理员提供了网站可以上传附件的方式,让我笑出声的是,居然没有后缀名的过滤,asp木马可以上传。这下我就四毫不费力气的得到了系统权限
剩下的我就不用说了,得到了系统管理员的权限更简单了。由此可以看出,设计者这方面疏忽了
第一:应该对sql注入引起重视,通过asp脚本来实现过滤sql注入的可能性
第二:管理员不该用简单的密码来登陆
第三:对于相同的原始密码,通过加密后应该得到的是不同的加密密码,这样不会因此通过猜测的方式来破解。
以上是我的通过一个有趣的猜测方法获得了管理员权限。有时候真该换个思路去想解决办法,当然了,我这次也是幸运的呵呵!