⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taint.t

📁 source of perl for linux application,
💻 T
字号:
#!./perl -TwBEGIN {    chdir 't' if -d 't';    @INC = '../lib';    require Config; import Config;    if ($^O ne 'VMS' and $Config{'extensions'} !~ /\bPOSIX\b/) {	print "1..0\n";	exit 0;    }}use Test::More tests => 7;use Scalar::Util qw/tainted/;use POSIX qw(fcntl_h open read mkfifo);use strict ;$| = 1;my $buffer;my @buffer;my $testfd;# Sources of taint:#   The empty tainted value, for tainting stringsmy $TAINT = substr($^X, 0, 0);my $file = 'TEST';eval { mkfifo($TAINT. $file, 0) };like($@, qr/^Insecure dependency/,              'mkfifo with tainted data');eval { $testfd = open($TAINT. $file, O_WRONLY, 0) };like($@, qr/^Insecure dependency/,              'open with tainted data');eval { $testfd = open($file, O_RDONLY, 0) };is($@, "",                                  'open with untainted data');read($testfd, $buffer, 2) if $testfd > 2;is( $buffer, "#!",	                          '    read' );ok(tainted($buffer),                          '    scalar tainted');TODO: {    local $TODO = "POSIX::read won't taint an array element";    read($testfd, $buffer[1], 2) if $testfd > 2;    is( $buffer[1], "./",	                      '    read' );    ok(tainted($buffer[1]),                       '    array element tainted');}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -