RE: [LBYTE] Ruslan Communications <BODY>Builder SQL modification

From: Nick Lothian (nl@essential.com.au)
Date: 06/14/02


From: Nick Lothian <nl@essential.com.au>
To: 'Alexander Korchagin' <akor@tsaritsyno.ru>, bugtraq@securityfocus.com
Date: Fri, 14 Jun 2002 09:53:52 +0930

I am unfamiliar with <Body>Builder (and their site is in Russian so I can't
find a link), but in normal java web development pages named *_jsp.java are
generated java code from .jsp files.

The name of the *_jsp.java files is non-standard and varies between servlet
engine implementations. The behaviour of the servlet engine when these files
are modified is also non-standard (Some will recompile the file to pickup
the changes, but others - eg Tomcat 3.2 - will not).

The recommended fix should be implemented in the .jsp files (if available -
they are sometimes shipped inside a .war file), not the .java files. Of
course, if the *.jsp files are unavailable then this may the best possible
work-around.

Regards,
  Nick Lothian

> -----Original Message-----
> From: Alexander Korchagin [mailto:akor@tsaritsyno.ru]
> Sent: Friday, 14 June 2002 1:17 AM
> To: bugtraq@securityfocus.com
> Subject: [LBYTE] Ruslan Communications <BODY>Builder SQL modification
>
>
>
> Original reference:
> http://www.security.nnov.ru/search/news.asp?binid=2092
>
> Title: <BODY>Builder SQL modification
> Author: mam0nt of Limpid Byte http://lbyte.void.ru/
> Vendor: Ruslan Communications
> Vendor URL: http://ruslan-com.ru/
> Vendor Status: Contacted, not replied
> Released: June, 13 2002
>
> Background:
>
> <Body>Builder is a site building engine by Ruslan
> Communications
> written in Java. It has administrative access via
> http://site/Admin.
> All accounts are stored in database and accessed via SQL.
>
> Problem:
>
> Leak of input validation from server side allows user to
> modify SQL
> request during authentication. It may be used to access
> administrative
> interface without password or to run any SQL request on backend.
>
> Exploitation:
>
> Use login='-- and pass='--
>
> Solution:
>
> Edit _login__jsp.java:
>
> -- cut --
> java.lang.String _jspParam;
> _jspParam = request.getParameter("username");
> if (_jspParam != null && ! _jspParam.equals("") &&
> _checkvalue(_jspParam) )
> Log.setUsername(_jspParam);
> _jspParam = request.getParameter("password");
> if (_jspParam != null && ! _jspParam.equals("") &&
> _checkvalue(_jspParam) )
> Log.setPassword(_jspParam);
> --cut--
>
> Add new function called _checkvalue
>
> public static boolean _checkvalue(java.lang.String _value)
> {
> int count;
> char temp;
> for (count=0;count<_value.length();count++)
> {
> temp=_value.charAt(count);
> if (temp=='\'' ) return false;
> }
> return true;
> }
>
> Vendor:
>
> Vendor notified via e-mail without feedback.
>



Relevant Pages

  • RE: Performance tools and JAVA
    ... or rather custom written code from a vendor for an in-house ... project, needing one level, and this beautiful performance tool needing ... Subject: Re: Performance tools and JAVA ... It's an issue, Java applet "clashes." ...
    (bit.listserv.ibm-main)
  • Re: waitFor() Help
    ... I'm a project manager and a developer in my team is writing some java ... vendors exe as it just return the value 259 constantly for exitValue - ... blaming the vendor. ...
    (comp.lang.java.programmer)
  • Re: Small Java problem
    ... I worked hard on the same issue for almost a month under 2003se without success... ... the vendor in my case indicated that it's easy to port pc java based apps for wm5+ but the programs are not backward compatible... ...
    (microsoft.public.pocketpc)
  • Re: SOAP newbie question
    ... > This is unchartered territory for me and I need the advice of the Java ... > firewall to a URL at a vendor site. ... I've been told to use SOAP to ... > transmitted data outside our firewall. ...
    (comp.lang.java.programmer)
  • Re: use of DBI; I am getting multiple error messages mixed in with the correct output.
    ... Perl was to relate it to uninitialized values in Java or C++. ... The fact that nulls in SQL have special ... Both Java and C++ have containers that support set theoretic ...
    (comp.lang.perl.misc)

Quantcast