目录
前言:
。。。
考点:
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中传入文件路径参数,这样就可以读取任意文件了。

总结:
。。。。。。不知道以后能不能想到
本文介绍了如何通过巧妙利用Perl CGI模块的param()函数和ARGV上传漏洞,实现对任意文件的读取。重点讲解了参数处理技巧和环境设置,展示了如何绕过常规文件上传限制获取文件内容。
436

被折叠的 条评论
为什么被折叠?



