Posted by SiD on Sun 14 Jun 18:13
report abuse | download | new post
- #!/usr/bin/perl
- package PerlFusion;
- use strict;
- use LWP::UserAgent;
- my %pages = (
- 'Login' => "/news.php",
- 'Logout' => "/setuser.php?logout=yes",
- 'F_ID' => "/forum/index.php",
- 'Tmp_fid' => 0,
- 'Topic_pt' => "/forum/post.php?action=reply&forum_id=",
- 'Thread_n' => "/forum/post.php?action=newthread&forum_id="
- );
- my @msgs = ("Hi people.", "Just a bot.", "Tell me baby!", "'njoy", "wtf?");
- my $cookie = "";
- my $url = "";
- sub user_login() {
- my($e,$uri,$uid,$pass) = @_;
- if($e eq "PerlFusion") { $e = $uri; }
- $uri = &parse_host($uri);
- if($uri =~ /(http|www.)/) {
- $url = $uri;
- &request($uid,$pass,'Login');
- }
- }
- sub new_post() {
- my($e,$forum,$thread,$message) = @_;
- if($e eq "PerlFusion") { $e = $forum; }
- $forum = &forumid($forum,$thread);
- my $lwpt = LWP::UserAgent->new();
- $lwpt->default_header(
- "Cookie" => $cookie
- );
- my $heads = [
- message => $message,
- postreply => "postreply"
- ];
- my $reqt = $lwpt->post($url.$pages{'Topic_pt'}.@forum[0]."&thread_id=".@forum[1],$heads);
- print "[+] Done.\n";
- }
- sub new_topic() {
- my($e,$forum,$name,$message) = @_;
- if($e eq "PerlFusion") { $e = $forum; }
- $forum = &forumid($forum,"",1);
- my $lwpn = LWP::UserAgent->new();
- $lwpn->default_header(
- "Cookie" => $cookie
- );
- my $heads = [
- subject => $name,
- message => $message,
- postnewthread => "postnewthread"
- ];
- my $reqn = $lwpn->post($url.$pages{'Thread_n'}.$forum,$heads);
- print "[+] Done.\n";
- }
- sub user_logout() {
- &request('Logout');
- $cookie = "fusion_visited=yes";
- }
- sub forumid() {
- my $toget = &request('F_ID');
- if(
- $toget =~ /<a href='viewforum.php\?forum_id=(.*?)'>$fname<\/a>/ ||
- $toget =~ /<a href='viewforum.php\?forum_id=(.*?)'><strong>$fname<\/strong><\/a>/
- ) {
- $pages{'Tmp_fid'} = "/forum/viewforum.php\?forum_id=".$1; my $thid = $1;
- my $ntoget = &request('Tmp_fid');
- if(
- $ntoget =~ /<a href='viewthread.php\?thread_id=(.*?)'>$tname<\/a>/ ||
- $ntoget =~ /<a href='viewthread.php\?forum_id=$thid&thread_id=(.*?)'>$tname<\/a>/ ||
- $ntoget =~ /<a href='viewthread.php\?forum_id=$thid\&thread_id=(.*?)'>$tname<\/a>/
- else {
- }
- }
- else {
- }
- }
- sub request() {
- my($uid,$pass,$what) = @_;
- if($uid && $pass) {
- my $md5p = md5_hex($pass);
- $cookie = "fusion_visited=yes; fusion_user=".$uid.".".$md5p;
- }
- else {
- $what = $uid;
- }
- my $lwp = LWP::UserAgent->new();
- $lwp->default_header(
- "Cookie" => $cookie
- );
- my $req = $lwp->post($url.$pages{$what});
- if($req->content !~ /(>edit profile|>modifica profilo|>logout|>logging out)/i) {
- }
- }
- sub parse_host() {
- }
- $uri = "";
- foreach my $swift(@tmp) {
- $uri .= $swift;
- }
- return $uri;
- }
- 1;
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.