[WEB SECURITY] Java Serialized Objects security testing

Arian J. Evans arian.evans at anachronic.com
Mon Jan 12 11:27:19 EST 2009


Without looking at your data stream, from what I have seen:

1) Make sure you are using testing tools & a proxy that
actually *sees* binary data. A few years ago many proxies
& commercial desktop scanning widgets/proxies would
not show serialized/binary data streams (making it appear
"invisible" to the user).

2) Make sure you are using testing tools that can dump
the data stream to a file output for analysis, if not analyze
and edit it on the fly.

3) Write your own client to de-serialize and re-serialize
the data/objects passed, and point your local proxy
to/from your own object. e.g. -- Serialized MITM

4) Many serialized data streams pass session and/or
authorization tokens around in the stream. These may
be able to be tampered with.

5) Many serialized data streams pass around standard
strings. A simple -strings command can be used to
dump those to a file/table for review. You can modify
those on the fly as well with a binary/hex-editing proxy.

6) Most serialized clients have some sort of checksum
so violating integrity will not work unless you re-serialize
the whole object. Overwriting the checksum alone will
not work if the server creates its own and compares.\

7) Some situations like this pass auth and/or crypto
keys around for local encrypted file store/db storage
and access. These can be very juicy to snag. I have
also found server-side keys passed client side for
no good reason (lazy re-use of object I suppose)
but open to exposure.

I have occasionally found server-side auth or
access controls buried client side in rich media
behaving this way. Most commonly on Flash/Flex
apps talking AMF to a server-side API that bases
data validation and access control on the presence
of a magic token which one can extract.

And, sometimes, you find nothing. But, as with
many things in life -- if you test enough of these
you will find it's always worth a good poke,

-- 
-- 
Arian Evans

Anti-Gun/UN people: you should weep for
Mumbai. Your actions leave defenseless dead.

"Among the many misdeeds of the British
rule in India, history will look upon the Act
depriving a whole nation of arms, as the
blackest." -- Mahatma Gandhi



On Thu, Jan 8, 2009 at 1:07 PM, KT <ktriv3di at msn.com> wrote:
> Hello List
>
> I am performing security test on an application based on Oracle Forms. The
> application uses JAVA to serialize all the data into binary objects before
> they send them on the network. From the network, I cannot see any data and
> the one I see is all on binary so I cannot test for integrity
>
> Anyone been in similar situation before? Any help is appreciated
>
> Thanks
>

----------------------------------------------------------------------------
Join us on IRC: irc.freenode.net #webappsec

Have a question? Search The Web Security Mailing List Archives: 
http://www.webappsec.org/lists/websecurity/archive/

Subscribe via RSS: 
http://www.webappsec.org/rss/websecurity.rss [RSS Feed]

Join WASC on LinkedIn
http://www.linkedin.com/e/gis/83336/4B20E4374DBA



More information about the websecurity mailing list