Valider et non pas juste parser !

La plus importante manière d’eviter une injection est de valider une donnée ! et non pas juste la parser! 

 

Meme si vous pensez que le parser doit générer une Exception.

Exemple sur une question venue ce matin et utilisant la classe suivante : 

https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#parse(java.lang.String)

Et oui, le code suivant ne génère pas d’exception : 

 

import java.lang.String;
import java.text.*;
import java.util.Calendar;
import java.util.Date;

public class Main {

publicstaticvoid main(String[] args) {
DateFormat DFormat
= new SimpleDateFormat("dd/ mm/ yy");
try {
Calendar cal = Calendar.getInstance();

// Use of parse() method to parse
// Date From String
String dt = "10/ 27/ 16 <script>alert(1);</script>";
System.out.println("The unparsed"
+ " string is: " + dt);
// Parse string. if exception this is not a date
DFormat.parse(dt);

System.out.println ("Date parse and no exception, so use the string: " + dt);

} catch (ParseException excpt) {
excpt.printStackTrace();
}
}
}

Ce code produit : 

The unparsed string is: 10/ 27/ 16 <script>alert(1);</script>
Date parse and no exception, so use the string: 10/ 27/ 16 <script>alert(1);</script>

 

Toujours vérifier et/ou utiliser la valeur de retour d’une méthode si il y en a une ! 

#appsec #appsecfr #securecoding #java 

Certifications AppSecFR

AppSecfr(r) lance ses certifications a destination des développeurs. Fort de 10 annees de formation et de plusieurs milliers de personnes formées , AppSecFR lance les formations certifiantes en sécurité Web.

3 niveaux sont disponibles :

  • AppSec basic ; témoigne d’une capacité à détecter les failles du Top10 Owasp  et de proposer des remediations associees
  • AppSec spécialiste ; témoigne d’une capacité AppSec basic + de la capacité à maîtriser les concepts de l’ASVS et d’en decliner des exigences et remediations eventuelles
  • AppSec expert ; témoigne de la capacité d’un AppSec spécialiste plus de la capacité a mener un Threat Modeling sur une application Web.

AppSecFR(r) est prestataire de formation reference auprès de la DIRECTTE, prestataire reference auprès de Cybermalveillance.gouv.fr .

Contactez nous pour plus d’informations

Recrudescence des attaques de SPAM a la Sextortion

Depuis quelques semaines , il semble que cela revienne a la mode. La fameuse vidéo vous demandant des bitcoins est de retour en force. La remontée du cours du BitCoin y-est-elle pour quelque chose  ? 

 

En tout cas une fois encore les conseils de  CyberMalveillance.gouv.fr sont a utiliser : 

 

Que faut-il faire si on reçoit ce type de message ?

1. Ne paniquez pas !

2. Ne répondez pas !

3. Ne payez pas !

4 – Conservez les preuves !

5. Changez votre mot de passe

6. Déposez plainte !

 

La trouvaille du jour

Un petit code tout simple trouvé dans une application dont je revoyais le code….

<%

// Should we display the stacktrace directly ?

Cookie[] cookies = request.getCookies();

boolean showStackTrace = false;

for(int i = 0; i < cookies.length; i++) {

Cookie c = cookies[i];

if( "showStackTrace".equals( c.getName() ) ) pageContext.setAttribute("showStackTrace", Boolean.TRUE);

}

 

J’ai conclu en mettant les éléments suivants  :

  1. Joli code qui respecte les standards de développements internes et les bonnes pratiques de code sécurisé
  2. Portion de code ne comportant aucune vulnérabilité technique connue a la date de la revue
  3. Code correctement commenté
  4. Remarque : Est-ce bien nécessaire d’avoir une vulnérabilité logique aussi importante dans le code de l’application XXXX ?
  5. Peut-on en parler a Maitre Yoda  ?

Liens collectés 02/24/2018