SlideShare a Scribd company logo
HACKERS VS
DEVELOPERS
Fighting the good fight
HACKER


is one who doesn‟t
play by your rules
HACKER

is one who will gain from making
your app respond in a manner
that you didn’t anticipate
DEVELOPER


is one who creates a
system ; wants the
system to run as
expected
DEVELOPER

almost always doesn‟t think about
attacking the app from the point of
view of someone who wants to
exploit – the app, the resources
supporting the app or the data
hackers
always
  win
so why bother
   fighting?
FIGHTING THE GOOD FIGHT

hackers need only one opening,
 one weakness.
developers need to constantly
 ensure that the security and the
 integrity of the application is
 maintained
RA.ONE VERSUS G.ONE

developers will defend and the
 hackers will attack
the good fight is about making
 secure apps, keeping them
 secure in operation and
 safeguarding user data
HACKERS ARE NECESSARY AND NOT
EVIL

hackers and developers
represent duality. Without
pesky hackers developers
mayn‟t have the incentive to
keep making secure
applications.
SECURE WEB
PROGRAMMIN
G
SOMETHING TO THINK ABOUT
 95% of attacks are against “Web Servers and Web
  Applications” aka Websites
 The top 3 verticals compromised were Financial
  Services, Hospitality and Retail.
 More than 60% of attacks were caused by external
  agents.
 Primary attack vector was SQL Injection and was used
  to install customized malware.
 Injection Attacks are #1 critical flaw in applications

  Sources Verizon DBIR 2010, Whitehat Sec Statistics, OWASP Top 10
                               2010
WEB APP ARCHITECTURE – 3
TIER
      USER AGENTS
                                           WEB SERVERS
      User Agent / Client. Browser, BOT,
      Program Sends Requests like GET,     Web Server listens for requests and sends
      POST, HEAD, PUT, DELETE              appropriate responses like 200, 404, 403
                                           •Has the programming logic to understand
                                           all types of requests ( PHP/ASP.net)
                                           •Talks to the database




                                                        Database Software
                                                      System MySQL, MSSQL




W EB SECURITY TRAINING © AKASH
MA H A J A N                                                        1 7 T H - 1 9 T H MA Y 2 0 1 0   13
WEB APP ARCHITECTURE DATA VIEW


                         Trusted
     Web                             Data Store
                          Code
     Client             Running on
                          server
                        Web Server

   Un-trusted Input
   hitting the server
                                       Web
   from the client,
                                      Service
   data stores, web
   services.
WEB APP ARCHITECTURE – DATA VIEW

The only piece we can trust is the code
 running on the server.
Any data coming to the server, regardless
 of where it originated from shouldn‟t be
 trusted.
Data should only be trusted once it has
 been validated by some piece of trusted
 code.
WEB APP ARCHITECTURE – DATA VIEW

Trusted code is the code which we know
 for sure is the same thing that was
 developed and the integrity is
 maintained.
Based on the validation we can classify
 data as tainted/bad or un-tainted/good.
Only after that the data which is good
 data for the application should be
 processed.
WHERE ALL IS THE DATA COMING
        FROM?
         GET Requests
         POST Requests, HTML Form data
         Cookies stored
         HTTP Headers
         File Uploads
         RSS feeds
         External data-stores or web services




@ MA K A S H | A K A S H M. C O M | T H A T W E B
APPLICATION SECURITY GUY
DATA FLOWS

Four main data flows in any web
 application
   Data from request going to be displayed in the
    browser
   Data from the request going to be stored in the
    database
   Data from the response ( from the database ) going
    to be displayed in the browser
   Data from request going to call a remote
    method/API or read/write something on the server
DATA YOU CAN‟T TRUST
          Good data for a login page
                  Username – foo
                  Password – bar
          Bad data for a login page
                  Username – foo‟ OR 1=1;--
                  Password – bar‟ OR 1=1;--
          Good data for a comment
                  This is a nice comment
          Bad data for a comment
                  This is an XSS</textarea><script>alert(document.cookie);</script>




@ MA K A S H | A K A S H M. C O M - T H A T W E B
APPLICATION SECURITY GUY
DATA YOU NEED TO PROTECT

          Clear text passwords for a username
           email@example.com
          Password is 123456
          Data thief steals the entire database and has reusable
           account details
          http://somebank.cxm/account-details.php?id=1234
          Did you check that only user with id 1234 can see this?
          What if the attacker stole the session cookie of user
           with id 1234



@ MA K A S H | A K A S H M. C O M - T H A T W E B
APPLICATION SECURITY GUY
WHAT IS THE RISK?

Data view of the web app
 shows two places of attack
 Attacking the web application
 Attacking the users of the said
  web application
TYPES OF ATTACKS

          All these attack the web application hosted and
           running on the web server
          Injection attacks
                  SQL Injection – attacking the database
                  Command Injection – attacking the system

          File Inclusion attacks
                  Local File Inclusion
                  Remote File Inclusion

          HTTP Response Splitting – attacking HTTP




@ MA K A S H | A K A S H M. C O M | T H A T W E B
APPLICATION SECURITY GUY
ATTACKING THE WEB APP USER

         All these attacks are meant to attack the user
          of the web application through it.
         Cross Site Scripting or commonly known as
          XSS
         Cross Site Request Forgery also called Sea-
          Surf
         Broken Authentication and Sessions
          Management


@ MA K A S H | A K A S H M. C O M | T H A T W E B
APPLICATION SECURITY GUY
WHY SHOULD WE MAKE SECURE WEB
APPS
Malicious users, automated programs,
 ignorant users are all trying to break your
 web application as we speak.
Web applications which get hacked, go
 down or fail while being used bring
 disrepute to your company, can attract
 financial damages and can be used to
 attack other targets on the web.
HOW DO WE MAKE SECURE WEB
APPS
Always do server side validation.
Any and every data point that originates from
 outside your web application is bad unless
 proved otherwise.
GET, POST, COOKIE, FILES all requests are
 bad.
So we need to ensure only trusted good data
 is processed, is allowed in the database and is
 rendered by the browser.
INTEGRITY OF A WEB
APPLICATION
As the developer you need to ensure that your
 web application has integrity. The data that
 flows through it is known, can be trusted and
 improper data is dealt with in a known way.
 You can do with error handlers, exception
 handling and failing gracefully.
If you look at it holistically the entire point of
 your web app is to shovel data from one point
 to another and do cool things with it.
CROSS SITE SCRIPTING - XSS

Injecting HTML/JS into the site.
   Non-persistent/Reflected/First Order
     Script is taken from the request and displayed in the
      browser directly
     example.com/search?q=<script>alert(„hi‟);</script>

   Persistent/Stored/Second Order
     First name of a registration form is vuln and the value is
      stored in the database
     Hello <iframe src=http://f1y.in/0.js></iframe>
XSS MITIGATION IN ASP.NET 2.0
 Constrain input and Encode output
 For inputs through server controls use validate controls like
    RegularExpressionValidator
    RangeValidator
 For inputs from query strings, cookies, client side HTML
    System.Text.RegularExpressions.Regex class
 Encode output for html. Convert < to < “ to "
    HttpUtility.HtmlEncode
    Response.Write(HttpUtility.HtmlEncode(Request.Form[“foo"]));
 Encode output for urls created from user input
XSS MITIGATION IN ASP.NET 2.0
    HttpUtility.UrlEncode
    Response.Write(HttpUtility.UrlEncode(urlString));

 Check that request validation is enabled in Machine.config and is
  not overwritten by the Web.config
    <system.web> <pages buffer="true" validateRequest="true" /> </system.web>
    You can set it to false for certain pages which might require rich text
      processing.
 Client headers like user agent can be malicious as well.
 Thumb rule, if its not your data consider it bad. If you can verify it,
  consider it trusted good data.
 White listing helps in verifying good data more than black listing.
 See examples at xssed.com
 Try out MS Anti XSS Library http://www.codeplex.com/AntiXSS
XSS MITIGATION IN PHP
 Sanitize all globals ($_GET, $_POST, $_COOKIE)
    Use strip_tags()
    Use inpekt library code.google.com/p/inspekt
 Escape everything before displaying
    htmlentities(), htmlspeciachars()
 Client headers like user agent can be malicious as well.
 Thumb rule, if its not your data consider it bad. If you can verify it,
  consider it trusted good data.
 White listing helps in verifying good data more than black listing.
 See examples at xssed.com
SQL INJECTION

 Allowing SQL to be injected in the database query.
 Most common attack point is the search of any
  dynamic website and registration forms. These two will
  be definitely talking to the database.
 $sql =
SQL INJECTION - MITIGATION
        myCommand.SelectCommand.Parameters.Add("@name", SqlDbType.VarChar, 40);
        myCommand.SelectCommand.Parameters["@name"].Value =
         Request.QueryString[„name‟];
        myCommand.Fill(userDataset);
    }
 Avoid disclosing database error information
     <customErrors mode="remoteOnly" />
     <customErrors mode="On" defaultRedirect=“ErrorPage.htm" />

 See a kickass example of stored proc used to hack more than hundred
  thousand websites
     http://www.breach.com/resources/breach-security-labs/alerts/mass-sql-injection-attack-
          evolution
 MS Source Code Analyzer to SQL Injection
     http://www.microsoft.com/downloads/details.aspx?familyid=58A7C46E-A599-4FCB-
          9AB4-A4334146B6BA&displaylang=en
SQL INJECTION - MITIGATION
 mysql_real_escape_string()
    $dbquery = sprintf(“SELECT name FROM user WHERE id=„%s‟”,
     mysql_real_escape_string(„id‟));
 Parameterized queries
    $res = $query(“SELECT name FROM user WHERE id=?”, $id);
    Standard mysql module in PHP doesn‟t allow for parameterized queries. You
     need mysqli
 Stored Procedures
    See a kickass example of stored proc used to hack more than hundred
     thousand websites
        http://www.breach.com/resources/breach-security-labs/alerts/mass-sql-injection-
          attack-evolutio

More Related Content

What's hot (20)

Web Services Hacking and Security
Web Services Hacking and SecurityWeb Services Hacking and Security
Web Services Hacking and Security
Blueinfy Solutions
 
Hacking Ajax & Web Services - Next Generation Web Attacks on the Rise
Hacking Ajax & Web Services - Next Generation Web Attacks on the RiseHacking Ajax & Web Services - Next Generation Web Attacks on the Rise
Hacking Ajax & Web Services - Next Generation Web Attacks on the Rise
Shreeraj Shah
 
Security 101
Security 101Security 101
Security 101
George V. Reilly
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Shreeraj Shah
 
Top 10 Web App Security Risks
Top 10 Web App Security RisksTop 10 Web App Security Risks
Top 10 Web App Security Risks
Sperasoft
 
React security vulnerabilities
React security vulnerabilitiesReact security vulnerabilities
React security vulnerabilities
AngelinaJasper
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Application Security   Part 1   Threat Defense In Client Server Applications ...Application Security   Part 1   Threat Defense In Client Server Applications ...
Application Security Part 1 Threat Defense In Client Server Applications ...
Greg Sohl
 
Exploiting parameter tempering attack in web application
Exploiting parameter tempering attack in web applicationExploiting parameter tempering attack in web application
Exploiting parameter tempering attack in web application
Vishal Kumar
 
A8 cross site request forgery (csrf) it 6873 presentation
A8 cross site request forgery (csrf)   it 6873 presentationA8 cross site request forgery (csrf)   it 6873 presentation
A8 cross site request forgery (csrf) it 6873 presentation
Albena Asenova-Belal
 
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Shreeraj Shah
 
Become a Security Ninja
Become a Security NinjaBecome a Security Ninja
Become a Security Ninja
Paul Gilzow
 
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web [Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
Shreeraj Shah
 
Web Attacks - Top threats - 2010
Web Attacks - Top threats - 2010Web Attacks - Top threats - 2010
Web Attacks - Top threats - 2010
Shreeraj Shah
 
Owasp web security
Owasp web securityOwasp web security
Owasp web security
Pankaj Kumar Sharma
 
Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
Blueinfy Solutions
 
Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2
Abhinav Sejpal
 
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERYFIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
Shreeraj Shah
 
Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1
Abhinav Sejpal
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
John Ombagi
 
Session7-XSS & CSRF
Session7-XSS & CSRFSession7-XSS & CSRF
Session7-XSS & CSRF
zakieh alizadeh
 
Web Services Hacking and Security
Web Services Hacking and SecurityWeb Services Hacking and Security
Web Services Hacking and Security
Blueinfy Solutions
 
Hacking Ajax & Web Services - Next Generation Web Attacks on the Rise
Hacking Ajax & Web Services - Next Generation Web Attacks on the RiseHacking Ajax & Web Services - Next Generation Web Attacks on the Rise
Hacking Ajax & Web Services - Next Generation Web Attacks on the Rise
Shreeraj Shah
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Shreeraj Shah
 
Top 10 Web App Security Risks
Top 10 Web App Security RisksTop 10 Web App Security Risks
Top 10 Web App Security Risks
Sperasoft
 
React security vulnerabilities
React security vulnerabilitiesReact security vulnerabilities
React security vulnerabilities
AngelinaJasper
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Application Security   Part 1   Threat Defense In Client Server Applications ...Application Security   Part 1   Threat Defense In Client Server Applications ...
Application Security Part 1 Threat Defense In Client Server Applications ...
Greg Sohl
 
Exploiting parameter tempering attack in web application
Exploiting parameter tempering attack in web applicationExploiting parameter tempering attack in web application
Exploiting parameter tempering attack in web application
Vishal Kumar
 
A8 cross site request forgery (csrf) it 6873 presentation
A8 cross site request forgery (csrf)   it 6873 presentationA8 cross site request forgery (csrf)   it 6873 presentation
A8 cross site request forgery (csrf) it 6873 presentation
Albena Asenova-Belal
 
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Shreeraj Shah
 
Become a Security Ninja
Become a Security NinjaBecome a Security Ninja
Become a Security Ninja
Paul Gilzow
 
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web [Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
Shreeraj Shah
 
Web Attacks - Top threats - 2010
Web Attacks - Top threats - 2010Web Attacks - Top threats - 2010
Web Attacks - Top threats - 2010
Shreeraj Shah
 
Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013Mobile code mining for discovery and exploits nullcongoa2013
Mobile code mining for discovery and exploits nullcongoa2013
Blueinfy Solutions
 
Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2Owasp top 10 web application security hazards part 2
Owasp top 10 web application security hazards part 2
Abhinav Sejpal
 
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERYFIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
Shreeraj Shah
 
Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1Owasp top 10 web application security hazards - Part 1
Owasp top 10 web application security hazards - Part 1
Abhinav Sejpal
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
John Ombagi
 

Viewers also liked (20)

PHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vulnPHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vuln
Sandro Zaccarini
 
How To Avoid The Top Ten Software Security Flaws
How To Avoid The Top Ten Software Security FlawsHow To Avoid The Top Ten Software Security Flaws
How To Avoid The Top Ten Software Security Flaws
Priyanka Aash
 
Php security
Php securityPhp security
Php security
Akash Mahajan
 
Php web backdoor obfuscation
Php web backdoor obfuscationPhp web backdoor obfuscation
Php web backdoor obfuscation
Sandro Zaccarini
 
PHP and Application Security - OWASP Road Show 2013
PHP and Application Security - OWASP Road Show 2013PHP and Application Security - OWASP Road Show 2013
PHP and Application Security - OWASP Road Show 2013
rjsmelo
 
Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...
Cenzic
 
Security In PHP Applications
Security In PHP ApplicationsSecurity In PHP Applications
Security In PHP Applications
Aditya Mooley
 
A Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security EducationA Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security Education
chunkybacon
 
Hacking Your Way to Better Security - PHP South Africa 2016
Hacking Your Way to Better Security - PHP South Africa 2016Hacking Your Way to Better Security - PHP South Africa 2016
Hacking Your Way to Better Security - PHP South Africa 2016
Colin O'Dell
 
LFI to RCE
LFI to RCELFI to RCE
LFI to RCE
n|u - The Open Security Community
 
PHP Secure Programming
PHP Secure ProgrammingPHP Secure Programming
PHP Secure Programming
Balavignesh Kasinathan
 
Security in PHP Applications: An absolute must!
Security in PHP Applications: An absolute must!Security in PHP Applications: An absolute must!
Security in PHP Applications: An absolute must!
Mark Niebergall
 
Application Security on a Dime: A Practical Guide to Using Functional Open So...
Application Security on a Dime: A Practical Guide to Using Functional Open So...Application Security on a Dime: A Practical Guide to Using Functional Open So...
Application Security on a Dime: A Practical Guide to Using Functional Open So...
POSSCON
 
Nullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Nullcon Jailbreak CTF 2012,Walkthrough by Team LoosersNullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Nullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Ajith Chandran
 
Web application security
Web application securityWeb application security
Web application security
Kapil Sharma
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
Chris Hillman
 
Nikto
NiktoNikto
Nikto
Sorina Chirilă
 
Security Testing by Ken De Souza
Security Testing by Ken De SouzaSecurity Testing by Ken De Souza
Security Testing by Ken De Souza
QA or the Highway
 
Php web app security (eng)
Php web app security (eng)Php web app security (eng)
Php web app security (eng)
Anatoliy Okhotnikov
 
Remote File Inclusion (RFI) Vulnerabilities 101
Remote File Inclusion (RFI) Vulnerabilities 101Remote File Inclusion (RFI) Vulnerabilities 101
Remote File Inclusion (RFI) Vulnerabilities 101
Imperva
 
PHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vulnPHP Backdoor: The rise of the vuln
PHP Backdoor: The rise of the vuln
Sandro Zaccarini
 
How To Avoid The Top Ten Software Security Flaws
How To Avoid The Top Ten Software Security FlawsHow To Avoid The Top Ten Software Security Flaws
How To Avoid The Top Ten Software Security Flaws
Priyanka Aash
 
Php web backdoor obfuscation
Php web backdoor obfuscationPhp web backdoor obfuscation
Php web backdoor obfuscation
Sandro Zaccarini
 
PHP and Application Security - OWASP Road Show 2013
PHP and Application Security - OWASP Road Show 2013PHP and Application Security - OWASP Road Show 2013
PHP and Application Security - OWASP Road Show 2013
rjsmelo
 
Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...
Cenzic
 
Security In PHP Applications
Security In PHP ApplicationsSecurity In PHP Applications
Security In PHP Applications
Aditya Mooley
 
A Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security EducationA Simple Laboratory Environment for Real World Offensive Security Education
A Simple Laboratory Environment for Real World Offensive Security Education
chunkybacon
 
Hacking Your Way to Better Security - PHP South Africa 2016
Hacking Your Way to Better Security - PHP South Africa 2016Hacking Your Way to Better Security - PHP South Africa 2016
Hacking Your Way to Better Security - PHP South Africa 2016
Colin O'Dell
 
Security in PHP Applications: An absolute must!
Security in PHP Applications: An absolute must!Security in PHP Applications: An absolute must!
Security in PHP Applications: An absolute must!
Mark Niebergall
 
Application Security on a Dime: A Practical Guide to Using Functional Open So...
Application Security on a Dime: A Practical Guide to Using Functional Open So...Application Security on a Dime: A Practical Guide to Using Functional Open So...
Application Security on a Dime: A Practical Guide to Using Functional Open So...
POSSCON
 
Nullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Nullcon Jailbreak CTF 2012,Walkthrough by Team LoosersNullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Nullcon Jailbreak CTF 2012,Walkthrough by Team Loosers
Ajith Chandran
 
Web application security
Web application securityWeb application security
Web application security
Kapil Sharma
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
Chris Hillman
 
Security Testing by Ken De Souza
Security Testing by Ken De SouzaSecurity Testing by Ken De Souza
Security Testing by Ken De Souza
QA or the Highway
 
Remote File Inclusion (RFI) Vulnerabilities 101
Remote File Inclusion (RFI) Vulnerabilities 101Remote File Inclusion (RFI) Vulnerabilities 101
Remote File Inclusion (RFI) Vulnerabilities 101
Imperva
 

Similar to Hackers versus Developers and Secure Web Programming (20)

SecTor '09 - When Web 2.0 Attacks!
SecTor '09 - When Web 2.0 Attacks!SecTor '09 - When Web 2.0 Attacks!
SecTor '09 - When Web 2.0 Attacks!
Rafal Los
 
Web Security
Web SecurityWeb Security
Web Security
Ali Habeeb
 
OWASPTop 10
OWASPTop 10OWASPTop 10
OWASPTop 10
InnoTech
 
Crash Course In Brain Surgery
Crash Course In Brain SurgeryCrash Course In Brain Surgery
Crash Course In Brain Surgery
morisson
 
State of the information security nation
State of the information security nationState of the information security nation
State of the information security nation
SensePost
 
Problems with parameters b sides-msp
Problems with parameters b sides-mspProblems with parameters b sides-msp
Problems with parameters b sides-msp
Mike Saunders
 
Presentation on Top 10 Vulnerabilities in Web Application
Presentation on Top 10 Vulnerabilities in Web ApplicationPresentation on Top 10 Vulnerabilities in Web Application
Presentation on Top 10 Vulnerabilities in Web Application
Md Mahfuzur Rahman
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
SamsonMuoki
 
ASP.NET security vulnerabilities
ASP.NET security vulnerabilitiesASP.NET security vulnerabilities
ASP.NET security vulnerabilities
Aleksandar Bozinovski
 
Security Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramSecurity Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training Program
OpenDNS
 
Top web apps security vulnerabilities
Top web apps security vulnerabilitiesTop web apps security vulnerabilities
Top web apps security vulnerabilities
Aleksandar Bozinovski
 
Owasp top 10 vulnerabilities 2013
Owasp top 10 vulnerabilities   2013Owasp top 10 vulnerabilities   2013
Owasp top 10 vulnerabilities 2013
Vishrut Sharma
 
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
Brian Huff
 
Defensive programing 101
Defensive programing 101Defensive programing 101
Defensive programing 101
Niall Merrigan
 
Secure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdfSecure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdf
nanangAris1
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
Niyas Nazar
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Sam Bowne
 
Rich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeRich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safe
Jeremiah Grossman
 
Web Security Threats and Solutions
Web Security Threats and Solutions Web Security Threats and Solutions
Web Security Threats and Solutions
Ivo Andreev
 
Things that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityThings that go bump on the web - Web Application Security
Things that go bump on the web - Web Application Security
Christian Heilmann
 
SecTor '09 - When Web 2.0 Attacks!
SecTor '09 - When Web 2.0 Attacks!SecTor '09 - When Web 2.0 Attacks!
SecTor '09 - When Web 2.0 Attacks!
Rafal Los
 
OWASPTop 10
OWASPTop 10OWASPTop 10
OWASPTop 10
InnoTech
 
Crash Course In Brain Surgery
Crash Course In Brain SurgeryCrash Course In Brain Surgery
Crash Course In Brain Surgery
morisson
 
State of the information security nation
State of the information security nationState of the information security nation
State of the information security nation
SensePost
 
Problems with parameters b sides-msp
Problems with parameters b sides-mspProblems with parameters b sides-msp
Problems with parameters b sides-msp
Mike Saunders
 
Presentation on Top 10 Vulnerabilities in Web Application
Presentation on Top 10 Vulnerabilities in Web ApplicationPresentation on Top 10 Vulnerabilities in Web Application
Presentation on Top 10 Vulnerabilities in Web Application
Md Mahfuzur Rahman
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
SamsonMuoki
 
Security Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramSecurity Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training Program
OpenDNS
 
Top web apps security vulnerabilities
Top web apps security vulnerabilitiesTop web apps security vulnerabilities
Top web apps security vulnerabilities
Aleksandar Bozinovski
 
Owasp top 10 vulnerabilities 2013
Owasp top 10 vulnerabilities   2013Owasp top 10 vulnerabilities   2013
Owasp top 10 vulnerabilities 2013
Vishrut Sharma
 
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
Brian Huff
 
Defensive programing 101
Defensive programing 101Defensive programing 101
Defensive programing 101
Niall Merrigan
 
Secure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdfSecure Coding BSSN Semarang Material.pdf
Secure Coding BSSN Semarang Material.pdf
nanangAris1
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
Niyas Nazar
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Sam Bowne
 
Rich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safeRich Web App Security - Keeping your application safe
Rich Web App Security - Keeping your application safe
Jeremiah Grossman
 
Web Security Threats and Solutions
Web Security Threats and Solutions Web Security Threats and Solutions
Web Security Threats and Solutions
Ivo Andreev
 
Things that go bump on the web - Web Application Security
Things that go bump on the web - Web Application SecurityThings that go bump on the web - Web Application Security
Things that go bump on the web - Web Application Security
Christian Heilmann
 

More from Akash Mahajan (16)

On Writing Well - A talk given at WinjaBlogs Session
On Writing Well - A talk given at WinjaBlogs SessionOn Writing Well - A talk given at WinjaBlogs Session
On Writing Well - A talk given at WinjaBlogs Session
Akash Mahajan
 
App sec in the time of docker containers
App sec in the time of docker containersApp sec in the time of docker containers
App sec in the time of docker containers
Akash Mahajan
 
Venom vulnerability Overview and a basic demo
Venom vulnerability Overview and a basic demoVenom vulnerability Overview and a basic demo
Venom vulnerability Overview and a basic demo
Akash Mahajan
 
Security in the cloud Workshop HSTC 2014
Security in the cloud Workshop HSTC 2014Security in the cloud Workshop HSTC 2014
Security in the cloud Workshop HSTC 2014
Akash Mahajan
 
INCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-there
INCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-thereINCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-there
INCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-there
Akash Mahajan
 
The real incident of stealing a droid app+data
The real incident of stealing a droid app+dataThe real incident of stealing a droid app+data
The real incident of stealing a droid app+data
Akash Mahajan
 
Believe It Or Not SSL Attacks
Believe It Or Not SSL AttacksBelieve It Or Not SSL Attacks
Believe It Or Not SSL Attacks
Akash Mahajan
 
I haz your mouse clicks and key strokes
I haz your mouse clicks and key strokesI haz your mouse clicks and key strokes
I haz your mouse clicks and key strokes
Akash Mahajan
 
Secure HTTP Headers c0c0n 2011 Akash Mahajan
Secure HTTP Headers c0c0n 2011 Akash MahajanSecure HTTP Headers c0c0n 2011 Akash Mahajan
Secure HTTP Headers c0c0n 2011 Akash Mahajan
Akash Mahajan
 
Secure passwords-theory-and-practice
Secure passwords-theory-and-practiceSecure passwords-theory-and-practice
Secure passwords-theory-and-practice
Akash Mahajan
 
Top 10 web application security risks akash mahajan
Top 10 web application security risks   akash mahajanTop 10 web application security risks   akash mahajan
Top 10 web application security risks akash mahajan
Akash Mahajan
 
Web application security
Web application securityWeb application security
Web application security
Akash Mahajan
 
Web application security
Web application securityWeb application security
Web application security
Akash Mahajan
 
Web application security
Web application securityWeb application security
Web application security
Akash Mahajan
 
Secure Programming In Php
Secure Programming In PhpSecure Programming In Php
Secure Programming In Php
Akash Mahajan
 
Startups Security
Startups SecurityStartups Security
Startups Security
Akash Mahajan
 
On Writing Well - A talk given at WinjaBlogs Session
On Writing Well - A talk given at WinjaBlogs SessionOn Writing Well - A talk given at WinjaBlogs Session
On Writing Well - A talk given at WinjaBlogs Session
Akash Mahajan
 
App sec in the time of docker containers
App sec in the time of docker containersApp sec in the time of docker containers
App sec in the time of docker containers
Akash Mahajan
 
Venom vulnerability Overview and a basic demo
Venom vulnerability Overview and a basic demoVenom vulnerability Overview and a basic demo
Venom vulnerability Overview and a basic demo
Akash Mahajan
 
Security in the cloud Workshop HSTC 2014
Security in the cloud Workshop HSTC 2014Security in the cloud Workshop HSTC 2014
Security in the cloud Workshop HSTC 2014
Akash Mahajan
 
INCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-there
INCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-thereINCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-there
INCOMPLETE - OUTLINE for RootConf 2014 - The little-servcie-which-wasn't-there
Akash Mahajan
 
The real incident of stealing a droid app+data
The real incident of stealing a droid app+dataThe real incident of stealing a droid app+data
The real incident of stealing a droid app+data
Akash Mahajan
 
Believe It Or Not SSL Attacks
Believe It Or Not SSL AttacksBelieve It Or Not SSL Attacks
Believe It Or Not SSL Attacks
Akash Mahajan
 
I haz your mouse clicks and key strokes
I haz your mouse clicks and key strokesI haz your mouse clicks and key strokes
I haz your mouse clicks and key strokes
Akash Mahajan
 
Secure HTTP Headers c0c0n 2011 Akash Mahajan
Secure HTTP Headers c0c0n 2011 Akash MahajanSecure HTTP Headers c0c0n 2011 Akash Mahajan
Secure HTTP Headers c0c0n 2011 Akash Mahajan
Akash Mahajan
 
Secure passwords-theory-and-practice
Secure passwords-theory-and-practiceSecure passwords-theory-and-practice
Secure passwords-theory-and-practice
Akash Mahajan
 
Top 10 web application security risks akash mahajan
Top 10 web application security risks   akash mahajanTop 10 web application security risks   akash mahajan
Top 10 web application security risks akash mahajan
Akash Mahajan
 
Web application security
Web application securityWeb application security
Web application security
Akash Mahajan
 
Web application security
Web application securityWeb application security
Web application security
Akash Mahajan
 
Web application security
Web application securityWeb application security
Web application security
Akash Mahajan
 
Secure Programming In Php
Secure Programming In PhpSecure Programming In Php
Secure Programming In Php
Akash Mahajan
 

Recently uploaded (20)

Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
Soulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate reviewSoulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate review
Soulmaite
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Dancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptxDancing with AI - A Developer's Journey.pptx
Dancing with AI - A Developer's Journey.pptx
Elliott Richmond
 
Soulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate reviewSoulmaite review - Find Real AI soulmate review
Soulmaite review - Find Real AI soulmate review
Soulmaite
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdfBoosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Boosting MySQL with Vector Search -THE VECTOR SEARCH CONFERENCE 2025 .pdf
Alkin Tezuysal
 
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationAI Agents in Logistics and Supply Chain Applications Benefits and Implementation
AI Agents in Logistics and Supply Chain Applications Benefits and Implementation
Christine Shepherd
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | BluebashMCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
MCP vs A2A vs ACP: Choosing the Right Protocol | Bluebash
Bluebash
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection FunctionLSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 

Hackers versus Developers and Secure Web Programming

  • 2. HACKER is one who doesn‟t play by your rules
  • 3. HACKER is one who will gain from making your app respond in a manner that you didn’t anticipate
  • 4. DEVELOPER is one who creates a system ; wants the system to run as expected
  • 5. DEVELOPER almost always doesn‟t think about attacking the app from the point of view of someone who wants to exploit – the app, the resources supporting the app or the data
  • 7. so why bother fighting?
  • 8. FIGHTING THE GOOD FIGHT hackers need only one opening, one weakness. developers need to constantly ensure that the security and the integrity of the application is maintained
  • 9. RA.ONE VERSUS G.ONE developers will defend and the hackers will attack the good fight is about making secure apps, keeping them secure in operation and safeguarding user data
  • 10. HACKERS ARE NECESSARY AND NOT EVIL hackers and developers represent duality. Without pesky hackers developers mayn‟t have the incentive to keep making secure applications.
  • 12. SOMETHING TO THINK ABOUT  95% of attacks are against “Web Servers and Web Applications” aka Websites  The top 3 verticals compromised were Financial Services, Hospitality and Retail.  More than 60% of attacks were caused by external agents.  Primary attack vector was SQL Injection and was used to install customized malware.  Injection Attacks are #1 critical flaw in applications Sources Verizon DBIR 2010, Whitehat Sec Statistics, OWASP Top 10 2010
  • 13. WEB APP ARCHITECTURE – 3 TIER USER AGENTS WEB SERVERS User Agent / Client. Browser, BOT, Program Sends Requests like GET, Web Server listens for requests and sends POST, HEAD, PUT, DELETE appropriate responses like 200, 404, 403 •Has the programming logic to understand all types of requests ( PHP/ASP.net) •Talks to the database Database Software System MySQL, MSSQL W EB SECURITY TRAINING © AKASH MA H A J A N 1 7 T H - 1 9 T H MA Y 2 0 1 0 13
  • 14. WEB APP ARCHITECTURE DATA VIEW Trusted Web Data Store Code Client Running on server Web Server Un-trusted Input hitting the server Web from the client, Service data stores, web services.
  • 15. WEB APP ARCHITECTURE – DATA VIEW The only piece we can trust is the code running on the server. Any data coming to the server, regardless of where it originated from shouldn‟t be trusted. Data should only be trusted once it has been validated by some piece of trusted code.
  • 16. WEB APP ARCHITECTURE – DATA VIEW Trusted code is the code which we know for sure is the same thing that was developed and the integrity is maintained. Based on the validation we can classify data as tainted/bad or un-tainted/good. Only after that the data which is good data for the application should be processed.
  • 17. WHERE ALL IS THE DATA COMING FROM? GET Requests POST Requests, HTML Form data Cookies stored HTTP Headers File Uploads RSS feeds External data-stores or web services @ MA K A S H | A K A S H M. C O M | T H A T W E B APPLICATION SECURITY GUY
  • 18. DATA FLOWS Four main data flows in any web application  Data from request going to be displayed in the browser  Data from the request going to be stored in the database  Data from the response ( from the database ) going to be displayed in the browser  Data from request going to call a remote method/API or read/write something on the server
  • 19. DATA YOU CAN‟T TRUST  Good data for a login page  Username – foo  Password – bar  Bad data for a login page  Username – foo‟ OR 1=1;--  Password – bar‟ OR 1=1;--  Good data for a comment  This is a nice comment  Bad data for a comment  This is an XSS @ MA K A S H | A K A S H M. C O M - T H A T W E B APPLICATION SECURITY GUY
  • 20. DATA YOU NEED TO PROTECT  Clear text passwords for a username [email protected]  Password is 123456  Data thief steals the entire database and has reusable account details  http://somebank.cxm/account-details.php?id=1234  Did you check that only user with id 1234 can see this?  What if the attacker stole the session cookie of user with id 1234 @ MA K A S H | A K A S H M. C O M - T H A T W E B APPLICATION SECURITY GUY
  • 21. WHAT IS THE RISK? Data view of the web app shows two places of attack Attacking the web application Attacking the users of the said web application
  • 22. TYPES OF ATTACKS  All these attack the web application hosted and running on the web server  Injection attacks  SQL Injection – attacking the database  Command Injection – attacking the system  File Inclusion attacks  Local File Inclusion  Remote File Inclusion  HTTP Response Splitting – attacking HTTP @ MA K A S H | A K A S H M. C O M | T H A T W E B APPLICATION SECURITY GUY
  • 23. ATTACKING THE WEB APP USER All these attacks are meant to attack the user of the web application through it. Cross Site Scripting or commonly known as XSS Cross Site Request Forgery also called Sea- Surf Broken Authentication and Sessions Management @ MA K A S H | A K A S H M. C O M | T H A T W E B APPLICATION SECURITY GUY
  • 24. WHY SHOULD WE MAKE SECURE WEB APPS Malicious users, automated programs, ignorant users are all trying to break your web application as we speak. Web applications which get hacked, go down or fail while being used bring disrepute to your company, can attract financial damages and can be used to attack other targets on the web.
  • 25. HOW DO WE MAKE SECURE WEB APPS Always do server side validation. Any and every data point that originates from outside your web application is bad unless proved otherwise. GET, POST, COOKIE, FILES all requests are bad. So we need to ensure only trusted good data is processed, is allowed in the database and is rendered by the browser.
  • 26. INTEGRITY OF A WEB APPLICATION As the developer you need to ensure that your web application has integrity. The data that flows through it is known, can be trusted and improper data is dealt with in a known way. You can do with error handlers, exception handling and failing gracefully. If you look at it holistically the entire point of your web app is to shovel data from one point to another and do cool things with it.
  • 27. CROSS SITE SCRIPTING - XSS Injecting HTML/JS into the site.  Non-persistent/Reflected/First Order  Script is taken from the request and displayed in the browser directly  example.com/search?q=  Persistent/Stored/Second Order  First name of a registration form is vuln and the value is stored in the database  Hello
  • 28. XSS MITIGATION IN ASP.NET 2.0  Constrain input and Encode output  For inputs through server controls use validate controls like  RegularExpressionValidator  RangeValidator  For inputs from query strings, cookies, client side HTML  System.Text.RegularExpressions.Regex class  Encode output for html. Convert < to < “ to "  HttpUtility.HtmlEncode  Response.Write(HttpUtility.HtmlEncode(Request.Form[“foo"]));  Encode output for urls created from user input
  • 29. XSS MITIGATION IN ASP.NET 2.0  HttpUtility.UrlEncode  Response.Write(HttpUtility.UrlEncode(urlString));  Check that request validation is enabled in Machine.config and is not overwritten by the Web.config   You can set it to false for certain pages which might require rich text processing.  Client headers like user agent can be malicious as well.  Thumb rule, if its not your data consider it bad. If you can verify it, consider it trusted good data.  White listing helps in verifying good data more than black listing.  See examples at xssed.com  Try out MS Anti XSS Library http://www.codeplex.com/AntiXSS
  • 30. XSS MITIGATION IN PHP  Sanitize all globals ($_GET, $_POST, $_COOKIE)  Use strip_tags()  Use inpekt library code.google.com/p/inspekt  Escape everything before displaying  htmlentities(), htmlspeciachars()  Client headers like user agent can be malicious as well.  Thumb rule, if its not your data consider it bad. If you can verify it, consider it trusted good data.  White listing helps in verifying good data more than black listing.  See examples at xssed.com
  • 31. SQL INJECTION  Allowing SQL to be injected in the database query.  Most common attack point is the search of any dynamic website and registration forms. These two will be definitely talking to the database.  $sql = "SELECT * FROM table WHERE id = '" . Request.QueryString[„id‟] . "'";  id = ' ; DROP DATABASE pubs –  Excellent examples http://google.com/search?q=site:slideshare.net sql injection
  • 32. SQL INJECTION - MITIGATION  Sanitize input data. Check for lengths & types  Use type safe SQL parameterized queries for stored procedures or dynamic SQL queries  Parameter collection SqlParameterCollection using (SqlConnection connection = new SqlConnection(connectionString)) { DataSet userDataset = new DataSet(); SqlDataAdapter myCommand = new SqlDataAdapter( "LoginStoredProcedure", connection); myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
  • 33. SQL INJECTION - MITIGATION myCommand.SelectCommand.Parameters.Add("@name", SqlDbType.VarChar, 40); myCommand.SelectCommand.Parameters["@name"].Value = Request.QueryString[„name‟]; myCommand.Fill(userDataset); }  Avoid disclosing database error information   See a kickass example of stored proc used to hack more than hundred thousand websites  http://www.breach.com/resources/breach-security-labs/alerts/mass-sql-injection-attack- evolution  MS Source Code Analyzer to SQL Injection  http://www.microsoft.com/downloads/details.aspx?familyid=58A7C46E-A599-4FCB- 9AB4-A4334146B6BA&displaylang=en
  • 34. SQL INJECTION - MITIGATION  mysql_real_escape_string()  $dbquery = sprintf(“SELECT name FROM user WHERE id=„%s‟”, mysql_real_escape_string(„id‟));  Parameterized queries  $res = $query(“SELECT name FROM user WHERE id=?”, $id);  Standard mysql module in PHP doesn‟t allow for parameterized queries. You need mysqli  Stored Procedures  See a kickass example of stored proc used to hack more than hundred thousand websites  http://www.breach.com/resources/breach-security-labs/alerts/mass-sql-injection- attack-evolutio