چالش شماره 2 - به دنبال یک اسم و فامیل :) + (معرفی برندگان چالش قبلی) :: Mr Python | مستر پایتون

چالش شماره 2 - به دنبال یک اسم و فامیل :) + (معرفی برندگان چالش قبلی)

  • ۷۲۷

چالش شماره 2 - به دنبال یک اسم و فامیل :) + (معرفی برندگان چالش قبلی)

 

درود به همه !

طبق درخواست شما دوستان عزیز ، تصمیم گرفتیم به طور هفتگی چالش هایی برای شما عزیزان آماده کنیم که میتوانند به یادگیری و تثبیت مطالب در ذهن شما بسیار کمک کنند . چالش امروز رو از دست ندید .

شماره چالش : 
سطح چالش : متوسط
دسته بندی : جمع آوری اطلاعات / Information Gathering

توضیح :

ما یک فایل PDF رمزگذاری شده داریم . برای حل چالش رمز فایل PDF را بدست بیاورید .

 

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

نکته : بین اسم و فامیل یک عدد فاصله (Space) وجود دارد

لینک دانلود مستقیم فایل PDF : دانلود

 

منابع مورد نیاز برای حل این چالش : 

 

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

 

بعد از اینکه حل کردید به ما از طریق جیمیلمون بگید :)) 

Gmail : mrpythonblog@gmail.com

 

 

لیست برندگان چالش قبلی به همراه اسکریپت های نوشته شده ( به ترتیب تاریخ ارسال جواب چالش ) :

  • dany_ odr :  اولین نفری بودن که چالش رو حل کردند . برای کرک کردن فایل PDF از کتابخونه ی pikepdf استفاده کردند . همچنین برای ساختن ترکیب های مختلف از پسوورد (با توجه به شرایط ذکر شده از رمز فایل) از کتابخونه ی Bruter استفاده کرده بودند .
import pikepdf
from bruter import brute

password_list = []

def append2list(password):
    password_list.append(password)

def cracker(password):
    try:
        pikepdf.open("challenge1.pdf", password)
        return True
    except:
        return False

if __name__ == "__main__":
    symbols = {"1":"2357", 
               "3":"7", 
               "4":"13579", 
               "5":"02468", 
               "6":"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}
               
    brute("<1><1><3><4><5><6>", append2list, symbols)

    for password in password_list:
        if cracker(password):
            print("_"*30)
            print("[-] Password craked.")
            print("[-] Password is {}".format(password))
            print("_"*30)
            break
        else:
            print("[Trying] file: challenge1.pdf - password: {}".format(password))
            continue
  • Ali Zabetpor : برای کرک کردن فایل PDF از کتابخونه ی pikepdf استفاده کردند . همچنین برای ساخت پسوورد لیست با توجه به شرایط پسوورد یک اسکریپت جدا نوشته بودند که با استفاده از حلقه های for تو در تو ، پسوورد ها رو تولید کرده بودند .

سورس تولید پسوورد لیست : 

# from os import write
import string
darsad=0
with open("passwordlist.txt","w") as f:
    for first in [2,3,5,7]:
        for second in [2,3,5,7]:
            for third in [7]:
                for forth in [1,3,5,7,9]:
                    for fifth in [0,2,4,6,8]:
                        for sixth in list(string.ascii_uppercase):
                            mypass=str(first)+str(second)+str(third)+str(forth)+str(fifth)+sixth
                            f.writelines(mypass+"\n")

        darsad+=25
        print(str(darsad)+"% takmil shod")

سورس کرک فایل PDF با استفاده  از پسوورد لیست ساخته شده :

import pikepdf
with open("passwordlist.txt","r") as f:
    for password in f:
        new_password=password.replace("\n","")
        try:
            pikepdf.open("challenge1.pdf",new_password)
            print(f"password file pdf: {new_password}")
        except:
            continue

 

  • Amirreza Ghamilouei : برای کرک کردن فایل pdf از کتابخونه ی pikepdf استفاده کردند . برای ساختن پسوورد لیست نیز از ابزار crunch در لینوکس استفاده کردند که به وسیله ی اون میشه پسوورد لیست های دلخواه تولید کرد . اسکریپتشون به دلایلی در دسترس نبود  ولی کاملا صحیح این چالش رو حل کرده بودند .
  • Farough Oghba : از کتابخونه ی pikepdf برای کرک کردن فایل PDF استفاده کرده بودند . همچنین برای تولید ترکیب های مختلف پسوورد ( با توجه به شرایط پسوورد ) از کتابخونه ی itertools و تابع product بهره گرفته بودند .
import pikepdf
import string
import itertools

primes = ["2", "3", "5", "7"]
odds = ["1", '3', '5', '7', '9']
evens = ['0', '2', '4', '6', '8']
chars = string.ascii_uppercase

passwords = []
pdf_file = 'challenge1.pdf'

# Create a password list
for prime1, prime2, odd, even, char in itertools.product(primes, primes, odds, evens, chars):
  password = prime1 + prime2 + '7' + odd + even + char
  passwords.append(password)

# Find the correct password
for pass_word in passwords:
  print(f"Testing : {pass_word}")
  try:
    pikepdf.open(pdf_file, pass_word)
    print("*"*50)
    print(f"Password : {pass_word}")
    break
  except:
    continue   

 

یا حق !

Telegram Channel : @mrpythonblog

  • سلام بیا ببین چی پیدا کردم سایت جالبیه :)

    https://www.pic2map.com/duflxb.html

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

    درود بر شما.

     

    رمز ****** ******* هستش که من روز بعد از گذاشتن چالش تو جیمیل بهتون گفتم

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

     

    ممنونم از شما. بی صبرانه منتظر چالش بعدی هستم.

    پاسخ:
    درود . بله رمز شما کاملا صحیح بوده . با عرض پوزش مشکل از فایل پی دی اف ما بوده که لینکش اصلاح شده :))
  • بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است

    ****** *******  موسس شرکت *****

     

    اما هر جور میزنم pdf باز نمیشه

    پاسخ:
    درود . کاملا صحیحه این پسوورد . 
    پوزش . مشکل از ما بوده . لینک فایل پی دی اف اصلاح شد .
  • بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است

    ****** ******** بنیانگذار شرکت *****؟؟

     

    پاسخ:
    درود .
    کاملا صحیح :)
  • بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است

    سلام 

    ***** * ***** ******* *****

    ******** ****** *******

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

    پاسخ:
    سلام . کاملا صحیحه پسوورد . 
    مشکل از فایل پی دی اف ما بوده که اصلاح شده .
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی