Natas32 Writeup(Perl 远程代码执行)

 
更多

Natas32:

打开后和natas31相似的界面,并且提示,这次您需要证明可以远程代码执行,Webroot中有一个二进制文件可以执行。

my $cgi = CGI->new;
if ($cgi->upload('file')) {
    my $file = $cgi->param('file');
    print '<table class="sortable table table-hover table-striped">';
    $i=0;
    while (<$file>) {
        my @elements=split /,/, $_;

        if($i==0){ # header
            print "<tr>";
            foreach(@elements){
                print "<th>".$cgi->escapeHTML($_)."</th>";   
            }
            print "</tr>";
        }
        else{ # table content
            print "<tr>";
            foreach(@elements){
                print "<td>".$cgi->escapeHTML($_)."</td>";   
            }
            print "</tr>";
        }
        $i+=1;
    }
    print '</table>';
}
else{
print <<END;

natas32-sourcecode.html

于是延续上一题的思路,第一个file添加ARGV,URL加入命令ls -l . |查看Webroot目录下的文件,得到的结果中可以看到有一个getpassword.c程序文件。

查看getpassword.c文件的内容是,读取/etc/natas_webpass/natas33。

尝试在URL后面直接输入getpassword文件执行,成功得到flag。

flag:shoogeiGa2yee3de6Aex8uaXeech5eey

 

参考:https://blog.csdn.net/baidu_35297930/article/details/99974886

打赏

本文固定链接: https://www.cxy163.net/archives/5012 | 绝缘体

该日志由 绝缘体.. 于 2020年03月06日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Natas32 Writeup(Perl 远程代码执行) | 绝缘体
关键字: , , , ,

Natas32 Writeup(Perl 远程代码执行):等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter