Security Lab

Слабое кодирование в ProtWare's HTML Guardian

Дата публикации:26.03.2003
Всего просмотров:1267
Опасность:
Низкая
Наличие исправления: Нет
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Удаленная
Воздействие: Обход ограничений безопасности
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: ProtWare HTML Guardian 6.x
Описание: Уязвимость обнаружена в ProtWare's HTML Guardian. Пользователь может элементарно декодировать "зашифрованный" исходный текст.

Как сообщается, программа использует слабый алгоритм запутывания вместо устойчивого алгоритма кодирования. Удаленный пользователь может отыскать зашифрованный исходный текст HTML и декодировать это. Код для декодирования:

#!/usr/bin/perl
#
# Written by rain_song
#
# input file should only contain the main "encrypted" string, which is the 2nd
# javascript variable in the HTML source code.
#

if( $#ARGV != 0 )
{
	print "\nWritten by rain_song";
	print "\nUsage: $0 input_file\n";
	print "\tinput_file should only contain 2nd JS variable of HTML page (it\n";
	print "\t  is the biggest variable)\n\n";
	exit( 0 );
}

open( INPUT, "<$ARGV[0]" ) or die;

$encrypted = <INPUT>;
close( INPUT );
$length = length($encrypted);

$string1 = substr( $encrypted, 0, $length/2 );
$string2 = substr( $encrypted, $length/2, $length-1 );

$i = 0;
while( $i < length($string1) )
{
	$decrypted .= substr( $string1, $i, 1 ) . substr( $string2, $i, 1 );
	$i++;
}

$decrypted =~ s/\\/\@\@/g;
$decrypted =~ s/\'/\`/g;
$decrypted =~ s/qg/\r\n/g;

print $decrypted;
Ссылки: ProtWare "HTML Guardian" has pathetic "encryption"