zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    2019 Multi-University Training Contest 1
    2019江西省省赛
    2019牛客暑期多校训练营 第二场
    母函数
    树形DP
    蓝桥杯-标题:打印图形
    蓝桥杯-标题:史丰收速算
    蓝桥杯-标题:切面条
    蓝桥杯-标题:李白打酒
    蓝桥杯-标题:啤酒和饮料
  • 原文地址:https://www.cnblogs.com/zhengna/p/12381759.html
Copyright © 2011-2022 走看看