cgi:irc host spoofing module?
Posted: Thu Apr 29, 2004 6:52 am
Hello!
I would like to see if it's possible to add some cgi:irc support in unreal, or via a module or something.
Let me first explain the issue: cgi:irc is a web chat which runs on cgi/perl, so the socket is made by the web server it's running on, resulting that the host isn't the real host the user has, and that all users of cgi:irc have the same host (in my case, localhost).
Now to my "unclean" solution, with which I'm running the thing till now: there's an eggdrop with op powers that watches all connections from localhost, and thanks to a tcl script it then changes the hostname (/chghost) of the user using the username (which is the hex-encoded IP), then changes username and realname based on the nick. It's also able to decode those encoded ip's on request.
But there are still limitations which result in problems: glines, for example, won't work. If I do a gline i'm killing localhost (i put an exception now).
Reading at the cgi:irc page I saw that there is a patch for bahamut ircd which, if I'm not mistaken, makes the stuff work like this:
The cgi client connects to the ircd supplying the real host as password. The ircd understands that it's the cgi client connecting based on the host (localhost) and spoofs the host using the one he got as password.
This is used on the blitzed network for example.
I think having a feature like this in Unreal would be a nice thing for many people, as cgi:irc is a nice alternative to offer to users which don't have or don't like java.
Unfortunatelly I'm no coder, so my question is if there is any volunteer to write a module for such a thing, if it's doable etc. and of course what do you think about all this.
Ok I think that's it
Keep up the good work!
Hal9000
I would like to see if it's possible to add some cgi:irc support in unreal, or via a module or something.
Let me first explain the issue: cgi:irc is a web chat which runs on cgi/perl, so the socket is made by the web server it's running on, resulting that the host isn't the real host the user has, and that all users of cgi:irc have the same host (in my case, localhost).
Now to my "unclean" solution, with which I'm running the thing till now: there's an eggdrop with op powers that watches all connections from localhost, and thanks to a tcl script it then changes the hostname (/chghost) of the user using the username (which is the hex-encoded IP), then changes username and realname based on the nick. It's also able to decode those encoded ip's on request.
But there are still limitations which result in problems: glines, for example, won't work. If I do a gline i'm killing localhost (i put an exception now).
Reading at the cgi:irc page I saw that there is a patch for bahamut ircd which, if I'm not mistaken, makes the stuff work like this:
The cgi client connects to the ircd supplying the real host as password. The ircd understands that it's the cgi client connecting based on the host (localhost) and spoofs the host using the one he got as password.
This is used on the blitzed network for example.
I think having a feature like this in Unreal would be a nice thing for many people, as cgi:irc is a nice alternative to offer to users which don't have or don't like java.
Unfortunatelly I'm no coder, so my question is if there is any volunteer to write a module for such a thing, if it's doable etc. and of course what do you think about all this.
Ok I think that's it
Keep up the good work!
Hal9000