LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1866|回复: 7

一段据说有安全漏洞的perl脚本!

[复制链接]
发表于 2003-5-25 11:07:12 | 显示全部楼层 |阅读模式
有人说它有安全漏洞,兄弟们给看看,是怎么回事? 谢谢。:p

#!/usr/bin/perl

print "Content-type: text/html\n\n";

###Find where we are
     open(PWD,'pwd|');
     $pwd = join('',<WD>);
     $pwd =~ s/\n//gi;
     close PWD;

### Find the system date
    open(DT, 'date "+DATE: %Y-%m-%d%n<br>TIME: %H:%M:%S"|');
    $dt = join('', <DT>);
    $dt =~ s/\n//gi;
    close DT;

print "<body bgcolor='green' text='black'>\n";
print "<b>This is the pwd........ $pwd</b>\n<br>";
$eln = crypt($pwd,time());
print "This is the encryption length: ". length($eln) ."\n <br>";
print "$eln \n<br>";
print "\n <br>data del sistema = \n<br> $dt \n<br>";
print "$ENV{'HTTP_USER_AGENT'} \n";
print "<p>$ENV{'REMOTE_ADDR'} \n</p>";
print "<p>$ENV{'HTTP_USER_AGENT'} $ENV{'REMOTE_ADDR'}</p>";
发表于 2003-5-25 11:21:48 | 显示全部楼层
呵~~,我才学perl,刚刚看到数组和哈希表;)
 楼主| 发表于 2003-5-25 11:34:35 | 显示全部楼层
建议搞一个perl专区!j兄。
发表于 2003-5-25 11:36:54 | 显示全部楼层
9494!
发表于 2004-1-12 19:05:16 | 显示全部楼层
以上是 CGI 程序,使用了 linux 的系统命令,这样作是不安全的。
发表于 2004-2-10 21:15:10 | 显示全部楼层
最初由 tsingson 发表
以上是 CGI 程序,使用了 linux 的系统命令,这样作是不安全的。

但使用系统命令的方法很常见,我以前写php也这样写过。。/
发表于 2004-2-13 03:04:03 | 显示全部楼层

也不能算有漏洞。

open(DT, 'date "+DATE: %Y-%m-%d%n<br>TIME: %HMS"|');
$dt = join('', <DT> );
$dt =~ s/\n//gi;
close DT;

print "<body bgcolor='green' text='black'>\n";
print "<b>This is the pwd........ $pwd</b>\n<br>";
$eln = crypt($pwd,time());
#########################
##crypt的$salt为time();##
#########################
print "This is the encryption length: ". length($eln) ."\n <br>";
print "$eln \n<br>";
print "\n <br>data del sistema = \n<br> $dt \n<br>";
#####################
##$dt为前时间数组。###
#####################
没有计算机可以计算的这么快吧。如果有的话。那就相当于你把密码告诉了别人。所以漏洞只是理论上的。实际上还是可行的。
##### ps:可以根据你提供的$dt作为 crypt的salt来计算出密码。
实际应用英以time做种子。然后得rand()作为salt.好象比较安全一点。
发表于 2004-2-18 20:26:24 | 显示全部楼层
最初由 hantsy 发表
但使用系统命令的方法很常见,我以前写php也这样写过。。/


也要过滤的好呀
不然..............
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表