Dark Web e Malwares na internet, quanto custa?
Neste artigo irei descrever quanto custa, como é fácil encontrar e como é um exemplo básico de um malware vendido na Dark/Deep Web. Lembre-se, o intuito aqui não é incentivar ninguém a cometer esse tipo de crime, é de caráter informativo e muito mais para prevenção. Esta peça foi criada como pesquisa, não para ajudá-lo a se tornar um criminoso.
[ Hits: 5.033 ]
Por: Fabricio Santos Brasileiro em 04/02/2024
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class UserAuthentication { public static void main(String[] args) { String username = "admin'; DROP TABLE users; --"; String password = "password"; try { // Establish database connection Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase", "username", "password"); Statement statement = connection.createStatement(); // Construct the SQL query String query = "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'"; // Execute the query ResultSet resultSet = statement.executeQuery(query); // Check if a matching user was found if (resultSet.next()) { System.out.println("Authentication successful"); } else { System.out.println("Authentication failed"); } // Close database connections resultSet.close(); statement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }Neste exemplo, o código é vulnerável a um ataque SQL INJECTION porque conecta diretamente a entrada fornecida pelo usuário (a variável de nome de usuário) na consulta do SQL sem sanitização ou parametrização adequada.
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserAuthentication { public static void main(String[] args) { String username = "admin'; DROP TABLE users; --"; String password = "password"; try { // Establish database connection Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase", "username", "password"); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users WHERE username=? AND password=?"); statement.setString(1, username); statement.setString(2, password); // Execute the query ResultSet resultSet = statement.executeQuery(); // Check if a matching user was found if (resultSet.next()) { System.out.println("Authentication successful"); } else { System.out.println("Authentication failed"); } // Close database connections resultSet.close(); statement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }Neste exemplo melhorado, são usadas instruções preparadas e a entrada do usuário é parametrizada definindo espaços reservados (?) e associando os valores apropriados à instrução.
Terceirização de segurança gera dúvidas em profissionais de TI
Servidor de autenticação 802.1x com Freeradius
Mudança de hábito: autenticando usuários em base de dados MySQL
Elaborando uma política de segurança para a empresa
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (4)
Aprendendo mais sobre Linux com livro (6)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (6)