来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 目标站www.2cto.com,独立服务器,服务器上共两个站,一个主站,一个blog,一个bbs。Blog采用的是0blog,尝试已知漏洞不成功,估计已经补了。所以从主站下手。主站多是静态的页面,可以...
目标站www.2cto.com,独立服务器,服务器上共两个站,一个主站,一个blog,一个bbs。Blog采用的是0blog,尝试已知漏洞不成功,估计已经补了。所以从主站下手。
主站多是静态的页面,可以注册用户。扫描一下目录,没什么可疑的。于是先注册一个用户,进用户后台一看,有上传的地方。如图: 随便选了个图片上传后,发现是随机命名的,而且也没有传递filepath之类的参数,果断放弃。现在一些CMS的上传漏洞已经很少了。Google一下上传页面的文件名和参数,发现用的是创力CMS。如图: 再搜索一下版本,发现是3.1。这下好办,下个回来读代码,看下能挖出什么0day不。 先读一下上传的代码,发现了一个暴出管理目录的漏洞: User/upload.asp里,126行: 只要你有上传权限,直接在上传的页面右键查看源文件,找到admin_files.asp之前那个就是管理目录。目标站同样也存在这个问题,虽然删除了admin_files.asp,但是我们还是有别的方法可以进入的。 创力CMS的代码是整合Dvbbs的一些类,然后修改而成的,代码写得很严谨,所有数字型变量都用clng或者cint进行转化,但是代码一旦庞大了,难免有毗漏。经过一番努力,找到了一些。 Inc/Cl_Function_Guest.asp里, 很明显,只检查了delid里是否有“,”号,就带进了查询。 注册一个用户,访问GuestBook/Index.asp?action=write,签写一条留言,然后回到GuestBook/Index.asp?action=user,上面有个删除,把URL复制出来,例如GuestBook/Index.asp?action=del&guestid=1,在后面加个“,”和“’”,如图,出错了。 典型的in注入。 可惜的是,目标站guestbook目录里的权限是完全禁止了的,无法执行asp。只能找另外的路。 User\reg.asp里, Username这个变量经过两层过滤,可惜,还是忘了最重要的一点,没有过滤单引号。 新注册用户时如此填写: 点击注册后出错了: 可惜,目标站应该是经过高人配置,过滤了单引号。没关系,我们还有办法。 User\User_ChkInfo.asp里: Title未经过任何过滤就带入查询。漏洞产生。但是要注意一点,这个User_ChkInfo.asp文件只要一打开就会关闭的,这时候,只要把浏览的javascript设置为禁止就可以。 提交User/User_ChkInfo.asp?ChannelID=1&TitleName=’,如图,出错了。 悲剧的是,目标站又补了这个漏洞。只能继续。 User\User_InfoDel.asp里: InfoID未经任何过滤进入查询。遗憾的是,这个页面需要有一定权限的成员才可以进入,一般新注册的是无权限访问的,所以直接不测试了。 读了那么多代码,好象都没有用,难道目标站真的如此无懈可击吗?非也。接下来这个才是真正致命的地方。 User\User_UserCz.asp里: 完全无任何过滤,重要的是,目标站也存在此文件。因为此文件检查了reference,如果发现是直接输入就显示错误信息。其实这个很容易,不需要伪造什么referer,直接在地址栏输入如下代码: Javascript:document.write(“<a href=’http://www.xxx.com/User/User_UserCz.asp’>aaa</a>”) 然后点击页面上的连接就行了。 进到User_Usercz.asp后,点击“充值卡充值”,卡号填一个单引号,密码填个无单引号的,输入验证码,提交,果然出错了。 经过一番辛苦的提交,目标是MSSQL,DB_owner权限,因为屏蔽了出错信息,手工盲注实在太累,又得一次一次输入验证码,就没继续下去了。 如果有耐心的话,此站是完全可以拿下来的,因为有后台,又是MSSQL,直接Update掉管理员的密码就几乎宣布搞定了。后台拿SHELL的方法太多,因为有恢复数据库,自定义页面,还有直接执行sql语句(这对access,IIS6.0来说可是秒杀啊。)所以不再重复。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com