TO DONATE : BTC => 1BU6R1C4AQ77LjLZswQNKFwAupw61i88Kn || PM => U4089661


اهم قوانين :1- منع الردود الباهتة مثل شكرااااا و أخواتها 2- لا يسمح بالمشاحنات الطائفية باآ شكل من الأشكال 3- عدم استعمال الألفاظ التافهة و الكلام البذىء 4- عدم وضع معرفات التواصل الأجتماعى بالردود 5- الأطلاع على كامل القوانين واجب 


العودة   الحماية للأبد -Security 4 Ever > قسم الدورات التعليميه > دورات الاعضاء > دورة البيرل Perl

دورة البيرل Perl خاص بدورة البيرل 2014

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 28-06-2014, 10:28 PM
الصورة الرمزية b0y
b0y
مراقب
 
حـالة التــواجـد : b0y غير متواجد حالياً
تاريخ التسجيل: Jan 2013
الجــــنــــــس: ذكـر
المشاركات: 747
شكراً:3,113
تم شكره 2,558 مرة في 509 مشاركة
معدل تقييم المستوى: 7
b0y على طريق التميز
افتراضي الدرس السادس: مدخل للتعابير القياسية

السلام عليكم

للإستفسار و مناقشة التطبيق

بالتوفيق

حل التطبيقات

نبدأ مع الحل للتطبيق الأول:

كود:
open(LOG,"<".$ARGV[0]) or die $!;
open(OUT,">pass.txt") or die $!;
while(<LOG>)
{
chomp;
print OUT "$2\n" if $_ =~ /\'user\', \'(.*?)\', \'pass\', \'(.*?)\',/;
}
close(LOG,OUT);
في الأسطر:

اقتباس:
open(LOG,"<".$ARGV[0]) or die $!;
open(OUT,">pass.txt") or die $!;
 
قمت بفتح الملف من المتغيير $ARGV[0] أي أول شيء يوضع بعد إسم الأداة عند التشغيل و قم بإستعمال or die $!, فالor ينفذ ما بعدها عندما يحدث خطأ في الopen ممكن لا يستطيع فتح الملف بسبب الصلاحية أو أن الملف غير موجود, و ال$! كما ذكرنا سابقا فهي تحتوي على الخطأ. ثم أنشئنا الملف الذي سيحفظ الباسووردات بإسم pass.txt

اقتباس:
while(<LOG>)
{
chomp;
 
بدأنا بقرائة الملف الموضوع, هنا المتغيير الdefault هو $_ لذلك لا نحتاج لتحديده عند الchomp
ثم بالأسطر:
اقتباس:
print OUT "$2\n" if $_ =~ /\'user\', \'(.*?)\', \'pass\', \'(.*?)\',/;
 
في البداية الregex:
اقتباس:
/\'user\', \'(.*?)\', \'pass\', \'(.*?)\',/
 
هنا عملنا backslash لل, لأنها قد تعتبر special character (سنتكلم عنها في الجزأ الثاني إن شاء الله)
طبعا لدينا في هذا الregex تطابق ل2 الأول هو ما بعد الuser, و الثاني ما بعد الpass, نحن نحتاج الثاني, لذا قمنا بقرانة كل سطر بالملف $ARGV[0] على هذا الregex و في حال تم التطابق (إستعمال if) سيطبع $2 (أي الماتش الثاني) في الملف pass.txt.
ثم
اقتباس:
close(LOG,OUT);
 
أغلقنا الملفات.

التطبيق الثاني:
كود:
open(LOG,"<".$ARGV[0]) or die $!;
open(OUT,">pass.txt") or die $!;
while(<LOG>)
{
chomp;
print gen($1) if $_ =~ /\'user\', \'.*?\', \'pass\', \'(.*?)\',/;
}
close(LOG);

sub gen {
$a[0] = uc($_[0]);
$a[1] = lc($_[0]);
$a[2] = $_[0];
print OUT $_."\n" foreach(@a);
}
نفس الأول لكن هنا إستعملت sub بإسم gen ليطبع الشكل الuc و الlc و الطبيعي للمعطى له, في الملف pass.txt

حلول UzunDZ:

كود:
 #UzunDz

print "\nRegex @ UzunDz:\n\n"; 
if(scalar(@ARGV) == 0){ 
    print "[+] usage:\n\tex: perl $0 file1.txt";
}else{
# reading
    open (file, "<".$ARGV[0]);
    while($line = <file>)
    {
    if($line =~ m/'user', '.*', 'pass', '(.*?)'/) {
        open (file2, ">>pass.txt");
        print "$1\n";
        print file2 "$1\n";
        print uc("$1\n");
        print file2 uc("$1\n");
        print lc("$1\n");
        print file2 lc("$1\n");
    }
    close file2;
    }
    close file;
    print "\n";
}
في البداية طبع Regex @ UzunDz: عبر
اقتباس:
print "\nRegex @ UzunDz:\n\n";
 
ثم وضع تحقق في حال عدم وضع أي ملف في الcommand line, يتم طبع الusage:
اقتباس:
if(scalar(@ARGV) == 0){
print "[+] usage:\n\tex: perl $0 file1.txt";
 
ثم في حال تم وضع أي ملف (عبر ال}else{) ستتم القرائة و الطباعة في حال التطابق على الregex التالي:
اقتباس:
m/'user', '.*', 'pass', '(.*?)'/
 
(كما ذكرنا في الدرس لا داعي لإستعمال الm مع ال//) هنا عمل ماتشينغ لما بعد الpass فقد أي لديه التطابق في المتغيير $1.

بالتوفيق و أتمنى أي شي غير واضح يتم السؤال عنه في هذا الموضوع.  

 

 



اقتباس:
المشاركة الأصلية كتبت بواسطة ApOcalYpse مشاهدة المشاركة

فقط توقف عن طلب النتيجة و تخيلها و السعي خلفها و قم بما عليك القيام به
...
الناس تحب النتيجة و لكنها تكره الطريق الصعب الذي يوصل اليها
اقتباس:
المشاركة الأصلية كتبت بواسطة Sec4ever مشاهدة المشاركة

فيه حكمة مهمة جدا ينقصنا نحن المسلمون العمل بها حتى تكون لنا مكانة بين الأخرين :

يجب العمل قدر المستطاع و ليس قدر الحاجة .
اقتباس:
المشاركة الأصلية كتبت بواسطة UzunDz مشاهدة المشاركة

ثانيا فيه ادمغة من العرب وموجودين معنا هنا بالمنتدى ويقدمو مواضيع ما تجدها عند الأجانب والتقليل من شان العرب امام الأجانب يسمى جهل و نقص في الشخصية ونوعية هذا الكلام لا تفيدنا الا في الرجوع الى الوراء,, وان كنت شايف نفسك متوقف في كيفية صنع ليتر فهذا لا يعني ان الجميع متوقف هناك بمعنى آخر لا تتكلم بصيغة الجمع عن العرب لأنك تمثل نفسك فقط
اقتباس:
المشاركة الأصلية كتبت بواسطة chevr0sky مشاهدة المشاركة

أنصحك بالتشمير عن سواعدك و الكد و التعب و كذلك سهر الليالي فلا توجد خلطة أو وصفة توصلك إلى مبتغاك.

رد مع اقتباس
6 أعضاء قالوا شكراً لـ b0y على المشاركة المفيدة:
  #2  
قديم 29-06-2014, 01:46 AM
الصورة الرمزية UzunDz
UzunDz
فريق الحماية للأبد
 
حـالة التــواجـد : UzunDz غير متواجد حالياً
تاريخ التسجيل: Oct 2011
الجــــنــــــس: ذكـر
المشاركات: 1,671
شكراً:4,471
تم شكره 5,465 مرة في 1,364 مشاركة
معدل تقييم المستوى: 10
UzunDz على طريق التميز
افتراضي رد: الدرس السادس: مدخل للتعابير القياسية



modifiers هي نفسها الـ flags ؟

نقطة اعتقد لم يتم شرحها : الـ escape للـ special chars داحل التعبير القياسي
ايظا شرح الـ set والـ groupe

 
الصور المرفقة
نوع الملف: jpg regex.jpg‏ (19.0 كيلوبايت, المشاهدات 111)
رد مع اقتباس
2 أعضاء قالوا شكراً لـ UzunDz على المشاركة المفيدة:
  #3  
قديم 29-06-2014, 09:17 PM
الصورة الرمزية b0y
b0y
مراقب
 
حـالة التــواجـد : b0y غير متواجد حالياً
تاريخ التسجيل: Jan 2013
الجــــنــــــس: ذكـر
المشاركات: 747
شكراً:3,113
تم شكره 2,558 مرة في 509 مشاركة
معدل تقييم المستوى: 7
b0y على طريق التميز
افتراضي رد: الدرس السادس: مدخل للتعابير القياسية

اقتباس:
المشاركة الأصلية كتبت بواسطة UzunDz مشاهدة المشاركة



modifiers هي نفسها الـ flags ؟

نقطة اعتقد لم يتم شرحها : الـ escape للـ special chars داحل التعبير القياسي
ايظا شرح الـ set والـ groupe

تمام حل جميل. التعديلات في الرسالة
بخصوص الmodifiers نعم أنا عبرت عنها بأنها flags.
نعم معك حق بخصوص الescape للspecial chars إن شاء الله إرجع أضيفها. أما بخصوص الset و groupe لم أفهم قصدك.  

 

 



اقتباس:
المشاركة الأصلية كتبت بواسطة ApOcalYpse مشاهدة المشاركة

فقط توقف عن طلب النتيجة و تخيلها و السعي خلفها و قم بما عليك القيام به
...
الناس تحب النتيجة و لكنها تكره الطريق الصعب الذي يوصل اليها
اقتباس:
المشاركة الأصلية كتبت بواسطة Sec4ever مشاهدة المشاركة

فيه حكمة مهمة جدا ينقصنا نحن المسلمون العمل بها حتى تكون لنا مكانة بين الأخرين :

يجب العمل قدر المستطاع و ليس قدر الحاجة .
اقتباس:
المشاركة الأصلية كتبت بواسطة UzunDz مشاهدة المشاركة

ثانيا فيه ادمغة من العرب وموجودين معنا هنا بالمنتدى ويقدمو مواضيع ما تجدها عند الأجانب والتقليل من شان العرب امام الأجانب يسمى جهل و نقص في الشخصية ونوعية هذا الكلام لا تفيدنا الا في الرجوع الى الوراء,, وان كنت شايف نفسك متوقف في كيفية صنع ليتر فهذا لا يعني ان الجميع متوقف هناك بمعنى آخر لا تتكلم بصيغة الجمع عن العرب لأنك تمثل نفسك فقط
اقتباس:
المشاركة الأصلية كتبت بواسطة chevr0sky مشاهدة المشاركة

أنصحك بالتشمير عن سواعدك و الكد و التعب و كذلك سهر الليالي فلا توجد خلطة أو وصفة توصلك إلى مبتغاك.

رد مع اقتباس
  #4  
قديم 29-06-2014, 09:27 PM
الصورة الرمزية UzunDz
UzunDz
فريق الحماية للأبد
 
حـالة التــواجـد : UzunDz غير متواجد حالياً
تاريخ التسجيل: Oct 2011
الجــــنــــــس: ذكـر
المشاركات: 1,671
شكراً:4,471
تم شكره 5,465 مرة في 1,364 مشاركة
معدل تقييم المستوى: 10
UzunDz على طريق التميز
افتراضي رد: الدرس السادس: مدخل للتعابير القياسية

اقتباس:
المشاركة الأصلية كتبت بواسطة b0y مشاهدة المشاركة

تمام حل جميل. التعديلات في الرسالة
بخصوص الmodifiers نعم أنا عبرت عنها بأنها flags.
نعم معك حق بخصوص الescape للspecial chars إن شاء الله إرجع أضيفها. أما بخصوص الset و groupe لم أفهم قصدك.
مثلا لو بدي اعمل match لأحرف من f الى k
اسويه هكذا :
كود PHP:
[f-k
هذا يسمى الـ set

اما الـ groupe فهو ما يوضع بين قوسين

كود PHP:
<cite>(.*?)</cite
الجروب هو هذا :
كود PHP:
(.*?) 
ويرجع في المصفوفة في القيمة 1
واذا ضفت جروب ثاني يرجع في المصفوفة في القيمة 2

فاهمهم شوي بس ما اعرف اشرح  
رد مع اقتباس
2 أعضاء قالوا شكراً لـ UzunDz على المشاركة المفيدة:
  #5  
قديم 02-07-2014, 11:29 AM
الصورة الرمزية b0y
b0y
مراقب
 
حـالة التــواجـد : b0y غير متواجد حالياً
تاريخ التسجيل: Jan 2013
الجــــنــــــس: ذكـر
المشاركات: 747
شكراً:3,113
تم شكره 2,558 مرة في 509 مشاركة
معدل تقييم المستوى: 7
b0y على طريق التميز
افتراضي رد: الدرس السادس: مدخل للتعابير القياسية

تم طرح الحل, بالتوفيق  

 

 



اقتباس:
المشاركة الأصلية كتبت بواسطة ApOcalYpse مشاهدة المشاركة

فقط توقف عن طلب النتيجة و تخيلها و السعي خلفها و قم بما عليك القيام به
...
الناس تحب النتيجة و لكنها تكره الطريق الصعب الذي يوصل اليها
اقتباس:
المشاركة الأصلية كتبت بواسطة Sec4ever مشاهدة المشاركة

فيه حكمة مهمة جدا ينقصنا نحن المسلمون العمل بها حتى تكون لنا مكانة بين الأخرين :

يجب العمل قدر المستطاع و ليس قدر الحاجة .
اقتباس:
المشاركة الأصلية كتبت بواسطة UzunDz مشاهدة المشاركة

ثانيا فيه ادمغة من العرب وموجودين معنا هنا بالمنتدى ويقدمو مواضيع ما تجدها عند الأجانب والتقليل من شان العرب امام الأجانب يسمى جهل و نقص في الشخصية ونوعية هذا الكلام لا تفيدنا الا في الرجوع الى الوراء,, وان كنت شايف نفسك متوقف في كيفية صنع ليتر فهذا لا يعني ان الجميع متوقف هناك بمعنى آخر لا تتكلم بصيغة الجمع عن العرب لأنك تمثل نفسك فقط
اقتباس:
المشاركة الأصلية كتبت بواسطة chevr0sky مشاهدة المشاركة

أنصحك بالتشمير عن سواعدك و الكد و التعب و كذلك سهر الليالي فلا توجد خلطة أو وصفة توصلك إلى مبتغاك.

رد مع اقتباس
  #6  
قديم 17-12-2014, 10:44 PM
الصورة الرمزية ElSyad
ElSyad
عضو مميز
 
حـالة التــواجـد : ElSyad غير متواجد حالياً
تاريخ التسجيل: Feb 2013
مكـان الإقامـة : Egypt
الجــــنــــــس: ذكـر
المشاركات: 121
شكراً:406
تم شكره 139 مرة في 34 مشاركة
معدل تقييم المستوى: 0
ElSyad بدون تقييم
افتراضي رد: الدرس السادس: مدخل للتعابير القياسية

وعليكم السﻻم
الحمد لله رب العالمين تم فهم الدرس مية مية وتم التطبيق ولكن بطلب ادخال ملف
التطبيق
كود PHP:
#!/usr/bin/perl

print "in the name of Allah\n";
print 
"ElSyad\@Sec4ever\n";
print 
"Please enter file to read: ";

$boy = <stdin>;

open (LOG"<".$boy) or die $!;

open (OUT">pass.txt") or die $!;

while (
$sec = <LOG>)
{

if (
$sec =~ /\'user\', \'(.*?)\', \'pass\', \'(.*?)\',/)

{
print OUT "$2\n" ;
}

}


close (LOG,OUT); 
صورة من بعد التطبيق والحمد لله

متابع بإذن الله معاكم
موفقين جميعاً
 

 

 

You either die a Hero or you live long enough to see yourself become
the Villain
ask.fm/ElSyad
الصياد /.

رد مع اقتباس
الأعضاء الذين قالوا شكراً لـ ElSyad على المشاركة المفيدة:


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
[شرح كتابى] الدرس السادس: مدخل للتعابير القياسية b0y دورة البيرل Perl 0 28-06-2014 10:27 PM
دورة php ~ الدرس السادس Switch Offensive دورة لغة ال php مقدمة من Offensive 18 24-11-2013 10:03 AM
استفسارات الدرس السادس Dr.abolalh دورة تعليم اختراق الاجهزة 0 27-02-2012 04:59 PM
استفسارات الدرس السادس FoX HaCkEr دورة الحمايه للابد لاختراق المواقع والسيرفرات 5 10-02-2011 04:42 AM
[الدرس السادس] دورة تعلم html FoX HaCkEr دورة ال HTML مقدمة من FoX HaCkEr 2 03-09-2010 03:31 AM


الساعة الآن 03:11 PM