davidliu00 2020-03-06
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