Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!usr/bin/perl
- #Project Kakilles 0.3
- #(C) Doddy Hackman 2014
- use HTTP::Proxy;
- use HTTP::Proxy::BodyFilter::simple;
- use HTTP::Proxy::BodyFilter::complete;
- my $port;
- head();
- if ( $ARGV[1] ne "" ) {
- $port = $ARGV[1];
- }
- else {
- $port = 8080;
- }
- if ( $ARGV[0] eq "" ) {
- sintax();
- copyright();
- }
- $SIG{INT} = \©right;
- my $logs = "logs.txt";
- my $leer_datos = "center.txt";
- print "\n[+] Kakilles Online : $port ...\n";
- my $server = HTTP::Proxy->new( port => $port );
- $server->host();
- $server->push_filter(
- mime => undef,
- response => HTTP::Proxy::BodyFilter::complete->new()
- );
- $server->push_filter(
- mime => undef,
- request => HTTP::Proxy::BodyFilter::simple->new( \&enable ),
- response => HTTP::Proxy::BodyFilter::simple->new( \&enable2 )
- );
- $server->start();
- sub enable {
- my @logs;
- my ( $self, $dataref, $message, $protocol, $buffer ) = @_;
- if ( $ARGV[0] =~ /p/ ) {
- if ( $message->content ne "" and $message->method eq "POST" ) {
- print
- "\n########################################################################\n";
- print "[+] Method : " . $message->method;
- print "\n[+] Content : " . $message->content;
- savefile( $leer_datos, $message->content );
- print
- "\n########################################################################\n";
- print "\n[+] Change ? [y/n] : ";
- chomp( my $rta = <stdin> );
- if ( $rta =~ /y/ ) {
- system_leida($leer_datos);
- my $source = abrir();
- $message->header( "content-length" => length($source) );
- $message->content($source);
- print "\n[+] Changed !\n";
- }
- }
- }
- if ( $ARGV[0] =~ /g/ ) {
- if ( $message->uri =~ /(.*)\?(.*)/ ) {
- print
- "\n########################################################################\n";
- print "[+] GET : " . $message->uri;
- savefile( $leer_datos, $message->uri );
- print
- "\n########################################################################\n";
- print "\n[+] Change ? [y/n] : ";
- chomp( my $rta = <stdin> );
- if ( $rta =~ /y/ ) {
- system_leida($leer_datos);
- my $source = abrir();
- $message->uri($source);
- print "\n[+] Changed !\n";
- }
- }
- }
- if ( $ARGV[0] =~ /a/ ) {
- print
- "\n########################################################################\n";
- print "[+] User-Agent : " . $message->header("user-agent");
- savefile( $leer_datos, $message->header("user-agent") );
- print
- "\n########################################################################\n";
- print "\n[+] Change ? [y/n] : ";
- chomp( my $rta = <stdin> );
- if ( $rta =~ /y/ ) {
- system_leida($leer_datos);
- my $source = abrir();
- $message->header( "user-agent" => $source );
- print "\n[+] Changed !\n";
- }
- }
- if ( $ARGV[0] =~ /o/ ) {
- print
- "\n########################################################################\n";
- print "[+] Cookie : " . $message->header("cookie");
- savefile( $leer_datos, $message->header("cookie") );
- print
- "\n########################################################################\n";
- print "\n[+] Change ? [y/n] : ";
- chomp( my $rta = <stdin> );
- if ( $rta =~ /y/ ) {
- system_leida($leer_datos);
- my $source = abrir();
- $message->header( "cookie" => $source );
- print "\n[+] Changed !\n";
- }
- }
- }
- sub enable2 {
- my ( $j, $k, $l, $m, $n ) = @_;
- if ( $ARGV[0] =~ /c/ ) {
- if ( $$k ne "" ) {
- print
- "\n##########################################################\n";
- print "[+] Content : " . $$k;
- savefile( $leer_datos, $$k );
- print
- "\n##########################################################\n";
- print "\n[+] Change ? [y/n] : ";
- chomp( my $rta = <stdin> );
- if ( $rta =~ /y/ ) {
- system_leida($leer_datos);
- my $source = abrir();
- $$k = $source;
- print "\n[+] Changed !\n";
- }
- }
- }
- }
- # Functions
- sub system_leida {
- my $os = $^O;
- if ( $os =~ /Win/ig ) {
- system( "start " . $_[0] );
- }
- else {
- system( "sudo gedit " . $_[0] );
- }
- }
- sub abrir {
- open my $FILE, q[<], $leer_datos;
- my $word = join q[], <$FILE>;
- close $FILE;
- chomp $word;
- return $word;
- }
- sub savefile {
- unlink($leer_datos);
- open( SAVE, ">>" . $_[0] );
- print SAVE $_[1] . "\n";
- close SAVE;
- }
- sub head {
- print "\n-- == Project Kakilles 0.3 == --\n";
- }
- sub copyright {
- print "\n-- == (C) Doddy Hackman 2014 == --\n\n";
- exit(1);
- }
- sub sintax {
- print "\n[+] Sintax : $0 <options> <port>\n";
- print "\n[?] Options ...\n\n";
- print "-g : Form with GET\n";
- print "-p : Form with POST\n";
- print "-a : Edit User-Agent\n";
- print "-c : Edit Content\n";
- print "-o : Edit Cookie\n";
- print "\n[+] Example : $0 -pc 666\n";
- }
- # The End ?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement