خبر عجیب و بامزه اینه که یک مشکل امنیتی توی پالیسی کیت لینوکس پیدا شده. کار پالیسی کیت اینه که پروسههای نیازمند دسترسی رو به پروسههای بدون نیاز به دسترسی وصل کنه. در نتیجه مثلا وقتی شما دستور systemctl رو در بسیاری از لینوکس های جدید اجرا میکنید، پالیسی کیت اگر لازم باشه پسورد شما رو می گیره و به سیستمدی میگه که شما دسترسی لازم رو دارین. حالا مشکل چیه؟ پالیسی کیت برای بررسی دسترسی ها از اعداد صحیح (int) استفاده می کنه و اگر کسی با UID بالاتر از ماکزیمم عدد صحیح اون سیستم درخواست بده، …. قاطی می کنه و بهش دسترسی می ده!
فکر کردم باحاله این رو توی ویدئو نشون بدم و نتیجه اش شده این ویدئو:
سایت wttr.in یک هواشناسی تحت ترمینال است. جذابیت خاص؟ با curl که یک ابزار بسیار قدرتمند لینوکسی برای دریافت یو آر الها با تکنیکها و مکانیزمهای و گزینههای مختلف است هم می تونین بهش درخواست بدین. مثلا اگر لینوکس (یا کرل) دارین کافیه این دستور رو بزنین:
یک اکانت اینستاگرام که نمی دونم کی فالوش کردم مسابقه جمعهها برگزار کرده:
موضوع مسابقه پیدا کردن یک کلمه ده حرفی است که مربوط به این شکل باشه و ده حرفی باشه و در جاهای مشخص شده a و q نشسته باشن.
بریم برای جواب؟ در لینوکس بسته scowl رو میشناسم (یا با سرچ بهش می رسم) که بقیه غلطیابهای دیکته ازش استفاده می کنن. این بسته حاوی کلی فایل است که همه کلمات زبان انگلیسی توشه (از آمریکا تا کانادا و دستاشون).
نصبش می کنیم:
jadi@funlife:/tmp$ sudo aptitude install scowl
[sudo] password for jadi:
The following NEW packages will be installed:
scowl
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,249 kB of archives. After unpacking 7,516 kB will be used.
Get: 1 http://ir.archive.ubuntu.com/ubuntu/ utopic/universe scowl all 7.1-1 [2,249 kB]
Fetched 2,249 kB in 9s (248 kB/s)
Selecting previously unselected package scowl.
(Reading database ... 639459 files and directories currently installed.)
Preparing to unpack .../archives/scowl_7.1-1_all.deb ...
Unpacking scowl (7.1-1) ...
Processing triggers for cracklib-runtime (2.9.1-1build1) ...
و به دایرکتوری اش می ریم. چون برنامه اجرایی نیست و تنظیمات و موقت هم نیست منطقا باید راحت در usr/share بشه پیداش کرد.
jadi@funlife:/usr/share/dict/scowl$ cd /usr/share/dict/scowl/
حالا یک نگاه بندازیم ببینیم چه تیپ چیزهایی داریم اینجا:
jadi@funlife:/usr/share/dict/scowl$ ls -ltrh | tail
-rw-r--r-- 1 root root 13K Oct 23 2011 special-hacker.50
-rw-r--r-- 1 root root 2.4M Oct 23 2011 english-words.95
-rw-r--r-- 1 root root 238K Oct 23 2011 english-words.50
-rw-r--r-- 1 root root 34K Oct 23 2011 english-words.10
-rw-r--r-- 1 root root 787K Oct 23 2011 english-proper-names.95
-rw-r--r-- 1 root root 57K Oct 23 2011 british-words.80
-rw-r--r-- 1 root root 56K Oct 23 2011 american-words.80
-rw-r--r-- 1 root root 15K Oct 23 2011 american-words.70
-rw-r--r-- 1 root root 9.1K Oct 23 2011 american-words.50
-rw-r--r-- 1 root root 303 Oct 23 2011 american-words.10
حالا کار راحته: گشتن در همه فایل ها و پیدا کردن چیزی که ترکیب مورد نظر اونها رو داشته باشه. دقت کنیم که در egrep، علامت نقطه یعنی «هرکاراکتری»… علامت ^ یعنی اول خط و علاقمت $ یعنی آخر خط. پس:
یوهاهاها… دو تا آخری که جذاب نیستن. آنتی کوارک که می دونیم چیه، ablaqueate رو توی گوگل سرچ کردم مهم نبود پس جواب ما antiquated است که یعنی کهنه و منسوخ و خارج از مد. جواب رو دادم و منتظرم ببینم چی میگن.
آپدیت: نوید راد پیشنهاد می ده به دلیل نبودن بسته اسکاول در اکثر توزیع ها کد زیر رو هم بذارم:
curl -O -J -L http://sourceforge.net/projects/wordlist/files/latest/download?source=typ_redirect
tar -xvf ./scowl-yyyy.mm.dd.tar.gz # say, scowl-2015.02.15.tar.gz
cd scowl-2015.02.15/final
grep -Ea "^a.{3}q.{5}$" *
بخش اول که دانلود کردن اسکاول از منبعش در سورس فورج است و خط آخر همون رجکس من که کمی بهتر / کمتر خوانا نوشته شده و عوضش یک چیز جدید به شما یاد می ده اگر درست نگاهش کنین: روش اینکه بگیم «از همین قبلی سه تا».