Busca

A emoção dos jogos na sua casa!

Bem vindo ao blog aqui será divulgado o que existe de mais atual no mundo dos jogos.

Evolua com a tecnologia! O seu mundo é aqui!

Tudo sobre tecnologia, hardware, rede, próximos a você em um piscar de olhos.

Os dispositivos móveis diminuiram, e a sua liberdade aumentou!

Agora você pode ficar por dentro das maiores inovações dos novos celulares, tablets e notebooks.

Fique por dentro das atualizações do seu sistema operacional favorito!

Os sistemas operacionais estão mais estáveis e confiáveis com o passar do tempo. saiba tudo sobre o windows, osx e linux.

domingo, 31 de maio de 2009

Firefox Bad Request 400 Error pt_br (Erro na linguagem do arquivo prefs.fs)















A um ano atrás eu tive uma surpresa, o firefox na versão 2.0.0.13 começou a apresentar esse erro ai de cima, e ao digitar qualquer url ele mandava o mesmo erro, 400 bad server, depois de procurar na internet e não achar nada, tive que me virar, e hoje lembrei disso sei lá eu por que e estou compartilhando.

Começei a abrir os arquivos do usuário do firefox um por um e ficar tentando entender cada um.

Eu deparei com o prefs.js, mas antes de editar os arquivos eu fuxiquei as opções do firefox uma por uma, e em avancado> idioma, eu deparei com duas entradas [pt_BR], isso é quem causa esse erro, eu até hoje não sei o que pode ter causado isso, mas enfim, consegui resolver.

Qualquer página que você digite ele vem com o mesmo erro "400 error bad request".

veja:
















Basta aplicar as permissões de root no arquivo prefs.js, pois ela não deixa escrever as entradas no arquivo, sendo que o firefox deve ser executado pelo usuário local sem permissão root, pôis são os que tem permisão para executar os atalhos do firefox no menu, assim não dá o bendito erro.

Vamos por partes.

Abra o terminal e vá em:

# /home/camex[usuario]/.mozilla/pt.0nbsap.default
OBS: o diretório "pt.0nbsap.default", pode não ter esse nome mas com certeza será outro qualquer, basta ver um nome embaralhado e entrar nele, isso é gerado aleatóriamente caso seja criado um novo usuário para o firefox.

O arquivo responsável por isso é o "prefs.js".

Ao edita-lo você verá as entradas:
user_pref("intl.accept_languages", "pt_BR", pt_BR);
user_pref("intl.accept_languages", "pt_BR", \npt_BR);

Para ver o resultado apague todas as linhas citadas acima, salve o arquivo, e aplique as permissões 444 no mesmo.

# chmod 444 prefs.js

Feche o firefox e abra novamente, você verá que o problema foi resolvido, aqui funciona, caso você erre faça de novo.

Se me perguntar por que isso acontece eu não sei, mas depois de ficar algum tempo quabrando a cabeça e com bastante sorte eu consegui resolver, pois não encontrei nada na internet, não sei dizer também se isso acontece com as versões mais novas, eu vi isso apenas na minha distro, nunca tinha visto esse erro antes, mas estou postando depois de muito tempo, por que pode ajudar alguem na mesma situação.

domingo, 24 de maio de 2009

Mudando imagem de boot do grub / Menu gfx (Funciona)

Andei procurando na internet como mudar a imagem de boot do grub, mas cada um inventa uma ideia, um monte de receita de bolo com programa e para mim isso não cola é perda de tempo e não funciona.

Para resolver de vez esse problema, vou explicar rápido como resolver isso.

Primeiro crie uma nova imagem com 640x480, faça isso no gimp ou crie a imagem de fundo em qualquer editor de imagem do seu gosto, e salve com pouca qualidade, a imagem deve ser pequena, pois caso fique grande da erro e não funciona.

Depois de criar a imagem jpg abra no gimp, vá em Image > Mode > Indexed.

Em "generate optimum palette", coloque no "máximum number of color", 255.

Ainda nessa tela em "Dithering", coloque "none".

Veja:

















Salve a imagem como "background.pcx", no diretorio "/home/camex".


Abra o terminal e crie o diretorio.

# mkdir /home/camex/menu

# cd /home/camex/menu

# cp /boot/message .

# cpio -idv < message

Copie a imagem do diretorio camex para a pasta menu

# cp ../background.pcx ../menu/background.pcx

Mande substituir.

# rm -rf message

Criando novamente o message com a imagem alterada



# ls

# cpio -ov > message

Digite os arquivos um por um exibidos pelo ls.

16x16.font
background.pcx
help.en
init
languages
texts.en

Aperte "control + C", para sair da tela.

Pronto a imagem foi gerada, copie para a pasta boot.

# cp message /boot

Mande substituir.


Nota:
A imagem deve ser criada primeiro em jpg e diminuida ao máximo que der, para não gerar um arquivo grande dando erro na hora do boot, pois ao criar o arquivo pcx ele aumenta, criando um arquivo com tamanho maior que o permitido, então não esqueça de criar um arquivo pequeno e indexar.

A imagem ficou esquisita de ver, pois apliquei o primeiro efeito que vi pela frente, por tanto não leve isso em consideração.

Veja como fica:


quarta-feira, 20 de maio de 2009

Desmontando notebook IBM (thinkpad T21)

Hoje a maioria dos notebooks modernos, não são tão difícil de desmontar, pelomenos o mínimo, para fazer uma manutenção ou limpeza, que com o decorrer do tempo sempre é valido que seja feito.

Eu deparei com um problema no meu notebook antigo, pois ao carregar o sistema operacional, ele desligava, eu imaginei que pudesse ser alguma coisa relacionada a memória, isso é bem típico da mesma.

Mas nada adiantou, então resolvi criar coragem e desmontei, o básico para fazer uma revisão geral, apena não tirei o LCD, pois não havia necessidade de remove-lo.

As imagens que você irá encontrar abaixo são apenas um básico exemplo de como monta-lo.

Caso você tenha o mesmo modelo de notebook, ou nessa mesma serie T20, T21, T22, T23, basta apenas baixar o manual do notebook, relacionado ao hardware e iniciar a desmontagem, é mais garantido, pôis caso você nunca tenha desmontado um note na vida, não compença querer imaginar como desmonta, pois corre o risco de quebrar alguma coisa.

Já avisando de ante mão, para poder trabalhar na desmontagem e na re-montagem seja cuteloso o máximo que puder e tenha mão leve, pois qualquer vacilo quebra o notebook, não é a mesma coisa que desmontar um computador de mesa, está avisado...

Segue abaixo as imagens uma breve explicação dos ocorridos, lembrando que os passos são de montagem, que fique claro, para desmontar use o manual do seu notebook, mesmo que não seja o mesmo modelo do seu notebook, todos tem um manual de hardware, basta procurar no site responsável.

Link do manual:
http://www.2shared.com/file/5872317/8939ccd/t20_hw_maintenance_manual.html























quinta-feira, 7 de maio de 2009

Remote Buffer Overflow reverse shell kernel 2.6.14

Veja esse pequeno video:




Reverse buffer overflow linux kernel 2.4 from windows

Esse video serve para mostrar como funciona o buffer overflow, nao eh nada simples fazer um overflow, eh preciso saber programar em assembly e no minimo alguma linguagem que voce domine, e um otimo conhecimento sobre linux, mas como eu sou louco por linux, para mim isso nao eh misterio.




segunda-feira, 27 de abril de 2009

Evitando SQL INJECTION

O sql injection, retorna valores das tabelas do banco de dados.
Conhecida como tabela query.

Ele é usado como ataque, para retornar senhas e logins de sites vulneráveis.
Só é retornado os valores caso o sistema de banco de dados esteja vulnerável, o banco de dados em si não é responsável por isso, e sim o código php mal escrito.

Veja um código vulnerável:

SELECT * FROM users WHERE id = $_GET['id']


O metodo $_GET, permite que você pegue no servidor os dados dos usuários, como o GET, tem o POST, para login bypass.

O que acontece ao digitar no navegador :

http://site.com/vuln.php?id=1 and 1=1

Id:1
Username:admin

Será retornado os dados dos usuários, caso nada seja retornado o servidor não esta vulnerável.

Eu recomendo como source de blog o e107, a uns tempos atrás passei horas procurando por vulnerabilidade nos arquivos php e não encontrei nada, não coloco minha mão no fogo mas pareceu seguro.


Deixarei aqui o sql que usei para fazer os testes, basta vc inserir no seu phpmyadmin, em sql, ou salvar como database.sql e importar, tirando apenas o cabeçalho.

----------database.sql-------------------

-- phpMyAdmin SQL Dump
-- version 3.1.4
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Abr 28, 2009 as 03:20 AM
-- Versão do Servidor: 5.0.51
-- Versão do PHP: 5.2.6-1+lenny2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Banco de Dados: `base`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `users`
--

CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL,
`username` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`email` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `users`
--

INSERT INTO `users` (`id`, `username`, `password`, `email`) VALUES
(1, 'admin', 'secret_pass', 'admin@site.com'),
(2, 'maria', 'teste123', 'maria@site.com'),
(3, 'pedro', 'teste333', 'pedro@site.com'),
(5, 'marcos', 'gsgsdh', 'marcos@site.com');

Agora o código do arquivo vulnerável.

-------------vuln.php-------------------

as linhas:

$id = $_GET['id'];
$id_escape = addslashes($id);
$sql = mysql_query("SELECT * FROM tabela WHERE id='{$id}'");

Corrigem o sql injection.

Veja o codigo completo:


include ("config.php");
$id = $_GET['id'];
$id_escape = addslashes($id);

$sql = mysql_query("SELECT * FROM tabela WHERE id='{$id}'");


while($linha = mysql_fetch_assoc( $sql )) {
// Print out the contents of each row into a table
echo ""; 
$id = $linha['id'];
$titulo= $linha['titulo'];
echo ""; 
$texto = nl2br($linha['texto']);
echo "Titulo:$titulo
Texto:$texto";

}
?>
Para fazer o codigo do vuln.php funcionar execute: "http://localhost/vuln.php?id=1 and 1=1", os dados do banco de dados seram retornados, indicando que o servidor esta vulnerável.

Esse é o primeiro passo.

Siga os códigos que indicarei e veja como as coisas se saem, por exemplo sempre que for executado um código sql e o valor for verdadeiro, sera retornado os dados do usuário, caso seja falso, nada será retornado ou você verá um erro como se algum código estivesse errado.

http://localhost/vuln.php?id=1 and 1=1

id:1
usuario:admin

Descobrindo o número de colunas.

Para descobrir o número de colunas, você deve ir aumentando o número em ordem crescente,até retornar um valor falso assim você saberá que o último valor é o verdadeiro, por exemplo você tem 4 colunas, então os códigos devem ser digitados um por um mas no exemplo uso 1,2,3,4, para simplificar, "order by 1,2,3,4" será retornado como valor verdadeiro pois existem 4 colunas, caso você coloque 1,2,3,4,5, retornará valor falso, então sabemos que são 4 colunas.

Você deve ir mudando os números até retornar valor falso, assim descobrindo qual é o ultimo verdadeiro, conseguindo saber o número certo.
http://localhost/vuln.php?id=1 order by 1

id:1
usuario:admin


http://localhost/vuln.php?id=1 order by 2

id:1
usuario:admin


http://localhost/vuln.php?id=1 order by 3

id:1
usuario:admin


http://localhost/vuln.php?id=1 order by 4

id:1
usuario:admin
Se você colocar o order by 5 retornará valor falso descobrindo que são 4 colunas

http://localhost/vuln.php?id=1 order by 5
Sem colunas



Agora vamos aprender a corrigir a falha.


$id = mysql_real_escape_string($_GET['id']);
$sql = "SELECT * FROM users WHERE id = '".$id."'";
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {

$res = stripslashes($row['$res']);

}

A função acima adiciona, backslashs, no servidor sql, tratando de corrigir os erros não permitindo retornar os valores do método $_GET.

Então o seu código novo e corrigido ficará assim:


------------- vuln_corrigido.php---------------


$host = 'localhost';
$dbuser = 'root';
$dbpass = 'senha_do_bando_de_dados_sql';
$dbname = 'base';


$db = mysql_connect($host, $dbuser, $dbpass);
mysql_select_db($dbname,$db);
$id = mysql_real_escape_string($_GET['id']);
$sql = "SELECT * FROM users WHERE id = '".$id."'";
$query = mysql_query($sql);
if(@mysql_num_rows($query)==0){
die('Sem colunas');
}while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {

$res = stripslashes($row['$res']);

}
$result=@mysql_fetch_row($query);

echo "ID: ".$result[0]."
";

echo "Usuario(user): ".$result[1]."
";

// echo "Password: ".$result[2]."
";

echo "";
die();
?>

-----------------------------------------
Agora você pode testar os códigos sql citados acima, o banco de dados não irá retornar os valores guardados na tabela query.

Vamos ao teste...

http://localhost/vuln_corrigido.php?id=1 and 1=1
id:
usuario:
Nada será retornado, seu servidor não esta vulnerável a sql injection, o código foi corrigido.

Então é isso, caso tenha alguma dúvida comente que estarei solucionando seu problema em breve.


Caso encontre algum erro, comente ou mande um e-mail para:camexlinux09[at]gmail[dot]com









segunda-feira, 30 de março de 2009

Camex Linux NV

# Download camex NV
Resolvi desenvolver um novo sistema, com um kernel mais novo, baseado no kanotix.
Contando que o sistema antigo baseado no knoppix 3.6, estava meio que ultrapassado, embora eu tenha conseguido um bom resultado com ele, dei uma boa levantada no sistema, com relação ao que ele era, sem contar com as ferramentas inclusas, que para quem gosta de segurança é um prato cheio, mas hoje não a utilizo mais esta guardada em um hd.

Como nunca postei os isos dos meus sistemas, se bem que no inico do desenvolvimento do camex 1.0 eu cheguei a criar um servidor disponibilizando o iso, mas agora ta meio difícil, por conta da competição e também por que apenas sou eu quem uso o sistema na minha maquina.

E todo dia mudo alguma coisa então não é nada legal postar um iso e ficar lançando uma correção a cada hora, no mínimo alguns meses para ter o sistema estável ao ponto de não ter erros de programação, e muito menos de código.

O sistema desse post tem o mesmo nome, coisa que eu deveria ter mudado, não é o mesmo dos posts de baixo.

Esse aqui usa um kernel mais novo, com algumas vantagens a mais, e não é voltado a segurança, é para uso desktop normal, para computador pessoal.

Ele conta com detecção de pendrives, tem um novo módulo para deteção de web cam, pode ser visto abaixo, na 5ª foto no canto esquerdo, é uma webcam moderna, e foi detectada sem problemas, após a instalação do sistema é preciso uma configuração básica da placa de rede, caso o micro esteja em rede interna.

Vou especificar alguns softwares como skype, amsn(msn, na versão mais nova), k3b(gravação cd/DVD), Xmms(Player de Musica mp3),Kaffeine(Player de DVD), Iceweacel(Firefox, com plugins flash player já instalados), enfim são alguns dos que me lembro.

Utilizo o Camex Linux no meu desktop e não apresenta nenhum tipo de problema ou dor de cabeça, consigo fazer tudo o que faria em qualquer outro linux, claro não tem as mesmas parafernalhas que o ubuntu, que por sinal num quero ver nem pintado de ouro.


Chega de embromação colocarei alguns screenshots do sistema ainda em desenvolvimento.











terça-feira, 20 de janeiro de 2009

Camex Linux 0.2 - Visual mais elegante...

# download camex 0.2
Depois de algum tempo, sem tocar na distribuição, por conta das sources lists do oldstable, consegui de certa forma resolver o problema.

Já tentei desenvolver o camex linux do knoppix 5.1, kanotix 2003, mas sempre vem em mente "Tudo de novo não".

Se tratando que o sistema vem com um iso de 700 MB mais as customizações, fica em 800 MB, ai nos vem em mente diminuir a distro, passar um pente fino, removendo um monte de lixo deixando-a mais leve.

Levando em consideração a falta de pacotes, do oldstable, e mesmo compilando, sempre tem uma maldita livraria, ou a conhecida libc que não está actualizada.

Como a distro ainda tem muito o que melhorar, tanto em scripts para interversão com o usuário se for pensar assim.

Mas consta com ferramentas de analise de rede, que pelo menos para mim são muito úteis, como sempre gostei de segurança, não existe nada melhor que isso, pode-se encontrar algumas ferramentas na distro que ajuda muito no dia-a-dia.

Mas algum tempo atrás me veio a cabeça, de juntar o útil ao agradável, colocando alguns aplicativos, como kopete, k3b e o xmms, futuramente o gimp e o openoffice coisa para se pensar ainda...

Levando em consideração que eu dei uma melhorada no gráfico da criança, colocando algumas perfumarias como mac bar, se num for uma é algo imitando isso, relógio, e monitor do sistema, claro com a minha querida karamba.

Então pensando bem, se for colocar o openoffice e o gimp, mas a karamba, fica um iso bem maior, levando em consideração que cada actualização de informação do monitor do sistema, consome um pouco mais de memoria.

Uma outra ideia seria colocar isso, ou não, inversir na vmware para linux, ja instalei no camex e foi muito fácil, pensei ter problemas por conta de livrarias e headers do kernel, mas o resultado foi melhor que o esperado, no debian rc3 sempre enchia o saco com alguma coisa faltando.

Como essa distro não tem um link para download do iso, e também não fiz nenhum upload em servidor de download, mais por conta de que toda hora estou mudando alguma coisa, por enquanto não pretendo divulgar um iso ate ter certeza de que tudo encontre-se nos seus devidos lugares.

Como o iso da ultima versão está com 589 MB, pretendo deixar até 650 no máximo, contando com o gimp, openoffice e a vmware.

Não seria muito prazeroso, colocar um iso de 1GB para ficar baixando 1 dia que dependendo da conexão 650 é dor de cabeça, 1 GB nem se fala.

Muito bem ja vendi o meu peixe por hoje, vou apenas colocar uma screen do sistema com as novas barras.

E prometo futuramente um sistema com openoffice, gimp e a vmware acompanhando o cd.


Twitter Delicious Facebook Digg Stumbleupon Favorites More