Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security Vuln-Dev
[Top] [All Lists]

Re: Arbitrary code execution in eping plugin

Subject: Re: Arbitrary code execution in eping plugin
Date: Tue, 14 Jun 2005 09:02:09 -0500
Hello Oliver,
Friday, June 10, 2005, 3:35:41 PM, you wrote:

the problem is in function eping_validaddr() in functions.php where the
host is checked if it is valid as the name says...
But the only check is to see if it is a valid ip adress for eping, here
is the code:

--------------8<-----------------------------------------8<-------------------------------------
function eping_validaddr($eping_hosttocheck)
{
[..]
}
--------------8<-----------------------------------------8<-------------------------------------

I am sorry but I am a coder and my eyes are bleeding when looking at
stuff like that so here is my suggestion for replaceing the if-statement:
if(preg_match("/^[0-9]{2,3}?\.[0-9]{1,3}?\.[0-9]{1,3}?\.[0-9]{1,3}?$/",
$eping_hosttocheck))

A better solution would be to limit the scope of the regex and use ^
and $ on the regex the original code has in place. I'd personally use:

If 
(preg_match("/^((25[0-5]|2[0-4][0-9]|1?\d{1,2})\.){3}((25[0-5]|2[0-4][0-9]|1?\d{1,2}))$/",
 $eping_hosttocheck))

Won't match IPv6 addresses, but neither will the original code, and it
matches IP addresses perfectly I believe.

-- 
Jonathan Angliss
<jon@netdork.net>

Attachment: pgpnP9tbMsQP9.pgp
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>