Pesquisar na Comunidade
Mostrando resultados para as tags ''segurança''.
Encontrado 6 registros
-
import Foundation import Security // 生成RSA密钥对 func generateRSAKeyPair() throws -> SecKey { let parameters: [String: Any] = [ kSecAttrKeyType as String: kSecAttrKeyTypeRSA, kSecAttrKeySizeInBits as String: 2048 ] var error: Unmanaged<CFError>? guard let privateKey = SecKeyCreateRandomKey(parameters as CFDictionary, &error) else { throw error!.takeRetainedValue() as Error } return privateKey } // 使用公钥RSA加密文件 func encryptFile(withPublicKey publicKey: SecKey, inputFile: URL, outputFile: URL) throws { let inputData = try Data(contentsOf: inputFile) let encryptedData = SecKeyCreateEncryptedData(publicKey, .rsaEncryptionOAEPSHA512, inputData as CFData, nil)! try encryptedData.write(to: outputFile) } // 使用私钥RSA解密文件 func decryptFile(withPrivateKey privateKey: SecKey, inputFile: URL, outputFile: URL) throws { let encryptedData = try Data(contentsOf: inputFile) let decryptedData = SecKeyCreateDecryptedData(privateKey, .rsaEncryptionOAEPSHA512, encryptedData as CFData, nil)! try decryptedData.write(to: outputFile) } // 生成RSA密钥对 let privateKey = try generateRSAKeyPair() let publicKey = SecKeyCopyPublicKey(privateKey)! // 指定输入和输出文件路径 let inputURL = URL(fileURLWithPath: "elements.data") let encryptedOutputURL = URL(fileURLWithPath: "encrypted_elements.data") let decryptedOutputURL = URL(fileURLWithPath: "decrypted_elements.data") // 使用公钥RSA加密文件 do { try encryptFile(withPublicKey: publicKey, inputFile: inputURL, outputFile: encryptedOutputURL) print("文件已成功加密!") } catch { print("加密文件时发生错误:\(error.localizedDescription)") } // 使用私钥RSA解密文件 do { try decryptFile(withPrivateKey: privateKey, inputFile: encryptedOutputURL, outputFile: decryptedOutputURL) print("文件已成功解密!") } catch { print("解密文件时发生错误:\(error.localizedDescription)") }
-
Estou disponibilizando gratuitamente a versão BETA do meu projeto em andamento! Com ele, você pode mascarar a identidade do seu servidor e trazer sua VPS ou Dedicado de qualquer lugar do mundo para o Brasil. Estou liberando +1000 Portas e 1 IP para testes Acessar Website Em breve, operaremos com mais de 20 IPs em São Paulo! IMPORTANTE: permitir apenas que o IP do nosso serviço acesse a porta escolhida em nosso site! iptables -A INPUT -p tcp --dport SUA_PORTA -s 191.252.5.3 -j ACCEPT iptables -A INPUT -p udp --dport SUA_PORTA -s 191.252.5.3 -j ACCEPT iptables -A INPUT -p tcp --dport SUA_PORTA -j DROP iptables -A INPUT -p udp --dport SUA_PORTA -j DROP iptables-save > /etc/sysconfig/iptables
-
#!/usr/bin/perl use strict; use warnings; use POSIX ":sys_wait_h"; use Socket; use IO::Handle; my $limite_conexoes = 50; my $tempo_bloqueio = 4 * 3600; my %conexoes_por_ip; my $arquivo_ban = "ban.txt"; system("iptables -F"); system("iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT"); system("iptables -A INPUT -j DROP"); system("iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above $limite_conexoes -j REJECT --reject-with tcp-reset"); my $socket; socket($socket, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die ": $!"; setsockopt($socket, SOL_SOCKET, SO_REUSEADDR, 1) or die ": $!"; my $endereco = sockaddr_in(0, INADDR_ANY); bind($socket, $endereco) or die ": $!"; listen($socket, SOMAXCONN) or die ": $!"; while (1) { my $cliente = accept(NOVACONEXAO, $socket); my ($porta_cliente, $endereco_cliente) = sockaddr_in($cliente); my $ip_cliente = inet_ntoa($endereco_cliente); $conexoes_por_ip{$ip_cliente}++; if ($conexoes_por_ip{$ip_cliente} > $limite_conexoes) { bloquear_ip($ip_cliente); } print "Conexão de $ip_cliente na porta $porta_cliente aceita.\n"; close(NOVACONEXAO); } close($socket); sub bloquear_ip { my $ip = shift; open(my $ban_fh, '>>', $arquivo_ban) or die "Não foi possível abrir o arquivo $arquivo_ban: $!"; print $ban_fh "$ip\n"; close($ban_fh); system("iptables -A INPUT -s $ip -j DROP"); print "IP $ip bloqueado por $tempo_bloqueio segundos.\n"; sleep($tempo_bloqueio); system("iptables -D INPUT -s $ip -j DROP"); print "IP $ip desbloqueado.\n"; } DDOS Simulado com a ferramenta:Unicorn is a Win32 UDP flooding/DoS (Denial of Service)
-
"Importante: Quero ressaltar que todo conhecimento e métodos compartilhados aqui são apenas para uso pessoal. Eu não me responsabilizo por danos, prejuízos ou mau uso das informações fornecidas. O conhecimento é uma poderosa ferramenta que deve ser usada com responsabilidade. Cabe a cada um de nós garantir que aplicamos esse conhecimento de forma adequada, respeitando as leis, ética e diretrizes aplicáveis. Assim como qualquer outra fonte de informações, é fundamental verificar a veracidade e precisão dos conteúdos antes de utilizá-los. Recomendo sempre consultar fontes confiáveis e buscar orientação profissional quando necessário. Lembre-se de que cada um é responsável por suas próprias ações e decisões. Utilize o conhecimento adquirido de forma consciente e cuidadosa, levando em consideração as possíveis consequências. Estou aqui para fornecer informações e auxiliar no que for possível, mas não posso ser responsabilizado por qualquer dano ou prejuízo decorrente do uso indevido ou interpretação incorreta das informações compartilhadas. Aproveite o conhecimento de forma responsável e continue aprendendo! USE pw; -- Seleciona o banco de dados "pw" DELIMITER // DROP PROCEDURE IF EXISTS addGM_loop // CREATE PROCEDURE addGM_loop() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE id_value INT; DECLARE cur CURSOR FOR SELECT ID FROM users; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; DECLARE CONTINUE HANDLER FOR 1062 BEGIN END; OPEN cur; read_loop: LOOP FETCH cur INTO id_value; IF done THEN LEAVE read_loop; END IF; BEGIN CALL addGM(id_value, 1); END; END LOOP; CLOSE cur; END // DELIMITER ; CALL addGM_loop();
- 1 resposta
-
- 40
-
-
-
-
-
-
-
Pessoal, eu desenvolvi um script e resolvi postar pra vocês. É um script simples escrito em node, mas pode salvar alguém na hora do desespero. Escrevi isso pensando em um caso que houve recentemente de um funcionário sair brigado com os donos de um servidor, e pra se vingar, enviou 9999999 de gold pra todos os jogadores Em um momento dessas essa ferramenta pode evitar um wipe. Pra usar esta api você vai precisar instalar o node depois ir até o diretório da api e digitar os comandos: npm install e para rodar: npm start No arquivo .env você pode configurar o banco de dados, o limite de cash e o autoban, se quiser desabilitar. A porta você pode deixar fechado com acesso interno. Se quiser abrir seja lá qual for o motivo, mude a key no .env Também escrevi uma ferramenta de Chat com Autoban/auto mute com algumas camadas de proteção e outras dinâmicas. Pra quem tiver interessado, daqui a pouco irei postar o vídeo dela. Espero que seja útil pra alguém! whatch-cash-main.rar
-
"Importante: Quero ressaltar que todo conhecimento e métodos compartilhados aqui são apenas para uso pessoal. Eu não me responsabilizo por danos, prejuízos ou mau uso das informações fornecidas. O conhecimento é uma poderosa ferramenta que deve ser usada com responsabilidade. Cabe a cada um de nós garantir que aplicamos esse conhecimento de forma adequada, respeitando as leis, ética e diretrizes aplicáveis. Assim como qualquer outra fonte de informações, é fundamental verificar a veracidade e precisão dos conteúdos antes de utilizá-los. Recomendo sempre consultar fontes confiáveis e buscar orientação profissional quando necessário. Lembre-se de que cada um é responsável por suas próprias ações e decisões. Utilize o conhecimento adquirido de forma consciente e cuidadosa, levando em consideração as possíveis consequências. Estou aqui para fornecer informações e auxiliar no que for possível, mas não posso ser responsabilizado por qualquer dano ou prejuízo decorrente do uso indevido ou interpretação incorreta das informações compartilhadas. Aproveite o conhecimento de forma responsável e continue aprendendo! USE pw; -- Seleciona o banco de dados "pw" DELIMITER // DROP PROCEDURE IF EXISTS usecash_loop // CREATE PROCEDURE usecash_loop() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE id_value INT; DECLARE cur CURSOR FOR SELECT ID FROM users; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cur; read_loop: LOOP FETCH cur INTO id_value; IF done THEN LEAVE read_loop; END IF; CALL usecash(id_value, 1, 0, 9, 0, 1000000, 1, @error); END LOOP; CLOSE cur; END // DELIMITER ; CALL usecash_loop();