SlideShare ist ein Scribd-Unternehmen logo
1 von 22
No locked doors, No windows barred
     Hacking OpenAM Infrastructure
  George Noseevich
  Andrew Petukhov


             ZeroNights 2012
WTF OpenAM?
ā€¢   Open source Access Management, Entitlements and
    Federation server platform
    āž”   successor of Sun OpenSSO Enterprise

ā€¢   Written in Java, very Enterprisey
    āž”   hard to conļ¬gure and maintain securely

ā€¢   Rather popular
    āž”   inurl:/amserver/UI/Login or inurl:/openam/UI/Login

ā€¢   Common use case: SSO across legacy apps
ā€¢   Usually extended via custom code
Motivation, Positioning & Layout
ā€¢ Not just another hack via XXE
ā€¢ Wanted to share our knowledge on how to develop
  an attack on OpenAM given an LFR and SSRF abilities
ā€¢ Attack vectors on different OpenAM instances
  āž”   will start from the simplest one
  āž”   and steadily proceed to the worst case scenario (a security hardened one)

ā€¢ Several interesting tricks
  āž”   data retrieval in blind XXE cases
  āž”   zip upload via HTTP PUT over gopher

ā€¢ What is the proper way to ļ¬x XXE in Java?
Problem Statement
ā€¢ OpenAM infrastructure
ā€¢ Tomcat as a web container
ā€¢ An ability to read local ļ¬les and do SSRF
  āž”   e.g. XXE with gopher protocol enabled

ā€¢ Goal: get an Admin in OpenAM Management Panel
ā€¢ A side note: will not focus on general SSRF
  elaboration methodology, which is still valid here
To begin with: Loot da FileSystem!
Looting the FileSystem
ā€¢ Gotta traverse directories
  āž”   Luckily possible to list them with XXE
  āž”   How would you tell a directory listing from a ļ¬le contents?

ā€¢ Gotta read ļ¬les
  āž”   Special chars and binary are a problem as usual

ā€¢ Would like to use GREP (General Resource
  Enumeration Protocol) and other posix tools
And along comes...

         XXE Fuse Demo

 A team of specially trained
monkeys are supporting this
         SaaS solution 24/7
        Request a free trial!


http://www.youtube.com/watch?v=7GtPgavI-sI
Looting the FileSystem
               XML-in-XML and OOB channels




ā€¢ The vulnerable servlet performs two rounds of xml parsing
ā€¢ In the ļ¬rst round we retrieve the data
ā€¢ In the second round we pass it to the attacker host
Looting the FileSystem
                  Possible Targets and Outcomes
1. Other apps on host
 āž”   especially management and monitoring

2. Conļ¬gs (& credentials)
 āž”   read container conļ¬g and extract HTTP credentials if needed
 āž”   ldap.conf may be especially juicy

3. Logs
 āž”   may contain private data (e.g. SQL query logs)
 āž”   may enable further attacks (see below)
Demo Time
 RCE via SSRF over XXE using Tomcat App Manager




http://www.youtube.com/watch?v=ZnsFhGYqI3g
RCE via SSRF over XXE
                      Wait, tell us the details!!!
ā€¢ How do you POST or PUT via XXE?
   āž”   use gopher; at least until admins wonā€™t update Java

ā€¢ How do you upload ZIP through gopher?
   āž”   java gopher contains byte [] => String => byte [] conversion
   āž”   this mangles characters >= 0x80
   āž”   use zip -0 (store compression method)
   āž”   with a bit of luck you can use 0x00 instead of mangled chars (i.e. ļ¬nd&replace)
   āž”   the resulting ļ¬le will have invalid checksums
   āž”   surprisingly (!) Tomcat WAR parser tolerates this
Looting the FileSystem
                Conļ¬gs & credentials
ā€¢ Container conļ¬gs
   āž”   e.g. /usr/share/tomcat6/conf/

ā€¢ OpenAM conļ¬gs
   āž”   /home/user/openam/{install.log, .conļ¬gParam}
   āž”   /home/user/openam/conļ¬g/xml/

ā€¢ Password ļ¬le
   āž”   recommended way of conļ¬guring OpenAM is via ssoadm CLI tool:
       ā€œIn most ssoadm subcommands, the password ļ¬le is required option.The password ļ¬le is a simple ļ¬le that
       contains the administrator password for the given task.ā€

       may encourage admins to store passwords in plaintext
Exploring OpenAM Features
ā€¢ OpenAM uses custom Auth tokens
 āž”   web container session tokens are useless
 āž”   good targets to highjack privileged sessions

ā€¢ OpenAM does Encryption
 āž”   uses Password-Based Encryption (PBEWithMD5AndDES) with low iteration
     count
 āž”   admin pwd is encrypted with default key and stored in bootstrap ļ¬le
 āž”   XXE wonā€™t let you read the bootstrap ļ¬le
 āž”   other pwds and session tokens are encrypted using randomly generated
     instance key which is stored in binary data store
 āž”   instance key is shared across interconnected OpenAM instances (e.g. failover)
Juicy OpenAM Features
ā€¢ Debugging
 āž”   {CONFIG_DIR}/{INSTANCE_NAME}/debug/
 āž”   If verbose debugging is enabled, we can read auth tokens and hijack sessions
 āž”   Quickly check via grep -r "AQIC"
 āž”   Admins do not log in too frequently
 āž”   Sessions expire
 āž”   Disabled by default =(

ā€¢ Monitoring
 āž”   HTTP/JMX/SNMP facility to monitor OpenAM instance
 āž”   OpenAM-speciļ¬c MBeans do not seem to provide anything useful
 āž”   Also disabled by default
Wait, but we need the features!
ā€¢ Debugging
 āž”   Every single action in admin interface is Š”SRF-protected
 āž”   Debug.jsp is a quick page to control debug settings
 āž”   Devs didn't worry too much about CSRF there => you can CSRF verbose
     logging
 āž”   SSRF at Tomcat Shutdown Port to force admin login (or social engineer him)

ā€¢ Monitoring
 āž”   Enable monitoring using the hijacked session; it will have the default (i.e. known)
     password
 āž”   SSRF at Tomcat Shutdown Port again to force reload
Putting it All Together
                  Dealing with the Worst Case
ā€¢ Enable debugging
 āž”   CSRF and then read admin session token from logs

ā€¢ Use admin session token to enable Monitoring
 āž”   SSRF at Tomcat Shutdown Port to force reload

ā€¢ Pwn
 āž”   Use HotSpotDiagnostic MBean to force a heap dump into DOC_ROOT
 āž”   Download and analyze the dump (strings util would do)
 āž”   Grep out the encryption key and encrypted admin password
 āž”   Decrypt the password and rule'em all
Demo Time
Debugging, Monitoring and Heap Dump Scenario




http://www.youtube.com/watch?v=Fb2zEqwvbpw
Wrap Up
 Fixing XXE
Fixing XXE in Java
ā€¢ Problem statement - devs want to:
 āž”   use a single class for all XML parsing (validating and not)
 āž”   use external DTD's from local jar ļ¬les
 āž”   avoid being pwned

ā€¢ Most XML hardening guides recommend:
 āž”   turn off general and parameter entities:
     setFeature("http://xml.org/sax/features/external-general-entities", false)
     setFeature("http://xml.org/sax/features/external-parsed-entities", false)
 āž”   enable XMLConstants.FEATURE_SECURE_PROCESSING to prevent entity
     expansion DoS

ā€¢ Not Enough!
Fixing XXE in Java
ā€¢ In Java, if validation is enabled, SSRF is still possible




ā€¢ Devs: okay, let's use our custom Entity resolver:
 āž”   documentBuilder.setEntityResolver(new XMLHandler())

ā€¢ Almost there!
 āž”   make sure that XMLHandler returns an empty InputStream on error
 āž”   if you return null, JAXP will fall back to default resolvers!
Wrap Up
                                Conclusions
ā€¢ Speciļ¬c advice
 āž”   Never store passwords in ļ¬les (who may have thought... )
 āž”   It's good to change monitoring password even if you do not use the feature
 āž”   Update Java and OpenAM (ļ¬x is available in nightly builds) - this would prevent
     XXE and disable gopher

ā€¢ General advice: in SSRF world it is no longer safe to
  trust
 āž”   IP-based authentication could be subverted instantly
 āž”   Defying patching? Pwned! (think about delayed exploitation)
 āž”   Defying least privilege in DMZ? Very arrogant!
Question Time!
ā€¢ George Noseevich
 āž”   Twitter: @webpentest
 āž”   Email: webpentest@gmail.com

ā€¢ Andrew Petukhov
 āž”   Twitter: @p3tand
 āž”   Email: andrew.petukhov@internalsecurity.ru

ā€¢ Show us the Source!
 āž”   Tools: http://internalsecurity.ru/media/resources/openam-xxe-tools.zip
 āž”   Video: http://www.youtube.com/playlist?
     list=PL1CBT43qUw294xCw79B01PbRQNKI6Qqdj
 āž”   WWW: http://internalsecurity.ru/research/

Weitere Ƥhnliche Inhalte

Was ist angesagt?

Building world-class security response and secure development processes
Building world-class security response and secure development processesBuilding world-class security response and secure development processes
Building world-class security response and secure development processesDavid Jorm
Ā 
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016Christian Schneider
Ā 
NDK Primer (Wearable DevCon 2014)
NDK Primer (Wearable DevCon 2014)NDK Primer (Wearable DevCon 2014)
NDK Primer (Wearable DevCon 2014)Ron Munitz
Ā 
Java and Java platforms
Java and Java platformsJava and Java platforms
Java and Java platformsIlio Catallo
Ā 
The old is new, again. CVE-2011-2461 is back!
The old is new, again. CVE-2011-2461 is back!The old is new, again. CVE-2011-2461 is back!
The old is new, again. CVE-2011-2461 is back!Luca Carettoni
Ā 
Deserialization vulnerabilities
Deserialization vulnerabilitiesDeserialization vulnerabilities
Deserialization vulnerabilitiesGreenD0g
Ā 
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)CODE WHITE GmbH
Ā 
55 new things in Java 7 - Devoxx France
55 new things in Java 7 - Devoxx France55 new things in Java 7 - Devoxx France
55 new things in Java 7 - Devoxx FranceDavid Delabassee
Ā 
Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924yohanbeschi
Ā 
Metamodeling of custom Pharo images
 Metamodeling of custom Pharo images Metamodeling of custom Pharo images
Metamodeling of custom Pharo imagesESUG
Ā 
Fixing the Java Serialization Mess
Fixing the Java Serialization Mess Fixing the Java Serialization Mess
Fixing the Java Serialization Mess Salesforce Engineering
Ā 
Java history, versions, types of errors and exception, quiz
Java history, versions, types of errors and exception, quiz Java history, versions, types of errors and exception, quiz
Java history, versions, types of errors and exception, quiz SAurabh PRajapati
Ā 
Java byte code & virtual machine
Java byte code & virtual machineJava byte code & virtual machine
Java byte code & virtual machineLaxman Puri
Ā 
Understanding Java Dynamic Proxies
Understanding Java Dynamic ProxiesUnderstanding Java Dynamic Proxies
Understanding Java Dynamic ProxiesRafael Luque Leiva
Ā 
NDK Primer (AnDevCon Boston 2014)
NDK Primer (AnDevCon Boston 2014)NDK Primer (AnDevCon Boston 2014)
NDK Primer (AnDevCon Boston 2014)Ron Munitz
Ā 
Java bytecode and classes
Java bytecode and classesJava bytecode and classes
Java bytecode and classesyoavwix
Ā 
The Art of Metaprogramming in Java
The Art of Metaprogramming in Java  The Art of Metaprogramming in Java
The Art of Metaprogramming in Java Abdelmonaim Remani
Ā 

Was ist angesagt? (20)

Building world-class security response and secure development processes
Building world-class security response and secure development processesBuilding world-class security response and secure development processes
Building world-class security response and secure development processes
Ā 
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Serial Killer - Silently Pwning your Java Endpoints // OWASP BeNeLux Day 2016
Ā 
NDK Primer (Wearable DevCon 2014)
NDK Primer (Wearable DevCon 2014)NDK Primer (Wearable DevCon 2014)
NDK Primer (Wearable DevCon 2014)
Ā 
Java and Java platforms
Java and Java platformsJava and Java platforms
Java and Java platforms
Ā 
The old is new, again. CVE-2011-2461 is back!
The old is new, again. CVE-2011-2461 is back!The old is new, again. CVE-2011-2461 is back!
The old is new, again. CVE-2011-2461 is back!
Ā 
Java Profiling
Java ProfilingJava Profiling
Java Profiling
Ā 
Deserialization vulnerabilities
Deserialization vulnerabilitiesDeserialization vulnerabilities
Deserialization vulnerabilities
Ā 
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Ā 
55 new things in Java 7 - Devoxx France
55 new things in Java 7 - Devoxx France55 new things in Java 7 - Devoxx France
55 new things in Java 7 - Devoxx France
Ā 
Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924Introduction to the Java bytecode - So@t - 20130924
Introduction to the Java bytecode - So@t - 20130924
Ā 
Metamodeling of custom Pharo images
 Metamodeling of custom Pharo images Metamodeling of custom Pharo images
Metamodeling of custom Pharo images
Ā 
Fixing the Java Serialization Mess
Fixing the Java Serialization Mess Fixing the Java Serialization Mess
Fixing the Java Serialization Mess
Ā 
Exploring lambdas and invokedynamic for embedded systems
Exploring lambdas and invokedynamic for embedded systemsExploring lambdas and invokedynamic for embedded systems
Exploring lambdas and invokedynamic for embedded systems
Ā 
Java history, versions, types of errors and exception, quiz
Java history, versions, types of errors and exception, quiz Java history, versions, types of errors and exception, quiz
Java history, versions, types of errors and exception, quiz
Ā 
Java byte code & virtual machine
Java byte code & virtual machineJava byte code & virtual machine
Java byte code & virtual machine
Ā 
Understanding Java Dynamic Proxies
Understanding Java Dynamic ProxiesUnderstanding Java Dynamic Proxies
Understanding Java Dynamic Proxies
Ā 
NDK Primer (AnDevCon Boston 2014)
NDK Primer (AnDevCon Boston 2014)NDK Primer (AnDevCon Boston 2014)
NDK Primer (AnDevCon Boston 2014)
Ā 
Java bytecode and classes
Java bytecode and classesJava bytecode and classes
Java bytecode and classes
Ā 
Invoke dynamics
Invoke dynamicsInvoke dynamics
Invoke dynamics
Ā 
The Art of Metaprogramming in Java
The Art of Metaprogramming in Java  The Art of Metaprogramming in Java
The Art of Metaprogramming in Java
Ā 

Ƅhnlich wie No locked doors, no windows barred: hacking OpenAM infrastructure

Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...DefconRussia
Ā 
Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015Chris Tankersley
Ā 
Hacked? Pray that the Attacker used PowerShell
Hacked? Pray that the Attacker used PowerShellHacked? Pray that the Attacker used PowerShell
Hacked? Pray that the Attacker used PowerShellNikhil Mittal
Ā 
Splunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsSplunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsAnthony D Hendricks
Ā 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...Hackito Ergo Sum
Ā 
Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Chris Tankersley
Ā 
NSC #2 - D3 02 - Peter Hlavaty - Attack on the Core
NSC #2 - D3 02 - Peter Hlavaty - Attack on the CoreNSC #2 - D3 02 - Peter Hlavaty - Attack on the Core
NSC #2 - D3 02 - Peter Hlavaty - Attack on the CoreNoSuchCon
Ā 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Chris Tankersley
Ā 
EhTrace -- RoP Hooks
EhTrace -- RoP HooksEhTrace -- RoP Hooks
EhTrace -- RoP HooksShane Macaulay
Ā 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dumpejlp12
Ā 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24Jim Jagielski
Ā 
Defcon - Veil-Pillage
Defcon - Veil-PillageDefcon - Veil-Pillage
Defcon - Veil-PillageVeilFramework
Ā 
Shall we play a game
Shall we play a gameShall we play a game
Shall we play a gamejackpot201
Ā 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?IngridRivera36
Ā 
Attack on the Core
Attack on the CoreAttack on the Core
Attack on the CorePeter Hlavaty
Ā 
How many ways to monitor oracle golden gate-Collaborate 14
How many ways to monitor oracle golden gate-Collaborate 14How many ways to monitor oracle golden gate-Collaborate 14
How many ways to monitor oracle golden gate-Collaborate 14Bobby Curtis
Ā 
Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016Aaron Hnatiw
Ā 
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...Serdar Basegmez
Ā 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systemssosorry
Ā 

Ƅhnlich wie No locked doors, no windows barred: hacking OpenAM infrastructure (20)

Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Ā 
Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015Your Inner Sysadmin - LonestarPHP 2015
Your Inner Sysadmin - LonestarPHP 2015
Ā 
Hacked? Pray that the Attacker used PowerShell
Hacked? Pray that the Attacker used PowerShellHacked? Pray that the Attacker used PowerShell
Hacked? Pray that the Attacker used PowerShell
Ā 
Splunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsSplunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shells
Ā 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
Ā 
Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015
Ā 
NSC #2 - D3 02 - Peter Hlavaty - Attack on the Core
NSC #2 - D3 02 - Peter Hlavaty - Attack on the CoreNSC #2 - D3 02 - Peter Hlavaty - Attack on the Core
NSC #2 - D3 02 - Peter Hlavaty - Attack on the Core
Ā 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Ā 
EhTrace -- RoP Hooks
EhTrace -- RoP HooksEhTrace -- RoP Hooks
EhTrace -- RoP Hooks
Ā 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dump
Ā 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24
Ā 
Defcon - Veil-Pillage
Defcon - Veil-PillageDefcon - Veil-Pillage
Defcon - Veil-Pillage
Ā 
0507 057 01 98 * Adana Klima Servisleri
0507 057 01 98 * Adana Klima Servisleri0507 057 01 98 * Adana Klima Servisleri
0507 057 01 98 * Adana Klima Servisleri
Ā 
Shall we play a game
Shall we play a gameShall we play a game
Shall we play a game
Ā 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?
Ā 
Attack on the Core
Attack on the CoreAttack on the Core
Attack on the Core
Ā 
How many ways to monitor oracle golden gate-Collaborate 14
How many ways to monitor oracle golden gate-Collaborate 14How many ways to monitor oracle golden gate-Collaborate 14
How many ways to monitor oracle golden gate-Collaborate 14
Ā 
Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016Racing The Web - Hackfest 2016
Racing The Web - Hackfest 2016
Ā 
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
Ā 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems
Ā 

Mehr von Andrew Petukhov

ŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠø
ŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠøŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠø
ŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠøAndrew Petukhov
Ā 
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...Andrew Petukhov
Ā 
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...Andrew Petukhov
Ā 
Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter edition
Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter editionŠ‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter edition
Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter editionAndrew Petukhov
Ā 
ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…
ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…
ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…Andrew Petukhov
Ā 
Detecting Insufficient Access Control in Web Applications
Detecting Insufficient Access Control in Web ApplicationsDetecting Insufficient Access Control in Web Applications
Detecting Insufficient Access Control in Web ApplicationsAndrew Petukhov
Ā 
Benchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injection
Benchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injectionBenchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injection
Benchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injectionAndrew Petukhov
Ā 
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠø
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠøŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠø
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠøAndrew Petukhov
Ā 
Access Control Rules Tester
Access Control Rules TesterAccess Control Rules Tester
Access Control Rules TesterAndrew Petukhov
Ā 
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Andrew Petukhov
Ā 

Mehr von Andrew Petukhov (10)

ŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠø
ŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠøŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠø
ŠŃ€Š¼Šøя Š¾ŃŠ²Š¾Š±Š¾Š¶Š“ŠµŠ½Šøя Š“Š¾Š¼Š¾Ń…Š¾Š·ŃŠµŠŗ: струŠŗтурŠ°, сŠ¾ŃŃ‚Š°Š² Š²Š¾Š¾Ń€ŃƒŠ¶ŠµŠ½ŠøŠ¹, Š¼ŠµŃ‚Š¾Š“ы ŠŗŠ¾Š¼Š¼ŃƒŠ½ŠøŠŗŠ°Ń†ŠøŠø
Ā 
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
You Can Be Anything You Want to Be: Breaking Through Certified Crypto in Bank...
Ā 
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠ¹ Š»Š¾Š³ŠøŠŗŠø ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹ Š¼ŠµŃ‚Š¾Š“Š¾Š¼ стŠ°Ń‚ŠøчŠµŃŠŗŠ¾Š³Š¾ Š°Š½Š°Š»ŠøŠ·Š°. Š“Š“Šµ Šæ...
Ā 
Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter edition
Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter editionŠ‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter edition
Š‘ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚ŃŒ Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠ¹: starter edition
Ā 
ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…
ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…
ŠžŠ±ŠµŃŠæŠµŃ‡ŠµŠ½ŠøŠµ Š±ŠµŠ·Š¾ŠæŠ°ŃŠ½Š¾ŃŃ‚Šø рŠ°ŃŃˆŠøрŠµŠ½ŠøŠøĢ† Š² ŠŗŠ¾Ń€ŠæŠ¾Ń€Š°Ń‚ŠøŠ²Š½Ń‹Ń… ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŠ¾Š½Š½Ń‹Ń… сŠøстŠµŠ¼Š°Ń…
Ā 
Detecting Insufficient Access Control in Web Applications
Detecting Insufficient Access Control in Web ApplicationsDetecting Insufficient Access Control in Web Applications
Detecting Insufficient Access Control in Web Applications
Ā 
Benchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injection
Benchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injectionBenchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injection
Benchmark сŠŗŠ°Š½ŠµŃ€Š¾Š² SQL injection
Ā 
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠø
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠøŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠø
ŠžŠ±Š½Š°Ń€ŃƒŠ¶ŠµŠ½ŠøŠµ уяŠ·Š²ŠøŠ¼Š¾ŃŃ‚ŠµŠøĢ† Š² Š¼ŠµŃ…Š°Š½ŠøŠ·Š¼Šµ Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†ŠøŠø Š²ŠµŠ±-ŠæрŠøŠ»Š¾Š¶ŠµŠ½ŠøŠø
Ā 
Access Control Rules Tester
Access Control Rules TesterAccess Control Rules Tester
Access Control Rules Tester
Ā 
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Ā 

KĆ¼rzlich hochgeladen

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
Ā 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
Ā 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
Ā 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
Ā 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
Ā 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
Ā 
Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹
Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹
Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹Bhuvaneswari Subramani
Ā 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
Ā 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
Ā 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
Ā 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
Ā 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
Ā 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
Ā 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
Ā 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
Ā 

KĆ¼rzlich hochgeladen (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Ā 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
Ā 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Ā 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Ā 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
Ā 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Ā 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Ā 
Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹
Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹
Elevate Developer Efficiency & build GenAI Application with Amazon Qā€‹
Ā 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Ā 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Ā 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Ā 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
Ā 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
Ā 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Ā 

No locked doors, no windows barred: hacking OpenAM infrastructure

  • 1. No locked doors, No windows barred Hacking OpenAM Infrastructure George Noseevich Andrew Petukhov ZeroNights 2012
  • 2. WTF OpenAM? ā€¢ Open source Access Management, Entitlements and Federation server platform āž” successor of Sun OpenSSO Enterprise ā€¢ Written in Java, very Enterprisey āž” hard to conļ¬gure and maintain securely ā€¢ Rather popular āž” inurl:/amserver/UI/Login or inurl:/openam/UI/Login ā€¢ Common use case: SSO across legacy apps ā€¢ Usually extended via custom code
  • 3. Motivation, Positioning & Layout ā€¢ Not just another hack via XXE ā€¢ Wanted to share our knowledge on how to develop an attack on OpenAM given an LFR and SSRF abilities ā€¢ Attack vectors on different OpenAM instances āž” will start from the simplest one āž” and steadily proceed to the worst case scenario (a security hardened one) ā€¢ Several interesting tricks āž” data retrieval in blind XXE cases āž” zip upload via HTTP PUT over gopher ā€¢ What is the proper way to ļ¬x XXE in Java?
  • 4. Problem Statement ā€¢ OpenAM infrastructure ā€¢ Tomcat as a web container ā€¢ An ability to read local ļ¬les and do SSRF āž” e.g. XXE with gopher protocol enabled ā€¢ Goal: get an Admin in OpenAM Management Panel ā€¢ A side note: will not focus on general SSRF elaboration methodology, which is still valid here
  • 5. To begin with: Loot da FileSystem!
  • 6. Looting the FileSystem ā€¢ Gotta traverse directories āž” Luckily possible to list them with XXE āž” How would you tell a directory listing from a ļ¬le contents? ā€¢ Gotta read ļ¬les āž” Special chars and binary are a problem as usual ā€¢ Would like to use GREP (General Resource Enumeration Protocol) and other posix tools
  • 7. And along comes... XXE Fuse Demo A team of specially trained monkeys are supporting this SaaS solution 24/7 Request a free trial! http://www.youtube.com/watch?v=7GtPgavI-sI
  • 8. Looting the FileSystem XML-in-XML and OOB channels ā€¢ The vulnerable servlet performs two rounds of xml parsing ā€¢ In the ļ¬rst round we retrieve the data ā€¢ In the second round we pass it to the attacker host
  • 9. Looting the FileSystem Possible Targets and Outcomes 1. Other apps on host āž” especially management and monitoring 2. Conļ¬gs (& credentials) āž” read container conļ¬g and extract HTTP credentials if needed āž” ldap.conf may be especially juicy 3. Logs āž” may contain private data (e.g. SQL query logs) āž” may enable further attacks (see below)
  • 10. Demo Time RCE via SSRF over XXE using Tomcat App Manager http://www.youtube.com/watch?v=ZnsFhGYqI3g
  • 11. RCE via SSRF over XXE Wait, tell us the details!!! ā€¢ How do you POST or PUT via XXE? āž” use gopher; at least until admins wonā€™t update Java ā€¢ How do you upload ZIP through gopher? āž” java gopher contains byte [] => String => byte [] conversion āž” this mangles characters >= 0x80 āž” use zip -0 (store compression method) āž” with a bit of luck you can use 0x00 instead of mangled chars (i.e. ļ¬nd&replace) āž” the resulting ļ¬le will have invalid checksums āž” surprisingly (!) Tomcat WAR parser tolerates this
  • 12. Looting the FileSystem Conļ¬gs & credentials ā€¢ Container conļ¬gs āž” e.g. /usr/share/tomcat6/conf/ ā€¢ OpenAM conļ¬gs āž” /home/user/openam/{install.log, .conļ¬gParam} āž” /home/user/openam/conļ¬g/xml/ ā€¢ Password ļ¬le āž” recommended way of conļ¬guring OpenAM is via ssoadm CLI tool: ā€œIn most ssoadm subcommands, the password ļ¬le is required option.The password ļ¬le is a simple ļ¬le that contains the administrator password for the given task.ā€ may encourage admins to store passwords in plaintext
  • 13. Exploring OpenAM Features ā€¢ OpenAM uses custom Auth tokens āž” web container session tokens are useless āž” good targets to highjack privileged sessions ā€¢ OpenAM does Encryption āž” uses Password-Based Encryption (PBEWithMD5AndDES) with low iteration count āž” admin pwd is encrypted with default key and stored in bootstrap ļ¬le āž” XXE wonā€™t let you read the bootstrap ļ¬le āž” other pwds and session tokens are encrypted using randomly generated instance key which is stored in binary data store āž” instance key is shared across interconnected OpenAM instances (e.g. failover)
  • 14. Juicy OpenAM Features ā€¢ Debugging āž” {CONFIG_DIR}/{INSTANCE_NAME}/debug/ āž” If verbose debugging is enabled, we can read auth tokens and hijack sessions āž” Quickly check via grep -r "AQIC" āž” Admins do not log in too frequently āž” Sessions expire āž” Disabled by default =( ā€¢ Monitoring āž” HTTP/JMX/SNMP facility to monitor OpenAM instance āž” OpenAM-speciļ¬c MBeans do not seem to provide anything useful āž” Also disabled by default
  • 15. Wait, but we need the features! ā€¢ Debugging āž” Every single action in admin interface is Š”SRF-protected āž” Debug.jsp is a quick page to control debug settings āž” Devs didn't worry too much about CSRF there => you can CSRF verbose logging āž” SSRF at Tomcat Shutdown Port to force admin login (or social engineer him) ā€¢ Monitoring āž” Enable monitoring using the hijacked session; it will have the default (i.e. known) password āž” SSRF at Tomcat Shutdown Port again to force reload
  • 16. Putting it All Together Dealing with the Worst Case ā€¢ Enable debugging āž” CSRF and then read admin session token from logs ā€¢ Use admin session token to enable Monitoring āž” SSRF at Tomcat Shutdown Port to force reload ā€¢ Pwn āž” Use HotSpotDiagnostic MBean to force a heap dump into DOC_ROOT āž” Download and analyze the dump (strings util would do) āž” Grep out the encryption key and encrypted admin password āž” Decrypt the password and rule'em all
  • 17. Demo Time Debugging, Monitoring and Heap Dump Scenario http://www.youtube.com/watch?v=Fb2zEqwvbpw
  • 19. Fixing XXE in Java ā€¢ Problem statement - devs want to: āž” use a single class for all XML parsing (validating and not) āž” use external DTD's from local jar ļ¬les āž” avoid being pwned ā€¢ Most XML hardening guides recommend: āž” turn off general and parameter entities: setFeature("http://xml.org/sax/features/external-general-entities", false) setFeature("http://xml.org/sax/features/external-parsed-entities", false) āž” enable XMLConstants.FEATURE_SECURE_PROCESSING to prevent entity expansion DoS ā€¢ Not Enough!
  • 20. Fixing XXE in Java ā€¢ In Java, if validation is enabled, SSRF is still possible ā€¢ Devs: okay, let's use our custom Entity resolver: āž” documentBuilder.setEntityResolver(new XMLHandler()) ā€¢ Almost there! āž” make sure that XMLHandler returns an empty InputStream on error āž” if you return null, JAXP will fall back to default resolvers!
  • 21. Wrap Up Conclusions ā€¢ Speciļ¬c advice āž” Never store passwords in ļ¬les (who may have thought... ) āž” It's good to change monitoring password even if you do not use the feature āž” Update Java and OpenAM (ļ¬x is available in nightly builds) - this would prevent XXE and disable gopher ā€¢ General advice: in SSRF world it is no longer safe to trust āž” IP-based authentication could be subverted instantly āž” Defying patching? Pwned! (think about delayed exploitation) āž” Defying least privilege in DMZ? Very arrogant!
  • 22. Question Time! ā€¢ George Noseevich āž” Twitter: @webpentest āž” Email: webpentest@gmail.com ā€¢ Andrew Petukhov āž” Twitter: @p3tand āž” Email: andrew.petukhov@internalsecurity.ru ā€¢ Show us the Source! āž” Tools: http://internalsecurity.ru/media/resources/openam-xxe-tools.zip āž” Video: http://www.youtube.com/playlist? list=PL1CBT43qUw294xCw79B01PbRQNKI6Qqdj āž” WWW: http://internalsecurity.ru/research/

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n