SQL injection – خطای SQLmap (چه اتفاقی می افتد اگر من هیچ پارامتر ندارم)

هنگام استفاده از sqlmap خطایی دارم مشکل این است:

من از این نرم افزار استفاده میکنم https://www.exploit-db.com/ghdb/4301/
اما من نمی دانم که چگونه از sqlmap با این نوع تزریق sql استفاده کنم.
من از کلاسیک استفاده می کنم:

sqlmap -u site.com/ –tor –check-tor -tor-port = 9050 -tor-type = SOCKS5 –user-agent = "Googlebot (سازگار ؛ Googlebot / 2.1؛ + http: //www.google.com/bot.html) "–dbms = MySQL –dbs

در این موارد من یک پارامتر مانند" id = 1 "ندارم من فقط یک سایت با اشتباهات sql دارم، اما نه پارامتر در لینک

اما من را برمی گرداند:

همه پارامترهای تست شده به نظر نمی رسد تزریقی است. اگر می خواهید تست های بیشتری انجام دهید، سعی کنید مقادیر برای گزینه های '-level' / '- risk' را افزایش دهید. لطفا با کلید «text only» (همراه با – technique = BU) دوباره امتحان کنید زیرا این مورد به عنوان یک کاندید کامل (محتوای کم متن همراه با عدم توانایی موتور مقایسه برای تشخیص حداقل یک پارامتر پویا). به عنوان تست اکتشافی معلوم شد که شما به شدت توصیه می شود که با آزمایش ادامه دهید. اگر شما مشکوک هستید که یک نوع مکانیزم حفاظت وجود دارد (مثلا WAF)، شاید بتوانید از گزینه '–tamper' (به عنوان مثال '–tamper = space2comment') استفاده کنید (19459007)

سپس من استفاده از همان، اما با – بدون متن و – تکنیک = BU مانند خطا می گویند، اما هیچ چیز رخ داده است.

چگونه باید sqlmap در این مورد استفاده کنم ؟

رمزنگاری – جلوگیری از تزریق Sql به طور کلی

چیزهای زیادی وجود دارد که وب سایت شما را به تزریق SQL آسیب پذیر می کند و راه های متعددی برای جلوگیری از تزریق هکرها وجود دارد.
من می خواهم به نوشتن درباره ی راه هایی که می دانم بگویم و می خواهم ایده ی خود را در مورد تجربه و دانش شما در مورد این موضوع خاص بگویم "

1. به روز رسانی و پچ : آسیب پذیری در برنامه ها و پایگاه های داده باعث می شود هکرها می توانند با استفاده از تزریق SQL شما به طور مرتب به روز رسانی و پچ شوند، بنابراین بسیار مهم است تا تکه ها و به روز رسانی ها را در اسرع وقت به کار ببرید. مهم نیست که از پلت فرم لینوکس یا ویندوز استفاده کنید، راه حل های مدیریت پچ برای این دو WSUS برای ویندوز و شما می توانید با ساخت مخزن امن و راه اندازی آن توسط "نمک" یا "عروسک" یا "غیر ممکن" راه اندازی کنید و یا این لینک را بخوانید [centralised patch management for Linux][1][1]: https://serverfault.com/questions/387986/how-do- فایروال : فایروال وب برنامه (WAF) به عنوان یک نرم افزار یا دستگاه مبتنی بر دستگاه می تواند به شما در ترافیک وب مخرب کمک کند بسیاری از آنها به عنوان قاعده ای هستند که شما نیاز دارید تا ترافیک ناخواسته را فیلتر کنید. WAF می تواند بسیار مفید باشد قبل از اینکه یک پچ در دسترس باشد، یک حفاظت امنیتی را در برابر یک آسیب پذیری جدید ارائه می دهد.
به عنوان مثال "ModSecurity" یک ماژول منبع باز است که برای Apache، nginx و امنیت وب مایکروسافت IIS در دسترس است. مجموعه ای از قوانین پیچیده و در حال تکامل کامل را برای فیلتر کردن درخواست های بالقوه خطرناک وب فراهم می کند.

3 **. از SQL دینامیک استفاده نکنید **: پرس و جو ها را با ورودی کاربر ایجاد نکنید. حتی داده های sanitization داده ها می تواند ناقص باشد، به طوری که از هر زمان ممکن استفاده از اظهارات آماده شده، نمایش داده شده پارامتری یا روش های ذخیره شده استفاده شود. اما فراموش نکنید که در حالی که روش های ذخیره شده به برخی از انواع حملات تزریق SQL متوقف می شوند، آنها در برابر بسیاری دیگر محافظت نمی کنند، بنابراین به طور انحصاری بر استفاده از آنها برای امنیت خود تکیه ندارند.

4. : سعی کنید رمزهای عبور و یا هشدار داده ها و اطلاعات محرمانه از جمله رشته اتصال

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

این سؤال این است که شرکتهای زیادی وجود دارند که به شدت ایمن هستند و
  تمام مواردی که من اشاره کردم و بسیاری از تجهیزات امنیتی را به خوبی استفاده کرده ام
  پیکربندی شده است، اما همیشه نقص امنیتی وجود دارد، تا چه حد می گذرد؟

تزریق sql – DVWA: "تلاش هک شناسایی …"

سلام و شب خوبی،

اخیرا سعی کردم مهارتهای ذهنی من را بهبود ببخشند و در مورد آن با استفاده از Metasploitable 2 بیشتر بدانم. من تلاش میکنم در DVWA برخی چیزها را انجام دهم.
برای لحظه ای، من اصول اولیه Burp Suite را یاد می گیرم (دقیق تر، من در حال تلاش برای کسب اطلاعات بیشتر در مورد OWASP Top Ten هستم.)

اما من در SQL Injections در بخش SQLWi DVWA گیر کردم.
هر زمان که یک فرمان اجرا می کنم مانند:

1 'یا' 0 '=' 0

من به یک صفحه هدایت می کنم که می گوید:

تلاش هک شده شناسایی و وارد شده است.

اما هیچ کدام از آنها کار نمی کنند
آیا من بعضی چیزها را اشتباه انجام می دهم؟ کسی مشاوره دارد؟
من همچنین مراحل را از https://computersecuritystudent.com/SECURITY_TOOLS/DVWA/DVWAv107/lesson6/index.html امتحان کردم، اما من نتیجه مشابهی را در حال اجرای این دستورات دارم …

(و لطفا با من بمانید، من در حال حاضر برای 3-4 ماه و برای اولین بار با استفاده از Burp / ساخت SQLi تلاش می کنم :))

PS من متوجه شدم که آن را می توان از طریق غیر فعال کردن PHPIDS کار کرد، اما من علاقه مندم که چگونه از آن فرار کنم و از آن عبور کنم.

تزریق SQL: نحوه شروع زمانی که مقدار پارامتر id عددی نیست

نوع استدلال در اینجا باید در تزریق SQL نقش نداشته باشد و سپس این که چگونه پرس و جو SQL در وهله اول شکل گرفته است.

SQL injection سوء استفاده SQL Query که از پارامتر به عنوان یک رشته ایجاد شده است. وب سرور تمام نشانی اینترنتی را به عنوان یک متن پردازش می کند و تمام پارامترها را به عنوان رشته نیز تجزیه می کند. بنابراین حتی زمانی که عدد عددی مانند 1 است، آن را توسط یک سرور وب به عنوان رشته و کد در نظر گرفته می شود و سپس آن را به عنوان یک رشته وارد می کند. این اجازه می دهد تا شما را به وارد کردن کاراکتر های خاص، که ممکن است اگر تنها اعداد مجاز بود ممکن است.

با این حال، ممکن است در پرس و جو SQL وجود دارد. هنگام استفاده از رشته در یک پرس و جو SQL، رشته باید در نقل قول ها ' محصور شود. اعداد می توانند، اما لازم نیست.
شماره: SELECT * از آزمون WHERE id = $ NUMBER؛
String: SELECT * FROM Test WHERE id = '$ TEXT؛'؛

هنگامی که یک رشته در نقل قول بسته است، ابتدا باید ابتدا قاعده را ببندید. بنابراین برای مثال شما می توانید A 'ارسال کنید؛ DROP TABLES *؛ - که به شما می دهد:
SELECT * از تست WHERE id = 'A'؛ جداول قطره *؛ - '.
شما می توانید "پایان دادن به اولین" را ببینید، به طوری که دستور DROP TABLES *؛ به عنوان یک فرمان و نه به عنوان متن در نظر گرفته می شود. – برای نظر در SQL استفاده می شود و در اینجا از آن برای خلاص شدن از بسته شدن ' استفاده می کنیم. در غیر این صورت، یک query SQL نادرست ایجاد می شود.

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

برنامه وب – در مقابل پیشگیری از تزریق SQL – اجرای SQL از راه دور

Background

ما می دانیم که SQL Injection شاید امروزه موضوع شایع ترین سایت های وب است. استراتژی های کاهش خطرات به خوبی شناخته شده است. اما آیا این تنها تقویت یک معماری نرم افزاری ناقص / ناکارآمد است؟

برای من، کار با MS SQL Server که دارای مجوز محدود به کاربران بود، به این معنی بود که مجوز باید به لایه کاربرد وب منتقل شود تا هزینه مقرون به صرفه باشد. البته، من همچنین می خواستم یک API RESTful ارائه دهم که SQL Server به طور مستقیم در RDBMS قرار نگرفته است.

در تجربه من، یک رابط RESTful ایجاد می کند که دیدگاه هایی را دریافت می کند که پرس و جو و پارامتر را تعریف می کنند. اینها به SQL تبدیل می شوند که بر روی RDBMS اجرا می شود. بنابراین API های وب به این ترتیب پروتکل سریال سازی غیر مستقیم برای SQL نیست؟ (به جز ملاحظات منطق کسب و کار در حال حاضر)

بنابراین، اگر ما کل مشکل را معکوس کنیم؟ اگر بجای قرار دادن پارامترهای دقت پارامترهای پرس و جو / نمایش های استاتیک، ما به مشتری اجازه دادیم SQL کامل را به سرور منتقل کنیم؟


سوال

فرض کنید که یک چارچوب ایمن توسعه داده شده برای اجرای بیرونی SQL:

  • امن ترین
  • نسبتا آسان و مفید برای ساخت و یا پیدا کردن / آیکون ابزار کتابخانه
  • سازنده برای نرم افزار های وب است که آسان تر برای ساخت (بیشتر از نقطه StackOverflow)

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


جزئیات بیشتر و ایده هایی که چگونه می تواند کار کند:

  • طرف سرور می تواند رشته بیانیه SQL را به طور کامل به یک مدل حافظه پرس و جو تجزیه و تحلیل کند، امکان بررسی مجدد سازمانی را فراهم می کند، و نیز درونگرایی پارامتر مناسب، در نتیجه حذف SQL پلاگین تزریق
  • رابط وب مستقیم به RDBMS که قبلا تجزیه کننده SQL، کاربران، نقش ها و امنیت موجودیت را شامل می شود (اگر نه بصورت مستقیم از طریق ردیف ها یا از طریق نمایش ها).
  • یک مدل قابل خواندن از ماشین SQL که آسان تر است تجزیه شده توسط middleware.
  • بحث از این واقعیت است که SQL مانند JSON، فرمت سریال سازی است. این انسان قابل خواندن است. SQL توضیح خاصی را تعریف می کند که RDBMS باید انجام دهد (به روش خودش)

تأثیر تایید نظریه من

اگر این درست باشد، مشتریان ضخیم وب با لایه کسب و کار خود فعال خواهند شد. بنابراین چنین طبقه ای از انواع سیستم های نرم افزاری بیشتر توجه، در نظر گرفتن و توسعه را دریافت می کند. من معتقدم که این نوع سیستم ها انتخاب خوبی برای پروژه های کوچک برای توسعه سریع و نمونه سازی است.