Dutchman Daily
906 subscribers
114 photos
16 videos
18 files
133 links
The other side of me
This is me:
@its_dutchman
Download Telegram
🔥10
اسپید تست از دانشگاه NUS سنگاپور. ارسالی.
👎4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
چون که ترم تموم
🔥6💩4🤣4👍2
البته مسیرهای بهتری هم بود ولی چون مختلط بود نذاشتم فیلم بگیریم :(
امروز ۳بار توی دیباگ با یه مشتری‌مون حواسم نبود و گفتم عرض می‌کردید.
🤣8😁1🥱1
۱ قدم تا اخراج.
🤣6😁4👍1
هزاربار هم تا حالا گفتم به ملت که "می‌فرمودم"
🤣10😁1
دوهزاربارم گفتم "کی تشریف بیارم؟"
🤣13😁2🥰1
خب PS5 شرکت امروز نصب شده بنظر.
دیگه کار بس، فقط بازی بازی بازی.
🍾6🤡5👍3
In modern CPUs, especially in the context of the amd64 architecture, the distinction between code and data is not made through segmentation but through a different mechanism called paging, which is part of the memory management unit (MMU).

Here's how the CPU identifies what is code and what is data:

1. Paging:
The MMU uses a page table to map virtual addresses to physical addresses. Pages can be flagged as executable or non-executable, which helps the CPU determine if the content at a particular address is code or data.
2. Protection Flags:
Each page in the page table has protection flags that indicate whether it contains code, data, or both, and whether it is readable, writable, or executable. The CPU uses these flags to enforce access controls.
3. Program Loading:
When a program is loaded into memory, the operating system loads the executable code into pages marked as executable. The data sections are loaded into separate pages with appropriate flags.
4.Instruction Pointer (IP):
The IP register in the CPU points to the next instruction to be executed. The CPU fetches instructions from the memory location pointed to by the IP. If the IP points to a non-executable page, an exception is raised.
5. Modern CPU Features:
Features like the NX (No Execute) bit are used to prevent execution of code from areas of memory marked as non-executable, which is typically where data resides.

In summary, while segmentation as a primary method for separating code and data is not used in the same way as it was in older architectures, modern systems use a combination of paging, protection flags, and CPU features to manage memory and distinguish between code and data effectively
👍6
جالب بود
👍4🌚1
ایده‌ای ندارم مشکل این گوشی جدیدم چیه. ولی وقتی که به وایفای خونه وصل میشه، یهو باطریش دقیقه‌ای یک درصد کم میشه و شروع میکنه به شدت داغ شدن.
💩8😐3🤯1🍌1💔1
به هر وایفای دیگه‌ای وصل میشه هیچ مشکلی نداره، فقط وقتی به این وایفای خونه وصل میشه مشکل میخوره.
💩7🤔4🍌1😐1
حتی مثلا وایفای خونه رو با یه گوشی دیگه شیر کنم و وصل به اون گوشیه، بازم مشکلی نمی‌خوره. :/
💩7😐2🍌1
یک سوال CTF که امروز باهاش اشنا شدم، حلشو بعدش میذارم ببینید.
چیز عجیبی نداره، صرفا جالب بود:
.>+,[<-<.[,<<.--+[.<<[
🤓6👌1
کل جوابشم میشه این سایته:
https://esolangs.org/wiki/Binary_Brainfuck
👍1
به باینری برگرده و بعدش اسکی بشه میشه
Dutchman
🍌7🔥21💩1
اونجایی دیگه علاقم به CTF رو از دست دادم که با نیما نشستیم ۲۴ ساعت پای یک سوال pwn که فقط یک solve داشت و هر راهی که می‌رفتیم حل نمیشد و بعد پایان مسابقه فهمیدیم سوال غلط بوده و اون یه تیم هم رندوم فلگ رو سابمیت کرده.
😁8🔥3💩2👍1
امروز پلن Fuzz کردن libgd با استفاده از aflgo عه. با ما همراه باشید.
🔥4👍2💩2
من کلا یک مقدار از نیازمندیم بگم،‌ اینشکلیه که ما یک سری patch داریم که حدس میزنیم اینا آسیب‌پذیرن. اما خب برای اینکه مطمئن شیم هستن یا نه نیاز هست که exploit شن. این exploit کردنشون کار خیلی ساده‌ای نیست چون هم پروژه‌ها گنده‌ن و هم کلا exploit کردن یک پروژه بزرگ خیلی سخته، لذا در نهایت می‌خوایم اونایی رو exploit کنیم که مطمئنیم آسیب‌پذیرن. حالا برای اینکه بفهمیم آسیب‌پذیرن یا نه، می‌خوایم از یک فازر استفاده کنیم که اگر اونجا توی اون نقطه از diff که ما حدس زدیم آسیب‌پذیره، اون پروژه کرش کرد، حالا ما دیگه شروع کنیم به اکسپلویت کردنش.

برای این کار نیاز به یک فازری داریم که دقیقا اون نقطه‌ای که ما مد نظرمون هست رو فاز کنه برامون. حالا فازرها کلا نوع‌های مختلفی دارن و ما به عبارتی فازری می‌خوایم که به اون نقطه برسه (یعنی مطمئن باشیم که اون نقطه و یا در واقع اون node از گراف‌مون داره cover میشه)

این aflgo یک فازریه که کدبیسش همون afl معروفه اما می‌تونه به صورت directed اون جایی که ما خودمون نیاز داریم رو هم فاز کنه.

به عبارتی این توی دیسکپریشن خودشه:
AFLGo is an extension of American Fuzzy Lop (AFL). Given a set of target locations (e.g., folder/file.c:582), AFLGo generates inputs specifically with the objective to exercise these target locations.



درکل فازر جالبیه ولی کار باهاش خیلی سخته. نه داکیومنت درستی داره نه هیچی.
این ریپوشونه:
https://github.com/aflgo/aflgo

اینم مقاله‌شون:
https://mboehme.github.io/paper/CCS17.pdf
🔥6👎1
اون آسیب‌پذیری محتمل هم که دنبالشم اینجاس:
https://github.com/libgd/libgd/blob/master/src/gd_tga.c
خط ۲۵۷

در کل این تابع gdGetBuf آسیب‌پذیره و زیاد هم ازش ریپورت شده مخصوصا برای این پروژه libgd.

آسیب‌پذیری‌هاشم خیلی احمقانه‌س اتفاقا، یعنی کل آسیب‌پذیری‌هایی که از این تابع خوندم من دلیلش برمی‌گرده به این که اینا نیومدن return value این تابع رو چک بکنن. یعنی اگر صرفا توی یک if بذارن هندل میشه ماجرا.

یک سری آسیب‌پذیری دیگه‌هم داره البته که اگر دوست داشتید می‌تونید برید بخونید توی cve mitre
🔥5👍1👎1