Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks

Preview:

Citation preview

Devfest IstanbulWeb Application Attacks and Trusting

Frameworks

whoami

● Mehmet INCE● Cyber Security Engineer/Pentest Lead at

INTELRAD● 150+ vulnerability publication● Application Security● Infosec Blogger www.mehmetince.net● PHP, Python, etc..● @mdisec

Önerme

security is a serious business.

Web Uygulama Güvenliği’nde iddia● Framework kullanıyoruz. ( ORM, Prepared statements )● Input validation yapmaktayız.● Output encoding bizim işimiz.● Düzenli olarak farklı firmalardan penetrasyon testi hizmeti

alıyoruz.● WAF, IPS/IDS cihazlarımız var.● Yazılımımız açık kaynak kodlu. Community gücü bizimle.● Geliştiricilerimize secure coding training eğitimleri aldırıyoruz.● Bug bounty programımız var, zafiyet bulan herkese ücret

ödüyoruz.

Tüm maddeleri yapan bir firmada çalışan ?

Çünkü

● Drupal core - SQL injection ( stacked query enabled! ) - http://goo.gl/RPgX1z

● Wordpress 4.0.1 Stored XSS - http://goo.gl/xuvXfB

● Codeigniter Object Injection - http://goo.gl/72lzGV

Çünkü...

● Symfony CSRF ( CVE-2014-6072 )

● Laravel cookie forgery, decryption, and RCE - http://goo.gl/qieZzZ

● RoR SQLi & Crypto Weakness

Çünkü…

“Framework kullanıyoruz.” olmazsa olmazlardan biridir ama asla yeterli değildir, zira framework’ünde kendisi bir yazılımdır. Güvenlik açığı olabilir. ( RoR, CI, Laravel, Symfony, ASP.NET )

Çünkü…

Açık kaynak güvenlik açısından önemlidir. Lakin tüm örnekler açık kaynak kodlu ve 1.000~ committer’ı olan projelerdi. http://goo.gl/fDHGFZ

( Aramıza hoşgeldin ASP.NET :p )

Çünkü….

Hiçbir WAF, IPS/IDS Codeigniter Object Injection zafiyetini tespit edemez. Çünkü ? ( Exploit the OR )

Yani..

security is a serious business.

Codeigniter Object Injection Vuln

Codeigniter Session MechanismSession class initializer method.

Codeigniter Session Mechanism

Codeigniter Session Mechanism

Codeigniter Encryption Class

Codeigniter Custom XOR

Where we are

User Request Session Class initializer sess_create()

is encrypt cookie enabled ?T: Encode with Mcrypt _set_cookie()

F : Encode with Xor

How to read Session Data

How to exploit

- Encryption key biliniyorsa- Cookie object manipulation

- Encryption key belirsiz ise- Mcrypt aktif ise

- CBC mode exploit- Custom XOR ise

- md5 hash brute force

Codeigniter Based Applications

- Bonfire Vulnerable- No-CMS Vulnerable- PyroCMS Vulnerable- FUEL CMS Vulnerable- ...

DEMO

Teşekkürler

twitter.com/mdisec

www.mehmetince.net

mehmet@mehmetince.net