🎄 یک برنامه نویس تنبل
🔶 اتفاقات دیروز لبنان نشان می دهند که هر وسیله ای می توان به قابلیت انفجار تبدیل کرد. من مدتی مونتاژکار الکترونیک بودم که هر بار بردی که قطعه ریزی و تست می کردم که ولتاژهایی که بالا و پایین می شد یا قطعه ای که بهم چسیبده می ترکید و البته خطرناک هم بود چون…
This media is not supported in your browser
VIEW IN TELEGRAM
👍5
Forwarded from Pishro App
اینجور مواقع شما دیگه نمیخواید یه کامیت جدید بزنید و دلتون میخواد که همین تغییر کوچیک رو روی کامیت قبلیتون بزنید
git commit –amend
هر تغییری که دادید رو روی کامیت قبلیتون ثبت کنید
git commit --amend -m “this fixes the previous oopsies”
اطلاعات بیشتر :
https://smartlogic.io/blog/git-commit-amend/
#trick
#git
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1👎1
Forwarded from Golden Code (@lix)
در لاراول orderByRaw بهتون این امکان رو میده که نتایج رو بتونید بر اساس یه سری محاسبات خاصی مرتب کنید.
مثلا ؟
میتونیم نتایج رو بر اساس اختلاف بین دو ستون ( قیمت و تخفیف) مرتب کنیم!
این آپشن یه سری جاها کدارو واقعا بهینه میکنه.
#laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1836004683594469864?t=IGgicccC4LllTLBm0hRviw&s=19
مثلا ؟
میتونیم نتایج رو بر اساس اختلاف بین دو ستون ( قیمت و تخفیف) مرتب کنیم!
این آپشن یه سری جاها کدارو واقعا بهینه میکنه.
#laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1836004683594469864?t=IGgicccC4LllTLBm0hRviw&s=19
X (formerly Twitter)
Backpack for Laravel (@laravelbackpack) on X
#Laravel Tip
The eloquent's method `orderByRaw()` lets us simply pass a raw query to order the results.
For example, sorting by the difference between two columns.
The eloquent's method `orderByRaw()` lets us simply pass a raw query to order the results.
For example, sorting by the difference between two columns.
❤3👍1
Forwarded from Web Application Security
یه آسیب پذیری ظاهرا بی ارزش =
کد زیر رو در نظر بگیرین:
سناریو اینه که این فایل مربوط به یکی از فایل های پنل ادمینه که طبیعتا باید فقط ادمین دسترسی داشته باشه، از داخل sessionی که برای هر کاربر ست کرده چک میکنه ببینه اگه سطح دسترسی ای که به این کاربر داده ادمین نبود redirect کنه به صفحه home.
مشکلی که تو این کد هست اینه که درسته redirect میکنه ولی جلوی اجرا شدن کد رو نمیگیره بعد redirect و باعث میشه مابقی کد هم اجرا بشن بعد redirect. ولی چه تهدیدی داره؟
1⃣ افشا شدن response بعد از redirect :
اگه با دستور زیر به اون مسیر curl بزنیم میتونیم کل ریسپانس رو ببینیم:
نکته : ما فقط میتونیم response رو ببینیم نه سورس کد اپلیکیشن. ممکنه برنامه نویس از توابعی استفاده کرده باشه که اطلاعات مهمی رو روی صفحه چاپ کنه مثل echo. برای درک بهتر کد زیر رو در نظر بگیرید :
2⃣ تست آسیب پذیری های مختلف!
کد زیر رو در نظر بگیرین:
آسیب پذیری ای که این کد داره Command Injectionهست. ولی نکته ای که مهمه اینه که این صفحه چون redirect میکنه خیلیا اینجا parameter fuzz انجام نمیدن و آسیب پذیری های این صفحه فقط با دسترسی ادمین قابل دیدن و تست کردنه، ولی بخاطر اشتباه برنامه نویس مهاجم میتونه parameter fuzz انجام بده و آسیب پذیری های مختلفی رو تست کنه که بسته به logic برنامه ممکنه آسیب پذیری های مختلفی رو داشته باشه. اگه باگ هانترین حتما به این نکته توجه داشته باشین موقع مواجه شدن با redirect ها.
نمونه پیلود با curl برای تست آسیب پذیری :
نکته مهم : کد های نوشته شده با php رو اگه تو سیستمتون اجرا کنین به درستی کار نمیکنن چون باید خودتون session کاربر رو ست کنین.
⁉️روش جلوگیری چیه؟
بعد redirect باید جلوی اجرا شدن ادامه کد رو بگیریم که میتونیم با توابع زیر انجام بدیم:
اسم آسیب پذیری :
Execution After Redirect = EAR
#EAR
#parameter_fuzz
کد زیر رو در نظر بگیرین:
<?php
session_start();
if($_SESSION['is_admin'] != true)
{
header("Location: /home.php");
}
// Application code is here
?>
سناریو اینه که این فایل مربوط به یکی از فایل های پنل ادمینه که طبیعتا باید فقط ادمین دسترسی داشته باشه، از داخل sessionی که برای هر کاربر ست کرده چک میکنه ببینه اگه سطح دسترسی ای که به این کاربر داده ادمین نبود redirect کنه به صفحه home.
مشکلی که تو این کد هست اینه که درسته redirect میکنه ولی جلوی اجرا شدن کد رو نمیگیره بعد redirect و باعث میشه مابقی کد هم اجرا بشن بعد redirect. ولی چه تهدیدی داره؟
1⃣ افشا شدن response بعد از redirect :
اگه با دستور زیر به اون مسیر curl بزنیم میتونیم کل ریسپانس رو ببینیم:
curl https://target.com/admin_panel.php
نکته : ما فقط میتونیم response رو ببینیم نه سورس کد اپلیکیشن. ممکنه برنامه نویس از توابعی استفاده کرده باشه که اطلاعات مهمی رو روی صفحه چاپ کنه مثل echo. برای درک بهتر کد زیر رو در نظر بگیرید :
<?php
if($_SESSION['is_admin'] != true)
{
hedaer("Location : /home.php");
}
echo "username : adm2ish";
echo "password : pa19ehw";
?>
2⃣ تست آسیب پذیری های مختلف!
کد زیر رو در نظر بگیرین:
<?php
session_start();
if($_SESSION['is_admin'] != true)
{
header("Location: /home.php");
}
if (isset($_GET['cmd']) && !empty($_GET['cmd'])) {
$admin_input = $_GET['cmd'];
echo system("ping $admin_input");
} else {
echo "No command provided.";
}
?>
آسیب پذیری ای که این کد داره Command Injectionهست. ولی نکته ای که مهمه اینه که این صفحه چون redirect میکنه خیلیا اینجا parameter fuzz انجام نمیدن و آسیب پذیری های این صفحه فقط با دسترسی ادمین قابل دیدن و تست کردنه، ولی بخاطر اشتباه برنامه نویس مهاجم میتونه parameter fuzz انجام بده و آسیب پذیری های مختلفی رو تست کنه که بسته به logic برنامه ممکنه آسیب پذیری های مختلفی رو داشته باشه. اگه باگ هانترین حتما به این نکته توجه داشته باشین موقع مواجه شدن با redirect ها.
نمونه پیلود با curl برای تست آسیب پذیری :
curl "https://target.com/admin_panel.php?cmd=1.1.1.1|whoami"
curl "https://target.com/admin_panel.php?cmd=1.1.1.1||whoami||"
curl "https://target.com/admin_panel.php?cmd=1.1.1.1;whoami"
نکته مهم : کد های نوشته شده با php رو اگه تو سیستمتون اجرا کنین به درستی کار نمیکنن چون باید خودتون session کاربر رو ست کنین.
⁉️روش جلوگیری چیه؟
بعد redirect باید جلوی اجرا شدن ادامه کد رو بگیریم که میتونیم با توابع زیر انجام بدیم:
<?php
exit()
die()
?>
اسم آسیب پذیری :
Execution After Redirect = EAR
#EAR
#parameter_fuzz
👍4❤1
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
در نسخه 6.12 لینوکس، امکان نمایش کد QR در هنگام وقوع کرنل پنیک به صورت اختیاری اضافه شده است.
این ویژگی از طریق زیرساخت مدیریت خطای DRM Panic اضافه شده و در اواسط سپتامبر به هسته لینوکس اضافه خواهد شد.
این قابلیت به کاربران اجازه میدهد تا در صورت وقوع خطای “صفحه مرگ” در DRM، یک کد QR نمایش داده شود. این کد QR میتواند اطلاعات زیادی را که ممکن است در خروجی متنی ساده به سختی قابل دریافت باشد، به صورت کاربرپسندتری نمایش دهد.
این ویژگی با زبان برنامهنویسی Rust نوشته شده و برای استفاده از آن باید ساخت هسته با پشتیبانی از Rust فعال باشد. همچنین، این قابلیت توسط سوئیچ ساخت Kconfig به نام DRM_PANIC_SCREEN_QR_CODE کنترل میشود و امکان تنظیم URL پایه کد QR و نسخه کد QR برای مقدار دادههای اشکالزدایی که میتوان ذخیره کرد، وجود دارد.
——————-
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
http://seilany.ir
این ویژگی از طریق زیرساخت مدیریت خطای DRM Panic اضافه شده و در اواسط سپتامبر به هسته لینوکس اضافه خواهد شد.
این قابلیت به کاربران اجازه میدهد تا در صورت وقوع خطای “صفحه مرگ” در DRM، یک کد QR نمایش داده شود. این کد QR میتواند اطلاعات زیادی را که ممکن است در خروجی متنی ساده به سختی قابل دریافت باشد، به صورت کاربرپسندتری نمایش دهد.
این ویژگی با زبان برنامهنویسی Rust نوشته شده و برای استفاده از آن باید ساخت هسته با پشتیبانی از Rust فعال باشد. همچنین، این قابلیت توسط سوئیچ ساخت Kconfig به نام DRM_PANIC_SCREEN_QR_CODE کنترل میشود و امکان تنظیم URL پایه کد QR و نسخه کد QR برای مقدار دادههای اشکالزدایی که میتوان ذخیره کرد، وجود دارد.
——————-
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
http://seilany.ir
👍6
🔸ژاکت به عنوان مرجع بازار وردپرس ایران پی دی افی با عنوان اولین گزارش جامع وردپرس در ایران منتشر کرده
@TheRaymondDev
@TheRaymondDev
👍2
🔶 از زمانی که پاول توسط فرانسه دستگیر شد که تلگرام مجبور است, قوانین کپی رایت به درستی اجرا کند.
مخصوصا کانال های دانلود انیمه, فایل هاشون به مشکل کپی رایت خوردند و باعث از دست رفتن کانال می شود.
ممکن است این قانون برای کانال های دانلود فیلم و سریال تلگرام اجرا شود.
@TheRaymondDev
مخصوصا کانال های دانلود انیمه, فایل هاشون به مشکل کپی رایت خوردند و باعث از دست رفتن کانال می شود.
ممکن است این قانون برای کانال های دانلود فیلم و سریال تلگرام اجرا شود.
@TheRaymondDev
❤5👍5💔4😭1
Forwarded from Linuxor ?
آیا همیشه چیز های خفن همه گیر میشن؟
حقیقت تلخ نه هستش، شما بهترین و خفن ترین پروژه دنیا هم بسازید هیچ کس قرار نیست ببینتش چون خفنه
توی این چند سال اخیر لینوکس به اندازه عمر 30 و خورده ای سالش بخاطر پروژه های تجاری مثل Steam تونسته یوزر جذب کنه، شاید حتی بخش بزرگی از یوزرها از مزیت های لینوکس خبر نداشته باشن فقط چون در معرض دیده شدن قرار گرفته اوناهم گفتن "بد نیست یه تستی کنیم"
پیشنهاد من اینه که اگه کاری یا پروژه ای رو شروع میکنید برای اینکه بعدا دلسرد نشید به قابلیت تجاری شدنش هم فکر کنید مثلا اگه دارین یه لایبری مینویسین شاید تا اخر عمرتون روش کار کنید و یه جامعه کوچیک ازش استفاده کنن، یا همین امشب به به طور فان یه ربات تلگرامی چند هزار خطی رفرالی بنویسید هفته بعد چند میلیون دنبال کننده داشته باشید
🐧 @Linuxor
حقیقت تلخ نه هستش، شما بهترین و خفن ترین پروژه دنیا هم بسازید هیچ کس قرار نیست ببینتش چون خفنه
توی این چند سال اخیر لینوکس به اندازه عمر 30 و خورده ای سالش بخاطر پروژه های تجاری مثل Steam تونسته یوزر جذب کنه، شاید حتی بخش بزرگی از یوزرها از مزیت های لینوکس خبر نداشته باشن فقط چون در معرض دیده شدن قرار گرفته اوناهم گفتن "بد نیست یه تستی کنیم"
پیشنهاد من اینه که اگه کاری یا پروژه ای رو شروع میکنید برای اینکه بعدا دلسرد نشید به قابلیت تجاری شدنش هم فکر کنید مثلا اگه دارین یه لایبری مینویسین شاید تا اخر عمرتون روش کار کنید و یه جامعه کوچیک ازش استفاده کنن، یا همین امشب به به طور فان یه ربات تلگرامی چند هزار خطی رفرالی بنویسید هفته بعد چند میلیون دنبال کننده داشته باشید
🐧 @Linuxor
👍8❤3
🔶 لیست مخزن ها برای کالی لینوکس (بدون تحریم)
لیست بالا به مسیر زیر اضافه کنید.
#لینوکس
@TheRaymondDev
deb http://ftp.halifax.rwth-aachen.de/kali/ kali-rolling main contrib non-free
deb http://ftp.halifax.rwth-aachen.de/kali/ kali-experimental main contrib non-free
deb-src http://ftp.halifax.rwth-aachen.de/kali/ kali-experimental main contrib non-free
deb-src http://ftp.halifax.rwth-aachen.de/kali/ kali-rolling main contrib non-free
deb http://ftp.halifax.rwth-aachen.de/kali/ kali-bleeding-edge main contrib non-free
لیست بالا به مسیر زیر اضافه کنید.
sudo nano /etc/apt/sources.list
#لینوکس
@TheRaymondDev
1👍3👎1
🔶 کانال یوتیوب CSharpDesignPro طراحی UI نرم افزار به صورت حرفه ای با C# آموزش می دهد.
https://www.youtube.com/@CSharpDesignPro
#دوره
@TheRaymondDev
https://www.youtube.com/@CSharpDesignPro
#دوره
@TheRaymondDev
❤1
Forwarded from کانال اطلاعرسانی توزیع پارچ
یک خبر خوب برای علاقمندان به شعر و ادبیات فارسی!
برنامه ساغر که یک کلاینت رومیزی برای گنجور است به مخازن پارچ اضافه شد.
روش نصب:
@ParchLinux
برنامه ساغر که یک کلاینت رومیزی برای گنجور است به مخازن پارچ اضافه شد.
روش نصب:
sudo pacman -Syy
sudo pacman -S saaghar
@ParchLinux
👍4
🔶 دستورات مدیریت برنامهها و پکیجهای نصبشده در لینوکس - 1
فهرست کردن پکیجهای نصبشده در دبیان/اوبونتو با استفاده از apt
- فهرست کردن تمام پکیجهای نصبشده:
- شمارش تعداد پکیجهای نصبشده:
- جستوجو برای یک پکیج خاص:
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
- اسکرول کردن خروجی های طولانی پکیچ ها
#لینوکس
@TheRaymondDev
فهرست کردن پکیجهای نصبشده در دبیان/اوبونتو با استفاده از apt
- فهرست کردن تمام پکیجهای نصبشده:
apt list --installed
- شمارش تعداد پکیجهای نصبشده:
apt list --installed | wc -l
- جستوجو برای یک پکیج خاص:
apt list --installed | grep <package_name>
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
apt show <package_name>
- اسکرول کردن خروجی های طولانی پکیچ ها
apt list --installed | less
#لینوکس
@TheRaymondDev
❤3
🔶 دستورات مدیریت برنامهها و پکیجهای نصبشده در لینوکس - 2
فهرست کردن پکیجهای نصبشده در فدورا (Fedora) با استفاده از dnf
- فهرست کردن تمام پکیجهای نصبشده:
- شمارش تعداد پکیجهای نصبشده:
- جستوجو برای یک پکیج خاص:
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
- اسکرول کردن خروجی های طولانی پکیچ ها
#لینوکس
@TheRaymondDev
فهرست کردن پکیجهای نصبشده در فدورا (Fedora) با استفاده از dnf
- فهرست کردن تمام پکیجهای نصبشده:
dnf list installed
- شمارش تعداد پکیجهای نصبشده:
dnf list installed | wc -l
- جستوجو برای یک پکیج خاص:
dnf list installed | grep <package_name>
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
dnf info <package_name>
- اسکرول کردن خروجی های طولانی پکیچ ها
dnf list installed | less
#لینوکس
@TheRaymondDev
👍3
🔶 دستورات مدیریت برنامهها و پکیجهای نصبشده در لینوکس - 3
فهرست کردن پکیجهای نصبشده در آرچ (Arch) با استفاده از pacman
- فهرست کردن تمام پکیجهای نصبشده:
- شمارش تعداد پکیجهای نصبشده:
- جستوجو برای یک پکیج خاص:
- جستجو برای یک پکیچ خاص در کل مخازن:
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
- فیلتر کردن وابستگیهای غیرضروری یا پکیجهای یتیم (پکیجهایی که دیگر به هیچ ریپازیتوریای ارجاع نمیشوند)
- کسب اطلاعات بیشتر از پکیچ ها
#لینوکس
@TheRaymondDev
فهرست کردن پکیجهای نصبشده در آرچ (Arch) با استفاده از pacman
- فهرست کردن تمام پکیجهای نصبشده:
pacman -Q
- شمارش تعداد پکیجهای نصبشده:
pacman -Q | wc -l
- جستوجو برای یک پکیج خاص:
pacman -Q | grep <package_name>
- جستجو برای یک پکیچ خاص در کل مخازن:
pacman -Ss <package_name>
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
pacman -Qi <package_name>
- فیلتر کردن وابستگیهای غیرضروری یا پکیجهای یتیم (پکیجهایی که دیگر به هیچ ریپازیتوریای ارجاع نمیشوند)
pacman -Qdtq
- کسب اطلاعات بیشتر از پکیچ ها
pacman -Qii bash
#لینوکس
@TheRaymondDev
👍1
🔶 دستورات مدیریت برنامهها و پکیجهای نصبشده در لینوکس - 4
فهرست کردن پکیجهای نصبشده با فلت پک (Flatpak)
- فهرست کردن تمام پکیجهای نصبشده:
- مشاهدهی پکیجهای نصبشده بهتنهایی (بدون نمایش runtime-ها):
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
#لینوکس
@TheRaymondDev
فهرست کردن پکیجهای نصبشده با فلت پک (Flatpak)
- فهرست کردن تمام پکیجهای نصبشده:
flatpak list
- مشاهدهی پکیجهای نصبشده بهتنهایی (بدون نمایش runtime-ها):
flatpak list --app
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
flatpak info <application_id>
#لینوکس
@TheRaymondDev
👍1
🔶 دستورات مدیریت برنامهها و پکیجهای نصبشده در لینوکس - 5 (پایان)
فهرست کردن پکیجهای نصبشده با اسنپ (Snap)
- فهرست کردن تمام پکیجهای نصبشده:
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
#لینوکس
@TheRaymondDev
فهرست کردن پکیجهای نصبشده با اسنپ (Snap)
- فهرست کردن تمام پکیجهای نصبشده:
snap list
- مشاهدهی اطلاعات دقیق دربارهی یک پکیج:
snap info <package_name>
#لینوکس
@TheRaymondDev
👍2