در این مطلب، ویدئو رمزگذاری و رمزگشایی با پایتون | PicoCTF Transformation + net-cat با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:14
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,439 –> 00:00:04,000
به عقب خوش آمدید امروز چه خبر است، ما می
2
00:00:04,000 –> 00:00:06,160
خواهیم pico ctf را شروع کنیم
3
00:00:06,160 –> 00:00:08,720
، می دانم که خیلی دیر شده است و بیشتر شما نام
4
00:00:08,720 –> 00:00:11,360
pico ctf را شنیده اید، اما در واقع
5
00:00:11,360 –> 00:00:12,880
من خیلی مشغول بودم و سعی کردم من را هک کنید و
6
00:00:12,880 –> 00:00:15,920
جعبه و این دو برجسته ترین را در آغوش بگیرید.
7
00:00:15,920 –> 00:00:18,800
وبسایتها را امروز شروع کردم، چرا
8
00:00:18,800 –> 00:00:21,760
pico ctf را درست شروع نمیکنم،
9
00:00:21,760 –> 00:00:24,640
پس من با اولین
10
00:00:24,640 –> 00:00:26,640
چالشهای زوج شروع کردم و آنها بسیار آسان
11
00:00:26,640 –> 00:00:29,840
بودند.
12
00:00:29,840 –> 00:00:32,000
13
00:00:32,000 –> 00:00:33,520
14
00:00:33,520 –> 00:00:35,680
برش و
15
00:00:35,680 –> 00:00:37,680
تبدیل دشوار است، اما من می
16
00:00:37,680 –> 00:00:39,520
گویم که
17
00:00:39,520 –> 00:00:40,559
18
00:00:40,559 –> 00:00:43,200
19
00:00:43,200 –> 00:00:45,039
با انجام این دو چالش، فرصت بسیار خوبی برای یادگیری مفاهیم خوب در پایتون وجود دارد،
20
00:00:45,039 –> 00:00:46,960
بنابراین من
21
00:00:46,960 –> 00:00:49,520
این دو چالش
22
00:00:49,520 –> 00:00:50,879
23
00:00:50,879 –> 00:00:52,480
را
24
00:00:52,480 –> 00:00:54,480
قبل از هر چیزی که وب خود را باز کردم، در ویدیوی امروز انجام خواهم داد. پوسته
25
00:00:54,480 –> 00:00:58,559
و سپس در اینجا من دایرکتوری های uh را سازماندهی کردم
26
00:00:58,559 –> 00:01:00,320
تا هر دایرکتوری
27
00:01:00,320 –> 00:01:02,239
با چالش مطابقت داشته باشد، به عنوان مثال
28
00:01:02,239 –> 00:01:04,400
اطلاعات تبدیل netcat
29
00:01:04,400 –> 00:01:06,240
مطیع netcat
30
00:01:06,240 –> 00:01:09,040
python wrangling و rot13 and inside
31
00:01:09,040 –> 00:01:10,640
ever دایرکتوری y شما همه
32
00:01:10,640 –> 00:01:11,600
فایل های
33
00:01:11,600 –> 00:01:13,280
مربوط به کانال ها را خواهید دید به عنوان مثال اگر
34
00:01:13,280 –> 00:01:15,759
به netcat برویم
35
00:01:15,759 –> 00:01:18,479
uh ببینید این همان اسکریپت uh است که
36
00:01:18,479 –> 00:01:20,320
چالش انفرادی را ایجاد کردم و
37
00:01:20,320 –> 00:01:21,680
این فایلی است که در
38
00:01:21,680 –> 00:01:24,720
کانال ها یا فایل i داده شده است. خوب بله، من فقط
39
00:01:24,720 –> 00:01:26,159
آن فایل
40
00:01:26,159 –> 00:01:27,360
را کشتم و به کانال متاسفم نمی شود،
41
00:01:27,360 –> 00:01:31,600
بنابراین بیایید با نت کات شروع کنیم
42
00:01:31,600 –> 00:01:32,880
43
00:01:32,880 –> 00:01:34,640
تا یک برنامه خوب وجود داشته باشد
44
00:01:34,640 –> 00:01:36,400
که می توانید با استفاده از این
45
00:01:36,400 –> 00:01:38,240
دستور در shell
46
00:01:38,240 –> 00:01:39,439
nc
47
00:01:39,439 –> 00:01:40,960
با آن صحبت کنید و این آدرس است و این
48
00:01:40,960 –> 00:01:41,920
پورت است.
49
00:01:41,920 –> 00:01:43,920
انگلیسی صحبت نمی کند،
50
00:01:43,920 –> 00:01:44,640
بنابراین
51
00:01:44,640 –> 00:01:45,840
همانطور که می بینید، ما باید
52
00:01:45,840 –> 00:01:48,399
به سرور جیوه متصل
53
00:01:48,399 –> 00:01:50,720
شویم زیرا
54
00:01:50,720 –> 00:01:51,520
55
00:01:51,520 –> 00:01:53,280
56
00:01:53,280 –> 00:01:54,640
57
00:01:54,640 –> 00:01:56,560
58
00:01:56,560 –> 00:01:58,560
دارای. به نکاتی
59
00:01:58,560 –> 00:02:00,240
که میبینید نگاه کنید، اگر نمیدانید netcat چیست، میتوانید با استفاده از نتکت
60
00:02:00,240 –> 00:02:01,200
با
61
00:02:01,200 –> 00:02:02,799
مشکل جم پیکو
62
00:02:02,799 –> 00:02:05,119
تمرین کنید و سپس میتوانید
63
00:02:05,119 –> 00:02:07,280
خواندن و نوشتن کلید s را
64
00:02:07,280 –> 00:02:09,119
با مشکل ورزشگاه پیکو تمرین کنید، میدانید
65
00:02:09,119 –> 00:02:10,878
اگر نمیدانید این مشکل از نوع ascii است.
66
00:02:10,878 –> 00:02:13,920
کدگذاری و رمزگشایی از utf 8 بپرسید udf16 از
67
00:02:13,920 –> 00:02:15,360
این جور چیزها
68
00:02:15,360 –> 00:02:17,520
میتوانید به هر حال به سراغ بیایید گرم شویم،
69
00:02:17,520 –> 00:02:19,200
70
00:02:19,200 –> 00:02:22,319
پس بیایید ادامه دهیم و
71
00:02:22,319 –> 00:02:23,680
با استفاده از این دستور وصل شویم، ببینیم چه
72
00:02:23,680 –> 00:02:25,920
اتفاقی میافتد،
73
00:02:28,800 –> 00:02:31,520
آن را کپی کنید
74
00:02:31,920 –> 00:02:34,400
و میبینید که ما اعداد دریافت کردهایم
75
00:02:34,400 –> 00:02:37,840
بیایید نگاهی به اعداد 112 105
76
00:02:37,840 –> 00:02:42,400
99 11 67 بیندازیم. برای اینکه اعداد درست فقط
77
00:02:42,400 –> 00:02:43,360
اعداد باشند
78
00:02:43,360 –> 00:02:45,760
اما در واقع این اعداد اگر
79
00:02:45,760 –> 00:02:47,840
نگاهی بیندازید می توانید این اعداد را به
80
00:02:47,840 –> 00:02:49,599
کاراکتر تبدیل کنید
81
00:02:49,599 –> 00:02:51,040
بنابراین
82
00:02:51,040 –> 00:02:53,519
یک تابع پایتون به نام من نمی دانستم
83
00:02:53,519 –> 00:02:57,120
این تابع در واقع chr نامیده می شود
84
00:02:57,120 –> 00:02:59,040
اگر
85
00:02:59,040 –> 00:03:00,720
به تعریف اینجا بروید همانطور که می توانید ببینید
86
00:03:00,720 –> 00:03:02,480
دریافت نویسه ای که نشان دهنده
87
00:03:02,480 –> 00:03:04,480
یونیکد 97 است.
88
00:03:04,480 –> 00:03:06,879
حالا اگر روی والد یا خود
89
00:03:06,879 –> 00:03:09,599
کلیک کنید، اکنون عدد شماره 97 را می بینید که اکنون
90
00:03:09,599 –> 00:03:11,120
می تواند به کاراکتر تبدیل شود یا
91
00:03:11,120 –> 00:03:13,680
کاراکتر مربوطه a است،
92
00:03:13,680 –> 00:03:16,959
بنابراین می توانیم
93
00:03:17,440 –> 00:03:19,519
نمایش عدد را با استفاده از ascii uh دریافت کنیم.
94
00:03:19,519 –> 00:03:21,120
این تابع
95
00:03:21,120 –> 00:03:22,720
پس به چه معنی است که
96
00:03:22,720 –> 00:03:23,920
این اعداد را
97
00:03:23,920 –> 00:03:26,640
میتوانیم درست بگیریم
98
00:03:26,640 –> 00:03:27,519
و
99
00:03:27,519 –> 00:03:28,560
به سراغ
100
00:03:28,560 –> 00:03:32,920
ابزاری به نام
101
00:03:35,040 –> 00:03:36,959
cyber chef برویم، بنابراین در cyber chef
102
00:03:36,959 –> 00:03:39,840
میتوانیم دستور پخت را در اینجا
103
00:03:39,840 –> 00:03:43,040
بپزیم، اجازه دهید ورودی را بچسبانیم. ut و
104
00:03:43,040 –> 00:03:47,599
از عملیات ما chr را
105
00:03:47,599 –> 00:03:50,239
از روی کد کاراکتر جستجو می کنیم
106
00:03:50,239 –> 00:03:51,920
و همانطور که می بینید
107
00:03:51,920 –> 00:03:54,239
هیچ چیز در اینجا قابل خواندن نیست، بنابراین
108
00:03:54,239 –> 00:03:55,200
ما باید
109
00:03:55,200 –> 00:03:56,879
در اینجا دلومتر را تغییر دهیم اولین چیزی
110
00:03:56,879 –> 00:03:58,720
که مخرج در اینجا خط است، همانطور که می
111
00:03:58,720 –> 00:04:01,360
بینید اعداد با خط از هم جدا شده اند.
112
00:04:01,360 –> 00:04:04,319
بنابراین من می خواهم خط را انتخاب کنم و در اینجا
113
00:04:04,319 –> 00:04:06,799
صفحه باید 10 باشد
114
00:04:06,799 –> 00:04:08,640
و همانطور که می بینید پرچم را دریافت می کنید
115
00:04:08,640 –> 00:04:09,920
این تنها راه حل این
116
00:04:09,920 –> 00:04:11,519
چالش است البته
117
00:04:11,519 –> 00:04:14,000
نه اساساً کاری که من انجام دادم اما شکست خوردم
118
00:04:14,000 –> 00:04:14,879
119
00:04:14,879 –> 00:04:17,759
این یک سلب مسئولیت است من در واقع شکست خوردم،
120
00:04:17,759 –> 00:04:20,880
بنابراین واضح است مگر اینکه یک اسکریپت پایتون ایجاد کرده باشم،
121
00:04:20,880 –> 00:04:22,720
بنابراین بیایید به اسکریپت پایتون نگاهی بیندازیم،
122
00:04:22,720 –> 00:04:25,440
123
00:04:26,560 –> 00:04:27,360
124
00:04:27,360 –> 00:04:29,280
بنابراین اسکریپت پایتون در واقع خط به خط
125
00:04:29,280 –> 00:04:30,400
ورودی را
126
00:04:30,400 –> 00:04:32,479
از فایل می گیرد،
127
00:04:32,479 –> 00:04:34,240
بنابراین تعریف شده است، بنابراین
128
00:04:34,240 –> 00:04:36,160
به فایل نگاهی بیندازید تا متن را بگیرید.
129
00:04:36,160 –> 00:04:38,639
من فایل را در اینجا ایجاد کردم حاوی
130
00:04:38,639 –> 00:04:41,120
خروجی دستور netcat است آنچه انجام دادم این
131
00:04:41,120 –> 00:04:44,160
است که من فقط
132
00:04:44,160 –> 00:04:44,960
این را کپی
133
00:04:44,960 –> 00:04:45,919
کردم
134
00:04:45,919 –> 00:04:48,560
و خروجی را برای
135
00:04:48,560 –> 00:04:50,720
فایل کردن متن ارسال
136
00:04:50,720 –> 00:04:53,280
137
00:04:53,280 –> 00:04:55,759
138
00:04:55,759 –> 00:04:57,759
کردم. میخواهم
139
00:04:57,759 –> 00:05:00,080
140
00:05:00,080 –> 00:05:02,880
خطهای اینجا را یکی یکی تکرار کنم،
141
00:05:02,880 –> 00:05:03,759
خوب،
142
00:05:03,759 –> 00:05:06,240
پس بیایید به کد نانو
143
00:05:06,240 –> 00:05:08,960
رمزگشای api
144
00:05:08,960 –> 00:05:11,840
برگردیم، نه
145
00:05:12,479 –> 00:05:14,000
خوب، بنابراین
146
00:05:14,000 –> 00:05:16,479
در اینجا کاری که من انجام دادم فایل را باز کردم، متن
147
00:05:16,479 –> 00:05:19,199
را از طریق خطوط و
148
00:05:19,199 –> 00:05:22,000
با هر خط برابر برای رمزگذاری آن باز کردم
149
00:05:22,000 –> 00:05:25,039
. تکرار کننده، بنابراین
150
00:05:25,039 –> 00:05:26,639
من اینها را نظر
151
00:05:26,639 –> 00:05:27,600
152
00:05:27,600 –> 00:05:29,520
دادم، می خواهم به شما بگویم که چرا بعداً چنین
153
00:05:29,520 –> 00:05:31,600
گنجانده شده است و سپس
154
00:05:31,600 –> 00:05:34,639
برای خط در رمزگذاری شده است
155
00:05:34,639 –> 00:05:35,520
خوب است،
156
00:05:35,520 –> 00:05:39,600
بنابراین اساساً کد و من از chr استفاده می کنم تا
157
00:05:39,600 –> 00:05:41,440
اولین خط گرفته شده از
158
00:05:41,440 –> 00:05:43,360
کدگذاری شده در واقع با شماره اول در مطابقت داشته باشد
159
00:05:43,360 –> 00:05:45,440
. لیست
160
00:05:45,440 –> 00:05:47,280
و این بدان معنی است که من می توانم
161
00:05:47,280 –> 00:05:49,360
عدد را به
162
00:05:49,360 –> 00:05:51,520
کاراکتر ascii مربوطه
163
00:05:51,520 –> 00:05:53,759
رمزگشایی کنم و نسخه چاپی رمزگشایی شده را بسازم
164
00:05:53,759 –> 00:05:55,759
اولین متغیری است
165
00:05:55,759 –> 00:05:58,319
که تعریف کردم، بنابراین حالا بیایید اسکریپت را اجرا کنیم
166
00:05:58,319 –> 00:05:59,680
تا مشکل
167
00:05:59,680 –> 00:06:02,479
python رمزگشایی
168
00:06:02,479 –> 00:06:04,840
درست باشد بنابراین یک عدد صحیح
169
00:06:04,840 –> 00:06:08,080
مورد نیاز است. رشته به
170
00:06:08,080 –> 00:06:09,520
چه معناست
171
00:06:09,520 –> 00:06:11,919
این بدان معناست که طول می کشد، اجازه دهید
172
00:06:11,919 –> 00:06:14,479
به اسکریپت برگردیم،
173
00:06:14,479 –> 00:06:16,639
بنابراین اکنون این خط خط
174
00:06:16,639 –> 00:06:19,039
اولین مورد در کدگذاری
175
00:06:19,039 –> 00:06:21,520
شده است که اکنون رمزگذاری شده در
176
00:06:21,520 –> 00:06:23,600
هر خط در متن فایل تکرار می شود.
177
00:06:23,600 –> 00:06:25,680
خط اول عدد درست است،
178
00:06:25,680 –> 00:06:28,240
اما آن را به عنوان یک رشته در نظر می گیرد، به
179
00:06:28,240 –> 00:06:31,120
همین دلیل برای من عجیب بود که چه کاری انجام
180
00:06:31,120 –> 00:06:32,960
دادم، گفتم چرا
181
00:06:32,960 –> 00:06:34,479
182
00:06:34,479 –> 00:06:35,759
183
00:06:35,759 –> 00:06:38,000
یک متن را به لیست تبدیل نمی کنم،
184
00:06:38,000 –> 00:06:39,840
بنابراین کاری که انجام
185
00:06:39,840 –> 00:06:43,120
دادم، فقط یک لیست جدید تعریف کردم، خوب است.
186
00:06:43,120 –> 00:06:45,039
لیست جدید در
187
00:06:45,039 –> 00:06:47,039
واقع لیستی است که شامل تمام
188
00:06:47,039 –> 00:06:49,120
موارد متن دعوت شده
189
00: