php com shell [RESOLVIDO]

1. php com shell [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 15/02/2016 - 14:37h

Olá, não sei se alguem pode me ajudar, pois ainda não vi no vol alguem falar de php com shell.
desenvolvi meu primeiro plugin pra cpanel/whm é bem simples apenas para bloquear ips no iptables funciona normal, porem depois de pronto reparei que falta uma função para verificar se o que foi digitado é ip ou não, por exemplo se eu digitar letras o sistema teria que exibir uma mensagem na tela dizendo que não é ip. e no caso não faz o bloqueio ou desbloqueio.
onde me atrapalhei foi para executar o shell atraves do php.
por exemplo pegar uma variavel do php e jogar para o shell eu consigo, por que dai no shell eu sei como fazer para verificar se o ip é ip ou não, agora depois de executar essa funçao eu não sei como trazer o resultado dessa busca novamente para o php.
http://i.imgur.com/YIT2Xx6.png

esse é o arquivo do php que executa a função de pegar a variavel e jogar no shell

<?php
session_start();
require_once("inc/funcoes.php");


if($_POST[acao] == 'b') {

$resultado = shell_exec("iptables -I INPUT -s $_POST[ip] -j DROP ");

if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível bloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." bloqueado com sucesso No Firewall Iptables Host.","ok");
}

} else if($_POST[acao] == 'd') {

$resultado = shell_exec("iptables -D INPUT -s $_POST[ip] -j DROP ");

if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível Desbloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." Desbloqueado com sucesso No Firewall Iptables Host.","ok");
}

}

// Cria o cookie do status das ações executadas e redireciona.
$_SESSION['status_acao'] = $resultado_acao;
header("Location: ".$_SERVER['HTTP_REFERER']."");

?>








  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 16/02/2016 - 01:01h

Fala Brother!

Porque vc não usa a função filter_var com o parâmetro validate_ip?

Assim ó:
if (filter_var($_POST[ip], FILTER_VALIDATE_IP)) {

//Ação se for valido;

} else {

//Ação se NÃO for valido;
}

Abs,



Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---

3. Re: php com shell [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/02/2016 - 23:08h

conectadohost escreveu:

Olá, não sei se alguem pode me ajudar, pois ainda não vi no vol alguem falar de php com shell.
desenvolvi meu primeiro plugin pra cpanel/whm é bem simples apenas para bloquear ips no iptables funciona normal, porem depois de pronto reparei que falta uma função para verificar se o que foi digitado é ip ou não, por exemplo se eu digitar letras o sistema teria que exibir uma mensagem na tela dizendo que não é ip. e no caso não faz o bloqueio ou desbloqueio.
onde me atrapalhei foi para executar o shell atraves do php.
por exemplo pegar uma variavel do php e jogar para o shell eu consigo, por que dai no shell eu sei como fazer para verificar se o ip é ip ou não, agora depois de executar essa funçao eu não sei como trazer o resultado dessa busca novamente para o php.
http://i.imgur.com/YIT2Xx6.png

esse é o arquivo do php que executa a função de pegar a variavel e jogar no shell

<?php
session_start();
require_once("inc/funcoes.php");


if($_POST[acao] == 'b') {

$resultado = shell_exec("iptables -I INPUT -s $_POST[ip] -j DROP ");

if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível bloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." bloqueado com sucesso No Firewall Iptables Host.","ok");
}

} else if($_POST[acao] == 'd') {

$resultado = shell_exec("iptables -D INPUT -s $_POST[ip] -j DROP ");

if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível Desbloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." Desbloqueado com sucesso No Firewall Iptables Host.","ok");
}

}

// Cria o cookie do status das ações executadas e redireciona.
$_SESSION['status_acao'] = $resultado_acao;
header("Location: ".$_SERVER['HTTP_REFERER']."");
?>


************************************************************************
Boa noite, conectadohost.
Ao invés do cliente digitar o IP, você pode "pegá-lo" usando a variável Superglobals $_SERVER do PHP.

Veja em:
http://goo.gl/VbmGs7

O próprio PHP tem recursos para validar o IP.

Veja em:
http://goo.gl/wL8jt0

att.:
Marcelo Oliver






4. Re: php com shell [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 16/02/2016 - 10:38h

tonyhts escreveu:

Fala Brother!

Porque vc não usa a função filter_var com o parâmetro validate_ip?

Assim ó:
if (filter_var($_POST[ip], FILTER_VALIDATE_IP)) {

//Ação se for valido;

} else {

//Ação se NÃO for valido;
}

Abs,



Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---


opa, meu mestre do sed, egrep -o e agora do php.kkk
Porque vc não usa a função filter_var com o parâmetro validate_ip?
por que eu nem sabia que tinha essa opção no php.kkkkkk
me pede pra programar shell eu faço de boa, mas php é chato pra mim, mil vezes shell que é barbada.kkk
você é o cara meu rapaz, como eu disse antes a cada resposta sua uma aula pra mim.kkk
http://i.imgur.com/o7zEf9e.png
http://i.imgur.com/a7zfWAC.png
http://i.imgur.com/P74Pl9g.png
http://i.imgur.com/6a8PQKO.png

se você trabalha com Cpanel/WHM ta na mão o plugin
instalação
cd /usr/local/cpanel/whostmgr/docroot/cgi

wget http://mmm.conectadohost.com.br/plugin-iptables-host.tar.gz

tar -zxvf plugin-iptables-host.tar.gz

rm -f plugin-iptables-host.tar.gz

chmod 777 addon_iptables_host.cgi

vou postar depois no VOL na minha comunidade que fiz pra Cpanel/WHM
aproveitando se você quiser entrar nela só tem eu.kkkkk demoraram 2 meses pra aprovar.
https://www.vivaolinux.com.br/comunidade/Cpanel-1/



---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


5. Re: php com shell [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 16/02/2016 - 10:41h

msoliver escreveu:

conectadohost escreveu:

Olá, não sei se alguem pode me ajudar, pois ainda não vi no vol alguem falar de php com shell.
desenvolvi meu primeiro plugin pra cpanel/whm é bem simples apenas para bloquear ips no iptables funciona normal, porem depois de pronto reparei que falta uma função para verificar se o que foi digitado é ip ou não, por exemplo se eu digitar letras o sistema teria que exibir uma mensagem na tela dizendo que não é ip. e no caso não faz o bloqueio ou desbloqueio.
onde me atrapalhei foi para executar o shell atraves do php.
por exemplo pegar uma variavel do php e jogar para o shell eu consigo, por que dai no shell eu sei como fazer para verificar se o ip é ip ou não, agora depois de executar essa funçao eu não sei como trazer o resultado dessa busca novamente para o php.
http://i.imgur.com/YIT2Xx6.png

esse é o arquivo do php que executa a função de pegar a variavel e jogar no shell

<?php
session_start();
require_once("inc/funcoes.php");


if($_POST[acao] == 'b') {

$resultado = shell_exec("iptables -I INPUT -s $_POST[ip] -j DROP ");

if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível bloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." bloqueado com sucesso No Firewall Iptables Host.","ok");
}

} else if($_POST[acao] == 'd') {

$resultado = shell_exec("iptables -D INPUT -s $_POST[ip] -j DROP ");

if(ereg('Adding',$resultado)) {
$resultado_acao = Criar_Celula_Log("Não foi possível Desbloquear o IP ".$_POST[ip]." no firewall Iptables Host.","erro");
} else {
$resultado_acao = Criar_Celula_Log("IP ".$_POST[ip]." Desbloqueado com sucesso No Firewall Iptables Host.","ok");
}

}

// Cria o cookie do status das ações executadas e redireciona.
$_SESSION['status_acao'] = $resultado_acao;
header("Location: ".$_SERVER['HTTP_REFERER']."");
?>


************************************************************************
Boa noite, conectadohost.
Ao invés do cliente digitar o IP, você pode "pegá-lo" usando a variável Superglobals $_SERVER do PHP.

Veja em:
http://goo.gl/VbmGs7

O próprio PHP tem recursos para validar o IP.

Veja em:
http://goo.gl/wL8jt0

att.:
Marcelo Oliver





Olá,
obrigado pelas dicas algumas dessas opções eu já conhecia outras não, que inclusive vão me ajudar em outro projeto.


---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


6. Re: php com shell [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 16/02/2016 - 12:44h

conectadohost escreveu:

opa, meu mestre do sed, egrep -o e agora do php.kkk
Porque vc não usa a função filter_var com o parâmetro validate_ip?
por que eu nem sabia que tinha essa opção no php.kkkkkk
me pede pra programar shell eu faço de boa, mas php é chato pra mim, mil vezes shell que é barbada.kkk
você é o cara meu rapaz, como eu disse antes a cada resposta sua uma aula pra mim.kkk

kkk, Sempre quando precisamos automatizar as coisas via interface pra usuário, acabamos esbarrando em cgi, php, html e tals.
O link que o @msoliver passou é uma ótima doc, consulto frequentemente ;)


Bacana, parabéns!


conectadohost escreveu:

se você trabalha com Cpanel/WHM ta na mão o plugin
instalação
cd /usr/local/cpanel/whostmgr/docroot/cgi
wget http://mmm.conectadohost.com.br/plugin-iptables-host.tar.gz
tar -zxvf plugin-iptables-host.tar.gz
rm -f plugin-iptables-host.tar.gz
chmod 777 addon_iptables_host.cgi


Não uso Cpanel, mas vou dar uma ohada pra "ficar por dentro", Valew!

conectadohost escreveu:

vou postar depois no VOL na minha comunidade que fiz pra Cpanel/WHM
aproveitando se você quiser entrar nela só tem eu.kkkkk demoraram 2 meses pra aprovar.
https://www.vivaolinux.com.br/comunidade/Cpanel-1/

Show! posta sim, vamos compartilhar conhecimento !!!

Abs,


Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts