quarta-feira, 2 de dezembro de 2015

Gerando wordlist de username com python e scrapy

Fala galera suave?
Faz um tempo que não posto nada não é verdade?

Bom, agora estou de "férias"(sem trampo rsrsrs) e vou tentar me dedicar mais ao blog, pra falar a verdade, tenho 2 artigos para finalizar, a preguiça e o Elder Scrolls não estão deixando kkkk

Um deles eu quero passar o básico para se examinar um aplicativo mobile, desde o tráfego de dados até o source code, com foco em apk(Android), algo bem howto mesmo, eu penei um pouco pra achar bons tutos que explicam desde o decompilar até o recompilar com assinatura e tal, enfim.
Outro que quero mostrar é algo que estou criando com o scrapy, mesmo framework que vou demonstrar nesse artigo, enfim, vamos ao que interessa certo?

Agora na madruga eu estava fazendo um pentest e precisava de nomes de usuários para fazer uma wordlist para enumerar um ssh, porém, queria nomes de pessoas do BR, a solução que achei foi procurar no google por nomes de pessoas brasileiras, então eu achei esse site: http://www.dicionariodenomesproprios.com.br/

Certo, nele existe uma lista com nomes masculinos e nomes femininos, o que vou mostrar é como automatizar isso para que se pegue todos os nomes do site de forma rápida e fácil.

Primeiro, caso não tenha instalado o python e/ou scrapy, leia sobre aqui.

Caso já tenha instalado, prosseguiremos. (Obs: não pretendo explicar o que cada comando faz nesse tutorial, estou preparando outro para isso, no final do artigo vou colocar uns posts que me ajudaram a aprender sobre o scrapy caso alguém queira)

Em seu terminal, digite:

~$ scrapy startproject nomes_galera

Será criada uma pasta com o nome de "nomes_galera", agora digite a sequencia de comandos abaixo:

~$ cd nomes_galera
~$ scrapy genspider masc_nome dicionariodenomesproprios.com.br

Vejamos, você criou o projeto dando um start nele e atribuindo o nome "nomes_galera", em seguida você entrou na pasta e criou um robo(spider) que vai coletar os dados a partir do domínio dicionariodenomesproprios.com.br com o nome do robo(spider) de masc_nome.

Certo, espero que até aqui você tenha entendido, caso não, ligue 190 e peça ajuda aos universitários rsrsrs briks, qualquer coisa deixa nos comentários que eu ajudo galera.

Vamos entrar na pasta onde se encontra o spider, antes de entrar, segue a árvore do diretório só para terem uma noção.

#:> tree
.
├── nome_galera
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── items.py
│   ├── pipelines.py
│   ├── settings.py
│   ├── settings.pyc
│   └── spiders
│       ├── __init__.py
│       ├── __init__.pyc
│       ├── masc_nome.py
│       └── masc_nome.pyc
└── scrapy.cfg

Entre na pasta spiders com o comando abaixo:

~$ cd nome_galera/spiders/

Vamos editar o arquivo que acabamos de criar, no caso, o robo com o nome de masc_nome.py

A princípio o arquivo é criado com um layout padrão, dessa maneira:


Note que na linha 9 ele mostra apenas o site certo? Não é isso que queremos, vamos analisar o site e ver onde estão os nomes masculinos.

Se você entrar nesse link: http://www.dicionariodenomesproprios.com.br/nomes-masculinos/
Vai ver que tem apenas nomes masculinos certo? Nosso desafio é pegar todos esses nomes e de todas as paginas. (Desculpem se não estiver sendo bem claro, estou com um pouco de sono)

Pra fazer isso, vamos olhar o código fonte da pagina.
Abaixo do Top10 de nomes, veja que começa a lista de nomes do site, em desordem alfabética(acho que inventei esse termo agora) o primeiro nome que aparece é o Davi, usando o chrome, abra a ferramenta de desenvolvedor e inspecione o objeto com o nome do Davi assim como na imagem abaixo:



Vejam a tag e o atributo do HTML onde tem o nome do davi, viu?

Ok, vou colocar aqui.

Repare, temos a tag "a" com o atributo 'class="lista-nome"', se você der um procurar na pagina, você vai ver que todos os nomes listados tem a tag e o atributo em comum, se pensarmos de maneira lógica, temos uma lista de nomes(Dãhr, o próprio nome da class já diz animal). Piadinhas a parte, muitas vezes, por mais obvia que é a questão, deixamos passar na hora de desenvolver, pensamos de forma automática e não reparamos em coisas obvias que nos ajudam a montar mentalmente o código.

Ok, let's go.

Vamos ao código agora.

Leia o código, não continue a ler esse texto, vamos fazer um teste de observação.

Diga mentalmente qual é a URL que o robô vai dar o start na busca.

.
.
.
.
.
.
.
.

Achou?
Certo, muito bom garoto(a), linha 8 do código ali de cima, certo? Que por sua vez, é o código base do robo, agora vamos mudar isso, afinal, começamos a procurar do link que passei sobre nomes masculinos não é mesmo? Ainda lembra dele? Pega ele ali em cima vai, não vou escrever de novo.

Altere a linha 9 com o link da pagina onde contem os nomes masculinos.

ficando dessa maneira:



Agora vamos a parte que interessa, vamos ao parser do "bagulho", vamos coletar os nomes.
Primeiro, vamos entender um pouco o que vamos fazer, lembra-se da tag onde contem o nome do Davi? Vamos fazer ela de base para pegar todos os nomes, vamos usar xpath para gerar uma query generica.

Vou postar o código aqui já pronto e vou explicar as linhas alteradas no próprio source "serto" galera?
[ATUALIZACAO] Galera, recebi uma dica do Lynneker Sales Santos sobre o fechamento do arquivo, eu estava abrindo e fechando no for, eu troquei isso. Vlw mano





Agora é só fazer isso para a pagina de nomes de mulheres e pronto, faça isso você mesmo para ver se entendeu, qualquer dúvida, postem aqui nos comentários que ajudo.

Aqui vai uns posts que me ajudaram com scrapy e que me tiram dúvidas até hoje.

http://www.gilenofilho.com.br/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-i/

http://www.gilenofilho.com.br/usando-o-scrapy-e-o-rethinkdb-para-capturar-e-armazenar-dados-imobiliarios-parte-ii/


Post a base de CBJR

sábado, 18 de julho de 2015

Burlando captcha para manipular votações públicas

De boas galera?
A uns dias atrás, antes do amoço eu achei um concurso e pensei: será que é possível manipular a votação e alterar o resultado final?

A uns meses atrás, eu de brincadeira fiz um robô para votar em bandas na Lollapalooza (http://www.t4f.com.br/app/lollapalooza/escolha-lollabr2016-1/) e selecionei umas bandas nada a ver com a escolha popular para ver se dá resultado.
Como foi essa história?
O site do Lolla guardava o cookie não deixando mais votar, permitindo apenas 1 único voto, então eu escrevi um script em python usando o requests que não guardava o cookie, assim eu consegui manipular os votos, infelizmente não tinha como saber quais eram as bandas mais votadas, mas se tiver natiruts ano que vem já saberemos :)

Enfim, voltando ao concurso.
Eu comecei a brincar com o robô antes do almoço, dei uma pequena pausa para comer e voltei a brincadeira, eu fiz o robô que realiza o voto na modelo indicada (identificada por um ID) em um json.

Vou tentar explicar como eu descobri os parâmetros certos e como realizei a votação, nessa altura do campeonato, provável que ela já esteja eleita, pois só vou liberar esse post após o final do sorteio, então, como estou escrevendo antes de terminar, não sei se ela realmente vai ganhar ainda, posto um EDIT depois dizendo se ela levou o premio ou não.

[EDIT] A mina não ganhou, o robô deu um "gás" na frente da outra mas eu tinha desligado o robô uns dias antes de finalizar, liguei no ultimo dia mas não deu pra fazer a mina ganhar :( [/EDIT]

Sem mais delongas, vamos ao que interessa.

O sorteio é da "Belas da Torcida", nele modelos competem para ver quem é a mais bela da torcida. Beleza, a votação em si, é feita através de um GET em um arquivo que retorna um JSON. Abrindo a pagina de votação:

Coloquei a tarja para preservar as modelos e para não receber processo pq sou pobre
Abrindo o "ferramentas de desenvolvedor" do chrome e fazendo a votação normal, conseguimos saber o endereço que ele realiza o get e como ele faz, como podemos ver na imagem abaixo:



Maravilha, olhem ali ao lado (img abaixo)


Podemos observar que temos 4 requests em paginas iniciando com "vote?jsonp=PollVote&format", essas são as pagina que ele realiza a consulta, as duas primeiras ele me retorna o seguinte json:

GET
http://enquete.xxx.com.br:443/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO

JSONP
PollVote(
)

Beleza, sei que naquele link acima se eu fizer um get ele me retornar um jsonp com os dados do ID e a imagem do CAPTCHA, agora vamos ver o que ele me traz quando eu consulto o outro GET, os dois ultimos que iniciam com "vote?jsonp=PollVote&format"

GET
http://enquete.xxx.com.br/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO&captcha-value=e3z4&captcha-id=nB9gd3ZLsJR-UlO.uDHxtwM6ipzCKAbfGkj28qWQINXrVFcm0TyaPehE4Y57oSv1ALnaixnhp2przWsTC6n0l6kmpg34O6wc-gd0-2dyOH4TlgucU2UaO2sTlxU=

Note que nesse link acima, já temos uns valores interessantes, vou marcar abaixo os interessantes em vermelho:
http://enquete.xxx.com.br/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO&captcha-value=e3z4&captcha-id=nB9gd3ZLsJR-UlO.uDHxtwM6ipzCKAbfGkj28qWQINXrVFcm0TyaPehE4Y57oSv1ALnaixnhp2przWsTC6n0l6kmpg34O6wc-gd0-2dyOH4TlgucU2UaO2sTlxU=

Certo, captcha-value contem o texto do captcha e o captcha-id contem o ID que vimos ali em cima no primeiro get que fizemos.

Agora vem a parte interessante, como faço para burlar esse captcha e manipular as votações com robôs de automatização?

Beleza, nada de OCR, IMAGEMAGIK e a caralhada toda pra complicar, vamos buscar algo mais simples e efetivo que não nos tome tempo. Conheçam o DEATH BY CAPTCHA, maravilhoso site que explora o trabalho de indianos na resolução dos nossos captchas de cada dia, o terror de sites como a Receita Federal, Sefaz e por ai vai hu3hu3hu3BR. O melhor de tudo, é MUITO barato, resolução de 5000 captcha sai em torno de 6.29 obamas, coisa chique.

Certo, como já tenho os dados que preciso, agora é hora de integrar o sistema de votação e no de quebra de captcha, fazendo eles trabalharem juntos :)

Usaremos o Python, mas da pra ser feito em varias outras linguagens.

terça-feira, 30 de junho de 2015

Jameh - Brute Force em Hash de Senhas /etc/shadow

Galera de boa?
Estava caminhando por ai, quando vi no github do Ricardo Longatto o programa que ele fez em C para realizar um brute-force em senhas em hash que ficam no /etc/shadow. 

https://github.com/ricardolongatto/loncrack

Então, resolvi fazer o mesmo em python, achei que seria interessante medir a velocidade de quebra em C e em Python, mas eu não consegui fazer rodar o programa em C do Longatto (Sim sou um LOSER), caso alguém consiga e realize o teste, me manda que posto aqui.

Mas enfim, fiz em python, segue abaixo o README dele e o link para testarem.

LINK: https://github.com/danilovazb/jameh

Jameh

Danilo Vaz - UNK
danilovazb@gmail.com
http://unk-br.blogspot.com
https://twitter.com/unknownantisec

DESCRIPTION

Jameh, que na verdade se escreve e se lê 'Jamé' que do Tupi Guarani significa oculto, 
misterioso, tem como objetivo realizar um brute-force em hash de senhas contidas no /etc/shadow,
passando o salt do hash e a senha criptografada ele tenta por meio de dicionário quebrar a 
senha.

REQUERIMENTS

 ----------------------------------------------------------
Import:
threading
time
crypt
argparse
sys
subprocess

permission          Reading & Writing
User                root privilege, or is in the sudoers group
Operating system    LINUX
Python              2.7
 ----------------------------------------------------------

INSTALL

git clone http://github.com/danilovazb/jameh

HELP

usage: jameh.py [-h] [-t 10] -f word_list.txt -s '$6$DgAOLzvU' -ha
                '$xw5oqFEZw30SSCdgD9KOiK2BG1J.O135BowUgdsUZB3ErEeZii6s1vC07BcBoPY06iNcJpxhQYTwzBpjVj7oq.'

optional arguments:
  -h, --help        show this help message and exit
  -t 10, --threads 10
                    Threads
  -f word_list.txt, --file word_list.txt
                    Opens file with passwords
  -s '$6$DgAOLzvU', --salt '$6$DgAOLzvU'
                    Salt, '$6$DgAOLzvU'
  -ha '$xw5oqFEZw30SSCdgD9KOiK2BG1J.O135BowUgdsUZB3ErEeZii6s1vC07BcBoPY06iNcJpxhQYTwzBpjVj7oq.', --hash '$xw5oqFEZw30SSCdgD9KOiK2BG1J.O135BowUgdsUZB3ErEeZii6s1vC07BcBoPY06iNcJpxhQYTwzBpjVj7oq.'
                    hash, '$xw5oqFEZw30SSCdgD9KOiK2BG1J.O135BowUgdsUZB3ErEeZii
                    6s1vC07BcBoPY06iNcJpxhQYTwzBpjVj7oq.'

EXAMPLE

SENHA: s3nh42015!@#

~# cat /etc/shadow
root:!:16440:0:99999:7:::
daemon:*:16273:0:99999:7:::
bin:*:16273:0:99999:7:::
sys:*:16273:0:99999:7:::
sync:*:16273:0:99999:7:::
games:*:16273:0:99999:7:::
man:*:16273:0:99999:7:::
lp:*:16273:0:99999:7:::
mail:*:16273:0:99999:7:::
news:*:16273:0:99999:7:::
uucp:*:16273:0:99999:7:::
proxy:*:16273:0:99999:7:::
www-data:*:16273:0:99999:7:::
backup:*:16273:0:99999:7:::
list:*:16273:0:99999:7:::
irc:*:16273:0:99999:7:::
gnats:*:16273:0:99999:7:::
nobody:*:16273:0:99999:7:::
libuuid:!:16273:0:99999:7:::
syslog:*:16273:0:99999:7:::
messagebus:*:16273:0:99999:7:::
usbmux:*:16273:0:99999:7:::
dnsmasq:*:16273:0:99999:7:::
avahi-autoipd:*:16273:0:99999:7:::
kernoops:*:16273:0:99999:7:::
rtkit:*:16273:0:99999:7:::
saned:*:16273:0:99999:7:::
whoopsie:*:16273:0:99999:7:::
speech-dispatcher:!:16273:0:99999:7:::
avahi:*:16273:0:99999:7:::
lightdm:*:16273:0:99999:7:::
colord:*:16273:0:99999:7:::
hplip:*:16273:0:99999:7:::
pulse:*:16273:0:99999:7:::
danilo:$6$DgAOLzvU$Mt0WllW7AFJt5eFk0HPzjQNes/vvPkHaVmPIaWEb7K64uayPJ3CrEW8gjlBinh9Dzqj4RZXfRAN45XxrpWYjX.:16440:0:99999:7:::


~# python jameh.py --file wl.txt --threads 10 --salt '$6$DgAOLzvU' --hash '$Mt0WllW7AFJt5eFk0HPzjQNes/vvPkHaVmPIaWEb7K64uayPJ3CrEW8gjlBinh9Dzqj4RZXfRAN45XxrpWYjX.'


       _                      _     
      | |                    | |    
      | | __ _ _ __ ___   ___| |__  
  _   | |/ _` | '_ ` _ \ / _ \ '_ \ 
 | |__| | (_| | | | | | |  __/ | | |
  \____/ \__,_|_| |_| |_|\___|_| |_|

[+] Author: Danilo Vaz a.k.a. UNK
[+] http://github.com/danilovazb
[+] http://unk-br.blogspot.com.br

PASS: s3nh42015!@#
Terminado

quarta-feira, 10 de junho de 2015

SAWEF - Crawler de e-mail e de links

E ai galera, tranquilo?
A alguns dias atrás eu criei uma ferramenta chamada SAWEF que realiza algumas funções em HTTP, tais como, enviar POST e GET, porém, vi uma oportunidade de expandir algumas funcionalidades dela a caráter de teste, então adicionei as funções abaixo, breve gravo um vídeo demonstrando.

- Email Crawler in sites
- Crawler forms on the page
- Crawler links on web pages
- Sending POST and GET
- Support for USER-AGENT
- Support for THREADS
- Support for COOKIES

GITHUB: https://github.com/danilovazb/sawef

EXEMPLOS:

PEGANDO EMAIL DAS PAGINAS
$:> python sawef.py --url "http://pastebin.com/ajaYnLYc" --response emails
[...]
[+] EMAIL = manothradevi@yahoo.com
[+] EMAIL = fantaghiroaziera@yahoo.com
[+] EMAIL = naqibjohari@yahoo.com
[+] EMAIL = azliey3036@yahoo.com
[+] EMAIL = azlin_4531@yahoo.com.my
[+] EMAIL = urshawal96@yahoo.com
[+] EMAIL = weeta_aida88@yahoo.com.my
FOUND = 3065

PEGANDO LINKS DAS PAGINAS
$:> python sawef.py --url "http://terra.com.br" --response links
[...]
[+] LINK = http://uol.com.br/https://pagseguro.uol.com.br/vender
[+] LINK = http://www.uolhost.com.br/registro-de-dominio.html
[+] LINK = http://noticias.uol.com.br/arquivohome/
[+] LINK = http://noticias.uol.com.br/erratas/
[+] LINK = http://uol.com.br/#

[+] FOUND = 360



Abaixo a descrição da ferramenta e como baixar:

DESCRIPTION

The purpose of this tool is to be a Swiss army knife 
for anyone who works with HTTP, so far it she is basic, 
bringing only some of the few features that want her to have, 
but we can already see in this tool:

- Email Crawler in sites
- Crawler forms on the page
- Crawler links on web pages
- Sending POST and GET
- Support for USER-AGENT
- Support for THREADS
- Support for COOKIES

REQUERIMENTS

 ----------------------------------------------------------
Import:
threading
time
argparse
requests
json
re
BeautifulSoup

permission          Reading & Writing
User                root privilege, or is in the sudoers group
Operating system    LINUX
Python              2.7
 ----------------------------------------------------------

INSTALL

git clone http://github.com/danilovazb/SAWEF

sudo apt-get install python-bs4 python-requests

HELP

usage: tool [-h] --url http://url.com/
            [--user_agent '{"User-agent": "Mozilla/5.0 Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8 Gecko/20050511 Firefox/1.0.4"}"]
            [--threads 10] [--data '{"data":"value","data1":"value"}']
            [--qtd 5] [--method post|get]
            [--referer '{"referer": "http://url.com"}']
            [--response status_code|headers|encoding|html|json|form]
            [--cookies '{"__utmz":"176859643.1432554849.1.1.utmcsr=direct|utmccn=direct|utmcmd=none"}']

optional arguments:
  -h, --help        show this help message and exit
  --url http://url.com/
                    URL to request
  --user_agent '{"User-agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"}"
                    For a longer list, visit:
                    http://www.useragentstring.com/pages/useragentstring.php
  --threads 10      Threads
  --data '{"data":"value","data1":"value"}'
                    Data to be transmitted by post
  --qtd 5           Quantity requests
  --method post|get
                    Method sends requests
  --referer '{"referer": "http://url.com"}'
                    Referer
  --response status_code|headers|encoding|html|json|form
                    Status return
  --cookies '{"__utmz":"176859643.1432554849.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"}'
                    Cookies from site

EXAMPLE

*Send 1 SMS anonymous to POST [in BR]:
-------------
$:> python sawef.py --url "https://smsgenial.com.br/forms_teste/enviar.php" --data '{"celular":"(11) XXXX-XXXXX","mensagem":"Teste","Testar":"Enviar"}' --threads 10 --qtd 1 --user_agent '{"User-agent":"Mozilla/5.0 Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"}'

*List Form attributes:
-------------
$:> python sawef.py --url "https://smsgenial.com.br/" --method post --response form
OUTPUT:

--------------------------------
NOME_FORM[None]
URL[http://paineldeenvios.com/painel/app/login/login.php]
METHOD[post]

email:Digite Seu Login        (text)
passwd:Senha        (password)
Entrar:Entrar        (submit)

--------------------------------
NOME_FORM[form1]
URL[/forms_teste/criaruser.php]
METHOD[post]

action:criarconta        (hidden)
nome:        (text)
celular:        (text)
email:        (text)
Testar:Criar        (submit)
Testar:Enviar        (hidden)

--------------------------------
NOME_FORM[None]
URL[/forms_teste/enviar.php]
METHOD[post]

celular:        (text)
Testar:Enviar        (submit)

* Get email web pages
$:> python sawef.py --url "http://pastebin.com/ajaYnLYc" --response emails
[...]
[+] EMAIL = manothradevi@yahoo.com
[+] EMAIL = fantaghiroaziera@yahoo.com
[+] EMAIL = naqibjohari@yahoo.com
[+] EMAIL = azliey3036@yahoo.com
[+] EMAIL = azlin_4531@yahoo.com.my
[+] EMAIL = urshawal96@yahoo.com
[+] EMAIL = weeta_aida88@yahoo.com.my
FOUND = 3065

* Get links on web pages
$:> python sawef.py --url "http://terra.com.br" --response links
[...]
[+] LINK = http://uol.com.br/https://pagseguro.uol.com.br/vender
[+] LINK = http://www.uolhost.com.br/registro-de-dominio.html
[+] LINK = http://noticias.uol.com.br/arquivohome/
[+] LINK = http://noticias.uol.com.br/erratas/
[+] LINK = http://uol.com.br/#
[+] FOUND = 360

SCREENSHOT

Screenshot

segunda-feira, 1 de junho de 2015

Send Attack Web Forms - Tool

Hey guys, all beauty?
Lately I've been using many scripts to test some parameters in POST and GET, this demand grew a bit, i decided to craft this tool, it is available on Github in GPL license.

Basically it does POST with some basic parameters, and change the HEADER, COOKIES and NUMBER OF SUBMISSIONS.

[EDIT] Consult attributes of a form in an HTML page and set the POST or GET request method [/EDIT]

Tool:
https://github.com/danilovazb/SAWEF

SAWEF - Send Attack Web Forms

Danilo Vaz - UNK
danilovazb@gmail.com
http://unk-br.blogspot.com
https://twitter.com/unknownantisec
  • REQUERIMENTS
 ----------------------------------------------------------
threading
time
argparse
requests
json
BeautifulSoap
permission          Reading & Writing
User                root privilege, or is in the sudoers group
Operating system    LINUX
Python              2.7
 ----------------------------------------------------------
  • INSTALL
git clone http://github.com/danilovazb/SAWEF

sudo apt-get install python-bs4 python-requests
  • HELP
usage: tool [-h] --url http://url.com/
            [--user_agent '{"User-agent": "Mozilla/5.0 Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8 Gecko/20050511 Firefox/1.0.4"}"]
            [--threads 10] [--data '{"data":"value","data1":"value"}']
            [--qtd 5] [--method post|get]
            [--referer '{"referer": "http://url.com"}']
            [--response status_code|headers|encoding|html|json|form]
            [--cookies '{"__utmz":"176859643.1432554849.1.1.utmcsr=direct|utmccn=direct|utmcmd=none"}']

optional arguments:
  -h, --help        show this help message and exit
  --url http://url.com/
                    URL to request
  --user_agent '{"User-agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"}"
                    For a longer list, visit:
                    http://www.useragentstring.com/pages/useragentstring.php
  --threads 10      Threads
  --data '{"data":"value","data1":"value"}'
                    Data to be transmitted by post
  --qtd 5           Quantity requests
  --method post|get
                    Method sends requests
  --referer '{"referer": "http://url.com"}'
                    Referer
  --response status_code|headers|encoding|html|json|form
                    Status return
  --cookies '{"__utmz":"176859643.1432554849.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"}'
                    Cookies from site

  • EXAMPLE
*Send 1 SMS anonymous to POST [in BR]:
-------------
$:> python sawef.py --url "https://smsgenial.com.br/forms_teste/enviar.php" --data '{"celular":"(11) XXXX-XXXXX","mensagem":"Teste","Testar":"Enviar"}' --threads 10 --qtd 1 --user_agent '{"User-agent":"Mozilla/5.0 Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"}'

*List Form attributes:
-------------
$:> python sawef.py --url "https://smsgenial.com.br/ --method post --response form
OUTPUT:

--------------------------------
NOME_FORM[None]
URL[http://paineldeenvios.com/painel/app/login/login.php]
METHOD[post]

email:Digite Seu Login        (text)
passwd:Senha        (password)
Entrar:Entrar        (submit)

--------------------------------
NOME_FORM[form1]
URL[/forms_teste/criaruser.php]
METHOD[post]

action:criarconta        (hidden)
nome:        (text)
celular:        (text)
email:        (text)
Testar:Criar        (submit)
Testar:Enviar        (hidden)

--------------------------------
NOME_FORM[None]
URL[/forms_teste/enviar.php]
METHOD[post]

celular:        (text)
Testar:Enviar        (submit)


  • SCREENSHOT Screenshot