0:18 welcome back to the old wives absent tutorial series 0:21 my name is jerry hough 0:22 and this is at the sole number two 0:25 injection 0:26 uh... 0:28 this tutorial series is for web developers who want to write more secure 0:32 code and learning about injection attacks is a great place to start so in 0:36 the next ten minutes we're going to go through a common type of injection 0:41 tax condolences sequestration 0:44 holding people look at some other types of interaction tax i'll shoot some 0:48 current fixes tend towards the end of the video after twenty years and useful 0:53 particles and source code 0:55 where you can learn more 0:57 so let's get started 0:59 first of all injection tax are very serious problem 1:02 to give you some idea every few years violas foundation 1:06 puts out a list of the top security risks 1:09 or enterprise webapplications known as the philosophy 1:14 list reflects the collective judgment up 1:17 many many security professionals in the industry 1:19 and right now 1:20 it's halfway through the web applications in their opinion 1:25 injection 1:27 so this is definitely something every web architect 1:30 developer and tester needs to be very familiar with and what makes this so 1:34 dangerous israelis 1:35 easy to exploit 1:37 it's pretty common in web applications 1:40 and the impact can be quite quite severe 1:44 to make sure that we all have the same idea of what an injection attacks cheers 1:48 let's do a quick example of the kind of injection attack your most likely to see 1:54 sequel injection 1:55 let's imagine an application may contain specific forum asking for user data 2:01 and to keep things simple we're just going to focus on this one field the 2:04 name field 2:05 now as developers were normally told how the application should work 2:10 and then we created 2:11 so we imagine the user will fill out the form and then hit submit where the data 2:15 will leave the user's machine 2:18 will be sent across the internet 2:20 where we wind up entering our web application 2:23 now most web developers make heavy use of databases to store and retrieve data 2:30 and talk to the database 2:31 he's a language called sql 2:34 so very often the data that was entered by other users winds up as part of these 2:41 sequel statements 2:42 you can see the developers here joining our fragment of the sequel statement 2:47 together with the user supplied data to make a complete command 2:51 his command is sent to the database where the database interprets and runs 2:55 the so this is where the problems start 2:58 be complications does work but the way of the code was written he's definitely 3:03 not secure 3:05 so let's look at the same application but this time let's see what happens we 3:10 had a little extra something through the use of death 3:14 like last time elantra my name 3:16 but this time of the little secret levy 3:18 all it's a mixed 3:20 anderson request across the internet to the target web application 3:24 like before 3:25 the user supply data is joined together with the sequel but this time the bit of 3:30 sequel ait added three and of my name actually alters he intended purpose of 3:35 the sequel statement the quotes lina perfectly to make a balance equal status 3:41 this time instead of just like to direct return one name 3:44 pulls down albrecht 3:47 which is exactly 3:48 how attackers fourth attacks like this for example in a recent case attackers 3:54 store close to two hundred thousand uncritically user passwords five hundred 3:58 thousand user emails from a very popular 4:02 check website and another attempt to distinguish actions thirty million 4:07 customer records were stolen from a popular online website as you can see 4:13 sequel injections a huge risk 4:16 where single quote 4:18 leads to masturbate 4:20 as a result the attackers 4:22 taking over to the entire database server 4:25 for more information 4:27 contract out forced presentation called advance siegel injections 4:31 to operative system for control 4:34 fiber another dimeo 4:36 to make matters even worse it's not just databases any interpreter used by your 4:41 web application 4:43 can potentially have this problem 4:46 so what are the interpreters commonly used by web applications 4:50 well obviously databases 4:52 and for authentication very frequently you'll have held at servers 4:57 plus an array of xml based technologies like excess elke 5:01 xpath 5:02 another xml messaging for men's in addition most webapplications keep 5:07 logfile 5:08 which are not interpreted 5:10 attackers can actually inject into them new lines 5:14 so they can had fake log entries 5:17 in some cases we have webapplications pinhole shell scripts on the server 5:22 where if you're not careful 5:23 you could wind up submitting user supply data directly to the command line 5:29 essentially getting attackers shell access to your web server 5:33 definitely not a good thing and of course nearly every web browser has a 5:38 javascript interpreter 5:40 this type of injection he's still comin we had a special main foreign cross 5:45 expressing a_k_a_ express s which is the topic of the next episode 5:53 so now that we know this is a serious problem 5:55 how do we defend ourselves 5:58 let's deal with sequel injection first 6:01 personal please be aware that you cannot rely and javascript validation or by 6:05 sending data the at the postman 6:08 both of these techniques can be trivially circumvented using web proxy 6:11 which i will demonstrate an upcoming episode 6:15 if you're constructing sequel statements in your web application 6:19 make sure that you're using parameterized queries 6:23 parameterized queries are not vulnerable to sequined russian attacks 6:27 so if you're dynamically creating sequel statements 6:30 within your web application normally this is your best bet 6:35 to elicit a quick look at some code 6:39 dispersed example is in job so even this java code secret question mark 6:45 placeholder 6:46 penis sequel statement reluctant user data to go 6:50 now instead of the statement we're using prepared statement which allows us to 6:55 safely replace the question mark with the user data 7:01 nelson wanted dot next dotnet is almost the same 7:06 to put a token in the sequel statement we want to see if we have certain user 7:11 data 7:12 weekend instantiate the parameter instance 7:14 and kelly the token names and value 7:18 family have been parameter to come 7:23 and now another solution is to not construction dynamics equal statements 7:27 in the coding 7:29 and instead using stored procedures 7:33 there few security best practices you'll need to follow when constructing and 7:37 calling the procedures which will cover here but i'll put you to some resources 7:41 on the web for learning more about that 7:45 so those at your best bets for cgl injection but what about the other 7:50 interpreters that we discussed 7:51 like x ml command-line 7:54 l baton and some of the others were those cases those into the first do not 7:59 support parameterized expressions 8:01 soap you're going to have to fill cold the users 8:05 before you can caffeinated together mcmahon 8:09 help each interpreter is going to require specific encoder 8:14 i'm going to show you on the web for you can download set off in coders they can 8:18 help you defend yourself against these types of injection 8:24 their is actually quite a bit more about injection attacks 8:27 that you want to know about 8:29 this video however is just getting a brief introduction just the tip of the 8:33 iceberg 8:34 but hopefully now you have an idea of what injections are a few of the defense 8:38 is that you can use to defend yourself 8:40 which need to find out more to rebuild 8:44 so let's turn to the full wasp website 8:47 which is full of articles for you or read 8:49 in a way to give yourself a more complete understanding of injection 8:53 attacks 8:55 definitely read the sequel injection prevention teaching which will give you 9:00 more information about 9:01 paired stevens stored procedures and escaping data for then check out the 9:09 articles on xpath injection log injection and command injection 9:16 in the last thing i want to show you before you can get those encoders they 9:21 spoke about before for good reference examples i mean coders find people 9:26 watched enterprise security p_p_i_ 9:28 also known as he's happy 9:31 happiest free and open source bankers you to take a look at the source code 9:35 and check out the encoders which you can use improperly encoding on trust and a 9:39 dominant find yourself against attacks we discussed 9:44 that's it for this episode people lost absa christians 9:49 for the insights on international trade 9:53 links to all the particles and resources mentioned in his episode 9:56 can be found at three c_d_t_ 10:01 special thank you to all those who gave feedback to the show 10:04 he should've follow our youtube channel and get notified when the officers 10:08 become available 10:10 jerry hough 10:12 teleport argentina

November 12, 2012

2 Comentários

00:18 boas-vindas de volta aos carochinha ausente tutorial série 0:21 meu nome é Jerry hough 00:22 e este é o número único de injeção dois 00:25 00:26 uh ... 00:28 desta série tutorial é para desenvolvedores web que querem escrever mais seguro código 0:32 e aprender sobre ataques de injeção é um ótimo lugar para começar assim em 0:36 os próximos dez minutos que vamos passar por um tipo comum de seqüestro de injeção 00:41 condolências fiscal 00:44 pessoas segurando olhar para alguns outros tipos de impostos interação eu vou atirar algumas correções 00:48 atuais tendem para o final do vídeo, depois de vinte anos e úteis partículas 0:53 e código fonte 0:55 onde você pode aprender mais 0:57 então vamos começar primeiro 00:59 de todos os impostos de injeção são problema muito grave 01:02 para lhe dar uma idéia a cada poucos anos violas fundação 1:06 coloca uma lista de topo riscos de segurança WebApplications 1:09 ou empresa conhecida como a lista de filosofia 01:14 reflete o julgamento coletivo até 1:17 muitos muitos profissionais de segurança na indústria de 1:19 e 1:20 agora é meio caminho através das aplicações web em sua opinião 1 : 25 injeção 01:27 então isso é definitivamente algo que todo desenvolvedor web arquiteto 1:30 e testador precisa ser muito familiarizado e que torna este israelenses tão perigoso 01:34 01:35 01:37 fáceis de explorar é muito comum na web 01:40 aplicações eo impacto pode ser muito graves 1:44 bastante para ter certeza de que todos nós temos a mesma idéia de que uma injeção ataca aplausos 01:48 vamos fazer um rápido exemplo do tipo de injeção de atacar o seu mais provável para ver 01:54 sequela injeção 01:55 vamos imaginar um aplicativo pode conter fórum específico pedindo 2:01 dados do usuário e para manter as coisas simples que só vai se concentrar neste campo as 02:05 um campo 02:04 nome agora como desenvolvedores eram normalmente contou como o aplicativo deve trabalhar 2:10 e 2:11 criamos para nós imaginamos que o usuário deverá preencher o formulário e, em seguida, bateu apresentar onde a 2:15 dados deixará 02:18 do usuário da máquina será enviado através da internet 02:20 onde acabam entrando em nosso 2:23 aplicação web agora os desenvolvedores web mais fazem uso pesado de bancos de dados para armazenar e recuperar dados 02:30 e falar com o banco de dados de 2:31 ele é uma linguagem chamada sql 02:34 assim, muitas vezes os dados que foram inseridos pelos ventos de outros usuários, como parte das demonstrações sequela 02:41 02:42 você pode ver os desenvolvedores aqui se juntar ao nosso fragmento das 2:47 declaração sequela juntamente com o usuário os dados fornecidos para fazer uma 02:51 comando completo seu comando é enviado para o banco de dados onde o banco de dados interpreta e executa a 2:55 de modo que este é o lugar onde os problemas começam 02:58 haver complicações funciona, mas o caminho do código foi escrito que ele definitivamente não é 3:03 garantir 3:05 então vamos olhar para a mesma aplicação, mas desta vez vamos ver o que acontece, 3:10 teve um pouco algo extra através do uso de 3:14 morte como elantra última vez 3:16 meu nome, mas desta vez do pouco segredo imposto 03:18 tudo é um misto 3:20 pedido anderson em toda a Internet para o alvo 03:24 de aplicações web como antes 03:25 os dados de abastecimento do usuário é se uniram com a sequela, mas desta vez o pouco de 3:30 sequela ait acrescentou três e de meu nome, na verdade, altera ele o destino de 3:35 a declaração sequela a lina citações perfeitamente para fazer um estado de equilíbrio igual 3:41 desta vez em vez de apenas gostaria de dirigir um nome de retorno 3:44 puxa para baixo albrecht 3 : 47, que é exatamente como os atacantes 3:48 ataques quarto como este, por exemplo, em uma recente loja atacantes caso 03:54 perto de 200 mil senhas de usuários acriticamente 500 mil e-mails de usuários 3:58 de um site de verificação muito popular 04:02 e outra tentativa de distinguir as acções 30000000 04:07 registros de clientes foram roubados de um popular site on-line como você pode ver 4:13 injeções sequela um risco enorme 04:16 04:18 onde aspas simples leva a se masturbar 4:20 como resultado os atacantes 04:22 assumir as 4:25 banco de dados inteiro do servidor para obter mais informações 4:27 contrato fora apresentação forçada chamada antecedência siegel injeções 4:31 para o sistema operacional para o controle de outra fibra 4:34 4:36 DiMeo para tornar as coisas ainda pior que não é apenas bancos de dados qualquer intérprete usada por seus aplicativos 04:43 04:41 web pode potencialmente ter esse problema 04:46 então o que são os intérpretes comumente utilizados por aplicações web 04:50 bem, obviamente bancos 04:52 e para autenticação muito freqüentemente você vai ter lugar no servidores 04:57, mais um conjunto de tecnologias baseadas em XML, como o excesso de elke 05:01 05:02 xpath outro de mensagens xml para os homens, além disso a maioria dos WebApplications manter logfile 05:08 05:07 que não são interpretadas 5: 10 atacantes podem injetar na verdade eles novas linhas 5:14 para que eles possam teve entradas de registro falsos 5:17 em alguns casos, temos WebApplications shell scripts pinhole na 5:22 servidor onde se você não for cuidadoso 05:23 você pode acabar se enviar dados de fornecimento do usuário diretamente para as 05:29 de linha de comando, essencialmente, ficando atacantes acesso shell para o seu servidor web não 05:33 definitivamente uma coisa boa e, claro, quase todos os web browser tem um interpretador de JavaScript 05:38 05:40 este tipo de injeção ele ainda está chegando, teve um especiais principais 5:45 cruzadas estrangeiros expressando a_k_a_ expressa s, que é o tema do próximo episódio 5:53 então agora que sabemos que este é um problema sério 5:55 como podemos nos defender 5:58 vamos lidar com injeção primeira sequela 06:01 pessoal esteja ciente de que você não pode confiar e validação javascript ou por envio de dados a 6:05 do 6:08 carteiro ambas as técnicas podem ser trivialmente contornado utilizando 06:11 web proxy que eu irá demonstrar um episódio 6:15, se você está construindo declarações sequela em seus 6:19 de aplicativos web se certificar de que você está usando consultas parametrizadas 6:23 consultas parametrizadas não são vulneráveis ​​a ataques de lantejoulas russian 6:27 isso, se você ' re criar dinamicamente declarações sequela 6:30 dentro de sua aplicação web normalmente esta é a sua melhor aposta 6:35 para provocar uma rápida olhada em alguns códigos 6:39 dispersos exemplo é no trabalho por isso mesmo este código java pergunta secreta marca de espaço reservado 06:45 6 : 46 pênis sequela declaração os dados do usuário relutante em ir 6:50 agora em vez da instrução que estamos usando declaração preparada que nos permite 6:55 segurança substituir o ponto de interrogação com os dados do usuário 7:01 nelson queria ponto próximo dotnet é quase 7:06 o mesmo que colocar um símbolo na declaração sequela queremos ver se temos os dados do usuário determinados 07:11 fim de semana 07:12 instanciar o parâmetro de instância 7:14 e Kelly os nomes simbólicos e familiares valor 07:18 ter sido parâmetro para chegar 7:23 e agora outra solução é dinâmica e não de construção declarações iguais 7:27 na 07:29 de codificação e em vez de usar procedimentos armazenados 7:33 há práticas de segurança recomendadas, você precisará seguir ao construir e 7: 37 chamando os procedimentos que cobrem aqui, mas eu vou colocá-lo para alguns recursos 07:41 na web para aprender mais sobre o que 7:45 para os que estão em suas melhores apostas para injecção cgl mas que sobre o outro 07:50 intérpretes que discutimos como 7:51 x ml de linha de comando 07:54 l batuta e alguns dos outros foram esses casos aqueles em o primeiro não fazer expressões de apoio 07:59 parametrizados 08:01 sabão que você vai ter de preencher o frio 08:05 usuários antes de cafeína juntos mcmahon 8:09 ajudar cada intérprete vai exigir 08:14 codificador específicos que eu vou te mostrar na web para que você pode baixar partiu em codificadores que podem ajudá-lo a 8:18 defender-se contra esses tipos de injeção 08:24 sua é realmente um pouco mais sobre ataques de injeção de 8:27 que você quer saber sobre 8:29 este vídeo no entanto está apenas começando uma breve introdução apenas a ponta do iceberg 08:33 08:34 mas espero que agora você tem uma idéia do que as injeções são algumas das 8:38 defesa é que você pode usar para se defender 8:40 que precisam de saber mais para reconstruir 08:44 Então vamos para o pleno 08:47 vespa site que está cheio de artigos para você ler ou 8:49 de forma a dar-se uma compreensão mais completa da injeção 08:53 08:55 ataca definitivamente ler a sequela ensino prevenção de injeção, que lhe dará 09:00 mais informações sobre os procedimentos emparelhados 09:01 stevens e dados armazenados em fuga para então verificar os artigos sobre xpath 09:09 injeção log injeção e 09:16 injeção de comandos na última coisa que eu quero lhe mostrar que você possa obter os codificadores que 9 : 21 falou antes de exemplos de referência boas quero dizer codificadores encontrar pessoas assistiram 9:26 empresa de segurança p_p_i_ 9:28 também conhecido como ele está feliz 09:31 mais felizes banqueiros livres e de código aberto que você dê uma olhada no código fonte 9:35 e confira os codificadores que você pode usar indevidamente a codificação na confiança e um dominante 9:39 encontrar-se contra ataques discutimos 9:44 que é ele para este episódio pessoas perderam ABSA cristãos 09:49 para os insights sobre o comércio internacional 09:53 ligações para todas as partículas e os recursos mencionados no 9:56 Seu episódio pode ser encontrado em três c_d_t_ 10:01 agradecimento especial a todos aqueles que deram feedback para o 10:04 show ele deveria ter seguir o nosso canal no YouTube e ser notificado quando o 10:08 oficiais ficam disponíveis 10:10 jerry hough 10:12 teleporte

November 12, 2012

Fala sério ...

November 12, 2012
Aprenda Inglês em apenas 5 minutos por dia. De graça.