目录
前言:
。。。
考点:
Perl 后端文件上传
ARGV文件 bypass
进入环境。
三个链接后缀都是用perl
输入框 无论输入什么 都是返回我们输入的结果。暂且放着不管。
文件上传的页面提示是 Perl 文件上传。随便上传一个文件,其输出结果都是文件的内容。
多次查阅,都是猜出后端代码。bt 。。。
use strict;
use warnings;
use CGI;
my $cgi= CGI->new;
if ( $cgi->upload( 'file' ) )
{
my $file= $cgi->param( 'file' );
while ( <$file> ) { print "$_"; } }
知识点:
param()函数会返回一个列表的文件但是只有第一个文件会被放入到下面的file变量中。而对于下面的读文件逻辑来说,如果我们传入一个ARGV的文件,那么Perl会将传入的参数作为文件名读出来。这样,我们的利用方法就出现了:在正常的上传文件前面加上一个文件上传项ARGV,然后在URL中传入文件路径参数,这样就可以读取任意文件了。
总结:
。。。。。。不知道以后能不能想到