Очередная попытка засэйвить кое-какие знания. На этот раз история про то как подружить api-doc от swagger и Burp Suite.
Тыкая в ночи на кнопочки, наткнулся на одном проекте на возможность прочитать
Ну быстрым гуглением обнаружилось что если отослать нужный запрос на API спеку в OpenAPI Parser(официальный BApp Extension) то можно получить сразу всё дерево api в Site map. Но в моей ситуации произошел облом. Extension сыпал ошибки и не мог подсосать описание API. А мне прям очень надо было, т.к это позволяло протестить ранее не известные методы. Руками добавлять все было не варик. Свыше 500 различных новых запросов с различными параметрами. Ребята из комьюнити отписались что сталкивались с подобными трудностями. И в конечном счете они шли в православный Postman и протыкивали всю апиху руками из Postman. Меня такие перспективы совсем не радовали.
В итоге не без помощи коллег по цеху удалось наткнуться на очень полезный сервисы от rhinosecuritylabs. По сути они написали тул, который парсит json на все возможные запросы. А потом отсылает их на эндпоинт, что позволяет Burp proxy увидеть их и затрэкать всё это безумие в site map.
Порядок действий:
1) качаем json спеку нашей API.
2) дописываем в нее (в моем случае этот кусок отсутствовал)
3) копируем себе целиком весь json в буфер обмена.
4*) Открываем https://rhinosecuritylabs.github.io/Swagger-EZ/ и запихиваем наше содержимое json в поле.
5) Пытаемся настроить CORS для сервиса через автозамену в бурпе. Я в этой ситуации поел говна и примерно день думал над тем как решить, чтоб через проксю у меня шли не только OPTIONS запросы. Я так и не понял почему Regex для Match/Replace не помогли мне в этом. Спасением стал плагин на Firefox под названием CORS Everywhere.
6) После того как порешали с CORS или включили плагин CORS Everywhere, нужно ткнуть кнопочку Auto Fill и затем нажать Send All. В Site map сразу же появятся новые пути и новые запросы.
*Для владельцев шапочки из фольги, можно поднять свой локалхвост с этим сервисом дабы не сливать спеку API ребятам из rhinosecuritylabs.(https://github.com/RhinoSecurityLabs/Swagger-EZ)
PS: Если есть более гениальные решения - буду рад почитать в комментах.
Тыкая в ночи на кнопочки, наткнулся на одном проекте на возможность прочитать
api/v2/api-docsгде в заголовке json было написано swagger 2.0. В этот момент это прям желанный файлик был, т.к сервис полностью блэкбокс. И даже стандартного юзера на вход у меня небыло. Пришлось проявлять изобретательность.
Ну быстрым гуглением обнаружилось что если отослать нужный запрос на API спеку в OpenAPI Parser(официальный BApp Extension) то можно получить сразу всё дерево api в Site map. Но в моей ситуации произошел облом. Extension сыпал ошибки и не мог подсосать описание API. А мне прям очень надо было, т.к это позволяло протестить ранее не известные методы. Руками добавлять все было не варик. Свыше 500 различных новых запросов с различными параметрами. Ребята из комьюнити отписались что сталкивались с подобными трудностями. И в конечном счете они шли в православный Postman и протыкивали всю апиху руками из Postman. Меня такие перспективы совсем не радовали.
В итоге не без помощи коллег по цеху удалось наткнуться на очень полезный сервисы от rhinosecuritylabs. По сути они написали тул, который парсит json на все возможные запросы. А потом отсылает их на эндпоинт, что позволяет Burp proxy увидеть их и затрэкать всё это безумие в site map.
Порядок действий:
1) качаем json спеку нашей API.
2) дописываем в нее (в моем случае этот кусок отсутствовал)
"host": "api.ourtargethere.com",
"schemes": [
"https"
],
3) копируем себе целиком весь json в буфер обмена.
4*) Открываем https://rhinosecuritylabs.github.io/Swagger-EZ/ и запихиваем наше содержимое json в поле.
5) Пытаемся настроить CORS для сервиса через автозамену в бурпе. Я в этой ситуации поел говна и примерно день думал над тем как решить, чтоб через проксю у меня шли не только OPTIONS запросы. Я так и не понял почему Regex для Match/Replace не помогли мне в этом. Спасением стал плагин на Firefox под названием CORS Everywhere.
6) После того как порешали с CORS или включили плагин CORS Everywhere, нужно ткнуть кнопочку Auto Fill и затем нажать Send All. В Site map сразу же появятся новые пути и новые запросы.
*Для владельцев шапочки из фольги, можно поднять свой локалхвост с этим сервисом дабы не сливать спеку API ребятам из rhinosecuritylabs.(https://github.com/RhinoSecurityLabs/Swagger-EZ)
PS: Если есть более гениальные решения - буду рад почитать в комментах.
👍14🥰1👏1
Случилась тут очередная история путешествия Blind XSS в живой природе.
Пишет мне коллега - смотри что мне банк только что прислал.
В последней смс "от банка" было написано - "Ваш аккаунт взломан. Во избежании блокировки - подтвердите свою личность."
Тут в этой истории много важного:
1) банк действительно замелькался в последнее время с блокировками аккаунтов.
2) отправителя подменили, и смс от хацкера подгрузилось в общем списке легитимных sms сообщений от банка. можно реально потерять бдительность.
3) открывая ссылку - открывается формочка со стилями и дизайном самого банка.
Ну, а дальше у меня уже чесались руки. И я конечно полез заполнять форму "своей скомпроментированной карты". В итоге не удержался и фиганул в поле пароля свой blind xss (javascript code).
Через минуту у меня уже прилетел скриншот из панели со всем содержимым - useragent, email, phone number, password, card number, cvv code, date. Есть конечно мусорная информация. Но в целом очень много валидного.
PS: теперь вы знаете мой пароль 😄
Пишет мне коллега - смотри что мне банк только что прислал.
В последней смс "от банка" было написано - "Ваш аккаунт взломан. Во избежании блокировки - подтвердите свою личность."
Тут в этой истории много важного:
1) банк действительно замелькался в последнее время с блокировками аккаунтов.
2) отправителя подменили, и смс от хацкера подгрузилось в общем списке легитимных sms сообщений от банка. можно реально потерять бдительность.
3) открывая ссылку - открывается формочка со стилями и дизайном самого банка.
Ну, а дальше у меня уже чесались руки. И я конечно полез заполнять форму "своей скомпроментированной карты". В итоге не удержался и фиганул в поле пароля свой blind xss (javascript code).
Через минуту у меня уже прилетел скриншот из панели со всем содержимым - useragent, email, phone number, password, card number, cvv code, date. Есть конечно мусорная информация. Но в целом очень много валидного.
PS: теперь вы знаете мой пароль 😄
🔥26👍6
Достаточно быстро предыдущий пост получил продолжение.
Чуваки из security команды не стали включать душнил. Поблагодарили за проделанную работу и спокойно триажнули багу, предвариетльно написав, что она будте оплачена по уровню Critical 🤑🎉
https://twitter.com/Krevetk0Valeriy/status/1534636951533498371?s=20
Чуваки из security команды не стали включать душнил. Поблагодарили за проделанную работу и спокойно триажнули багу, предвариетльно написав, что она будте оплачена по уровню Critical 🤑🎉
https://twitter.com/Krevetk0Valeriy/status/1534636951533498371?s=20
Twitter
Valeriy
One crazy story happened today. I managed to uncover a targeted attack on app users. I also managed to gain access to the hackers' system and gather information about the affected users. The company rated my work very well even though it does not fit into…
🎉19
Незнай как-так вышло, но эта крутая преза пролетела мимо меня. Для большинства читателей думаю тоже будет не бесполезной.
https://youtu.be/sJAdFGRZ8uU
https://youtu.be/sJAdFGRZ8uU
YouTube
#NahamCon2022 - @samwcyo: Breaking Into Cloud Wallets: 3 years spent Hacking Crypto Web Apps
Purchase my Bug Bounty Course here 👉🏼 bugbounty.nahamsec.training
#NahamCon2022 is a virtual offensive security. This year's event was hosted by Jason Haddix & STOK!
Big thank you to all of our sponsors for making this event possible.
----
Hadrian - hadrian.io…
#NahamCon2022 is a virtual offensive security. This year's event was hosted by Jason Haddix & STOK!
Big thank you to all of our sponsors for making this event possible.
----
Hadrian - hadrian.io…
👍2
Поросёнок Пётр
:)
Голосование получилось весьма интересное. Во многом оно показалось на сколько разная аудитория у меня в телеге и инстаграме.
Через пару месяцев повторим и проверим результат 😉
Через пару месяцев повторим и проверим результат 😉
Не могу не поделиться. Для меня это стало еще раз откровением о том что мировую историю в школах не проходят, от слова совсем. А ведь она такая интересная и важная для развития людей, и расширения кругозора.
PS: на днях начну вкидывать полезные штуки по сесурити. Так что не расходимся 😉
https://youtu.be/ujYB0_GjQM4
PS: на днях начну вкидывать полезные штуки по сесурити. Так что не расходимся 😉
https://youtu.be/ujYB0_GjQM4
👍12👎1😢1
История о том почему нужно было учить матан в вузе 🤪
Один чел не поленился и получил «стипендию» в размере $630,000 🤑
https://medium.com/immunefi/port-finance-logic-error-bugfix-review-29767aced446
Один чел не поленился и получил «стипендию» в размере $630,000 🤑
https://medium.com/immunefi/port-finance-logic-error-bugfix-review-29767aced446
Medium
Port Finance Logic Error Bugfix Review
Summary
🌚7🤯6❤1👍1
В погоне за маленькой, но дорогой скулёй.
Sql injection которую я раскопал в субботу заставила меня понервничать. Сама уязвимость была вполне простая. Сайтик на вордпресе с кучей плагинов. Устаревшая версия форума, которая прикручена к сайтику, и вот уже я ковыряю уязвимый параметр через
Попутно еще проверил выполнение условия
Потом полез вычислять сколько букв в имени базы
Определившись сколько там букв, я отгадал одну за другой. Ну и потом создал репорт со всеми результатами.
На том же сайте на том же месте я нашел XSS, но чтобы подтвердить возможность угона аккаунта пользователя, нужно было создать себе профиль. Регистрация не работала. И я написал в саппорт. И вот в понедельник меня ждал неприятный сюрприз. Из сапорта ответили что форум работать не будет и что через день весь сайт будет редиректить в другой домен.
В этот момент мне было уже пофиг на XSS. С этими новостями могло получится так что Sql injection через день может превратиться в тыкву. А нет бага - нет реварда.
Триажеры к моему репорту шли очень долго. И даже когда они пришли, то процесс триажа был тоже максимально медленный. Баг дождался дня Х когда весь сайт начал редиректить на другой домен. Т.е открывая example.com можно было сразу получить elpmaxe.com. Но вот SQL injection осталась на месте и продолжала существовать. Дело в том что жила она на example.com/community и видимо так получилось что редирект настроили не целиком на весь сайт через DNS.
Тут я офигел. От того что мне очень повезло и багу в итоге триажнули. И от того что в привычном для меня процессе поиска уязвимостей теперь нужно внимательней относится к адресам, которые возвращают 301 response. Ведь подобный редирект может не отработать при обращении в директорию. А в директории может таиться классная уязвимость.
Если столкнулись с sql injection но потерялись в идеях как её раскрутить, то вот очень годный источник - https://book.hacktricks.xyz/pentesting-web/sql-injection
Sql injection которую я раскопал в субботу заставила меня понервничать. Сама уязвимость была вполне простая. Сайтик на вордпресе с кучей плагинов. Устаревшая версия форума, которая прикручена к сайтику, и вот уже я ковыряю уязвимый параметр через
1 union select 1 and (select sleep(10)
Попутно еще проверил выполнение условия
1 union select 1 and 1=if(now()=sysdate(),sleep(5),1)
Потом полез вычислять сколько букв в имени базы
1 union select 1 and 2=if(length(database())<9,sleep(10),1)
1 union select 1 and 2=if(length(database())=8,sleep(10),1)
Определившись сколько там букв, я отгадал одну за другой. Ну и потом создал репорт со всеми результатами.
На том же сайте на том же месте я нашел XSS, но чтобы подтвердить возможность угона аккаунта пользователя, нужно было создать себе профиль. Регистрация не работала. И я написал в саппорт. И вот в понедельник меня ждал неприятный сюрприз. Из сапорта ответили что форум работать не будет и что через день весь сайт будет редиректить в другой домен.
В этот момент мне было уже пофиг на XSS. С этими новостями могло получится так что Sql injection через день может превратиться в тыкву. А нет бага - нет реварда.
Триажеры к моему репорту шли очень долго. И даже когда они пришли, то процесс триажа был тоже максимально медленный. Баг дождался дня Х когда весь сайт начал редиректить на другой домен. Т.е открывая example.com можно было сразу получить elpmaxe.com. Но вот SQL injection осталась на месте и продолжала существовать. Дело в том что жила она на example.com/community и видимо так получилось что редирект настроили не целиком на весь сайт через DNS.
Тут я офигел. От того что мне очень повезло и багу в итоге триажнули. И от того что в привычном для меня процессе поиска уязвимостей теперь нужно внимательней относится к адресам, которые возвращают 301 response. Ведь подобный редирект может не отработать при обращении в директорию. А в директории может таиться классная уязвимость.
Если столкнулись с sql injection но потерялись в идеях как её раскрутить, то вот очень годный источник - https://book.hacktricks.xyz/pentesting-web/sql-injection
🔥23👍1
Над чужим горем не смеются, но тут сложно удержаться. Ведь чувак сам записывает и продает секьюрити курсы для тех кому надо "войти-в-сесурити".
https://twitter.com/theXSSrat/status/1544232405195800576
https://twitter.com/theXSSrat/status/1544232405195800576
X (formerly Twitter)
HackerRats - Uncle Rat ❤️ (XSS Rat) (@theXSSrat) on X
Chavi, if you see this, please please plesase send me back the 4k$ Ive sent bymistake. That money was to pay bills :( now I have to spot that money and pay taxes on it and I have nothing. You can even keep a portion of they money , just please send the majority…
Боже. Просто день потрясающих историй для этого канала.
Наковыряли мы с товарищем одну проблему. Не ради золота и славы, а ради честного имени решили разослать несколько сообщений(responsible disclosure) в организации, которые проблема затрагивала. Это и проблемой сложно назвать. Так, просто доступ в инфру 🤣
Часть компаний быстренько осознали и пофиксили. Другая часть решила играть в молчанку. Из-за доступа в инфу открывалась возможность писать в корпоративный slack. Ну раз они игнорили email с репортом, то мы решили в slack им этот самый репорт отправить.
Мы: Good afternoon! If you see this message, it means that there is a critical vulnerability in your infrastructure that allowed us...
CEO: who created this?
Мы: Hello ***. It's the wrong direction to investigate that issue....
CEO: are you threatening or helping ? how and why did you join our channel?
Мы: If it had been a targeted attack, we wouldn't have written to you here so openly. We had to write to you here after...
CEO: its threatening way of sales, infact its attack by a cyber security team if you are a real cyber security company, share your driver license, linkedin profile, phone number and setup a zoom call with real person on your scamming sales team
Мы: Hello again We did research...тут мы нашли вашу базу...тут мы получили доступ в месенджер...тут у вас ключи от сервиса...Вам нужно сделать это, это, это. И обязательно проверьте вот это. По этическим соображениям мы ничего не трогали т.к нам это нафиг не надо, но могут заглянуть плохие парни, и вот тогда вам крышка. Рекомендуем быстренько исправить подобный косяк
CEO: not ours
Мы: как это не ваше? мы же именно так тут и оказались. Наверно вы просто не знали что это "ваше".
CEO: thanks but share your identity
Мы: Мэн. Передай все своим девопсам. Нужно выполнить эту команду. Потом вот эту. Потом проверьте что у вас работает все остальное. И все. Больше таких ошибок не допускайте. Всего доброго.
CEO: Thanks a lot
Самое смешное что это CEO Cybersecurity фирмы, у которой основной посыл - "непрерывная защита данных в облаке". И получается что сами в эту "защиту в облаке" не смогли. 💁♂️
Наковыряли мы с товарищем одну проблему. Не ради золота и славы, а ради честного имени решили разослать несколько сообщений(responsible disclosure) в организации, которые проблема затрагивала. Это и проблемой сложно назвать. Так, просто доступ в инфру 🤣
Часть компаний быстренько осознали и пофиксили. Другая часть решила играть в молчанку. Из-за доступа в инфу открывалась возможность писать в корпоративный slack. Ну раз они игнорили email с репортом, то мы решили в slack им этот самый репорт отправить.
Мы: Good afternoon! If you see this message, it means that there is a critical vulnerability in your infrastructure that allowed us...
CEO: who created this?
Мы: Hello ***. It's the wrong direction to investigate that issue....
CEO: are you threatening or helping ? how and why did you join our channel?
Мы: If it had been a targeted attack, we wouldn't have written to you here so openly. We had to write to you here after...
CEO: its threatening way of sales, infact its attack by a cyber security team if you are a real cyber security company, share your driver license, linkedin profile, phone number and setup a zoom call with real person on your scamming sales team
Мы: Hello again We did research...тут мы нашли вашу базу...тут мы получили доступ в месенджер...тут у вас ключи от сервиса...Вам нужно сделать это, это, это. И обязательно проверьте вот это. По этическим соображениям мы ничего не трогали т.к нам это нафиг не надо, но могут заглянуть плохие парни, и вот тогда вам крышка. Рекомендуем быстренько исправить подобный косяк
CEO: not ours
Мы: как это не ваше? мы же именно так тут и оказались. Наверно вы просто не знали что это "ваше".
CEO: thanks but share your identity
Мы: Мэн. Передай все своим девопсам. Нужно выполнить эту команду. Потом вот эту. Потом проверьте что у вас работает все остальное. И все. Больше таких ошибок не допускайте. Всего доброго.
CEO: Thanks a lot
Самое смешное что это CEO Cybersecurity фирмы, у которой основной посыл - "непрерывная защита данных в облаке". И получается что сами в эту "защиту в облаке" не смогли. 💁♂️
😁24🔥7💩2
Ох и классная преза от чувака из Offensive.
В ожидании записи самого доклада. Но в целом и презентация достаточно информативная.
https://mgeeky.tech/warcon-2022-modern-initial-access-and-evasion-tactics/
В ожидании записи самого доклада. Но в целом и презентация достаточно информативная.
https://mgeeky.tech/warcon-2022-modern-initial-access-and-evasion-tactics/
Оставлю тут, а то опять забуду или потеряю.
Кароч в условиях когда у нас на страницехер с маслом 40Х ответ от сервера, то нужно перебороть лень и зацепить этот питонячий скрипт.
PS: при этом дед Хаддикс и ex-salesforce Кускос уже одобрили его.
https://github.com/laluka/bypass-url-parser
Кароч в условиях когда у нас на странице
PS: при этом дед Хаддикс и ex-salesforce Кускос уже одобрили его.
https://github.com/laluka/bypass-url-parser
GitHub
GitHub - laluka/bypass-url-parser: bypass-url-parser
bypass-url-parser. Contribute to laluka/bypass-url-parser development by creating an account on GitHub.
👍14
Это точно последний пост на сегодня.
Тут Frans Rosen начитавшись древних публикаций Егора Хомякова вдохновленно натыкал разные интересности в OAuth.
Надо будет сесть вечерочком вчитаться внимательно во всё что он раскопал.
https://labs.detectify.com/2022/07/06/account-hijacking-using-dirty-dancing-in-sign-in-oauth-flows/
Тут Frans Rosen начитавшись древних публикаций Егора Хомякова вдохновленно натыкал разные интересности в OAuth.
Надо будет сесть вечерочком вчитаться внимательно во всё что он раскопал.
https://labs.detectify.com/2022/07/06/account-hijacking-using-dirty-dancing-in-sign-in-oauth-flows/
Labs Detectify
Account hijacking using "dirty dancing" in sign-in OAuth-flows - Labs Detectify
Combining response-type switching, invalid state and redirect-uri quirks using OAuth, with third-party javascript-inclusions has multiple vulnerable scenarios where authorization codes or tokens could leak to an attacker. This could be used in attacks for…
👍6
Какое-то время назад я запостил историю что утёкшие ранее креды можно использовать на разных корпоративных сервисах. И если повезет (а нам с приятелем повезло), то можно войти в очень важные ресурсы с очень важными данными. Кароч, статья тогда залетела в топы обсуждений. И появилось два лагеря. Были те которым не нравилась этическая составляющая этого исследования. Но были и такие которые офигели, оценили и побежали так же делать.
Сегодня я решил показать кое что еще. Теперь в доступе появился список самих сервисов, которые на мой взгляд имеют высокую ценность в случае компроментации(в том числе через credential stuffing). Список собран из моих наблюдений и опыта работы в айтишке за долгие годы. И аккуратно сложен тут. Если я вдруг что-то упустил, то дайте знать , дополню 🙂
А еще вы всегда можете порадовать меня ретвитом и лайком в твиттере ведь это не сложно и даже бесплатно.
И вот еще одно любопытное наблюдение. Если вы посмотрите на табличку со списком, то заметите перечисленные способы авторизации. И вот это не просто так. Дело в том что ...
• aккаунт Bitbucket входит в Gitlab
• аккаунт Salesforce входит в Gitlab и дает вход дальше в Travis-ci.com
• аккаунт Twitter входит в Gitlab
• аккаунт Bitbucket входит в Travis
У меня вроде не нашлось реальных примеров как с угнанного аккаунта Salesforce мне удавалось пролезть в полноценный Gitlab или Travis. Но и не уверен что такую возможность можно полностью исключать.
Сегодня я решил показать кое что еще. Теперь в доступе появился список самих сервисов, которые на мой взгляд имеют высокую ценность в случае компроментации(в том числе через credential stuffing). Список собран из моих наблюдений и опыта работы в айтишке за долгие годы. И аккуратно сложен тут. Если я вдруг что-то упустил, то дайте знать , дополню 🙂
А еще вы всегда можете порадовать меня ретвитом и лайком в твиттере ведь это не сложно и даже бесплатно.
И вот еще одно любопытное наблюдение. Если вы посмотрите на табличку со списком, то заметите перечисленные способы авторизации. И вот это не просто так. Дело в том что ...
• aккаунт Bitbucket входит в Gitlab
• аккаунт Salesforce входит в Gitlab и дает вход дальше в Travis-ci.com
• аккаунт Twitter входит в Gitlab
• аккаунт Bitbucket входит в Travis
У меня вроде не нашлось реальных примеров как с угнанного аккаунта Salesforce мне удавалось пролезть в полноценный Gitlab или Travis. Но и не уверен что такую возможность можно полностью исключать.
👍9🔥4
Мне регулярно задают один и тот же вопрос - "Как ты всё успеваешь?".
И элементарный ответ на это - да никак!
Если подойти к вопросу чисто математически, то день у меня выглядит примерно так
• 8-9 часов работа
• 3 часа курсы немецкого
• 6-6.5 часов сна
• 2-3 часа вечернего втыкания в кавычки
Остается еще 2.5 часа на "потупить" или поесть. Но про последнее я иногда вообще забываю 😂
Но бывают дни когда всё идет не по плану, и я засыпаю на диване в той позе в которой на нём оказался. На утро мне телефон выписывает поздравление. Но это случается редко.
Как у остальных с тайм менеджментом? Поделитесь секретиками? 🤔
PS: Это конечно описан идеальный "рабочий" день. Случается конечно так что план идет по бороде и я играю/гуляю с ребенком пока жена ловит дзен 😇
И элементарный ответ на это - да никак!
Если подойти к вопросу чисто математически, то день у меня выглядит примерно так
• 8-9 часов работа
• 3 часа курсы немецкого
• 6-6.5 часов сна
• 2-3 часа вечернего втыкания в кавычки
Остается еще 2.5 часа на "потупить" или поесть. Но про последнее я иногда вообще забываю 😂
Но бывают дни когда всё идет не по плану, и я засыпаю на диване в той позе в которой на нём оказался. На утро мне телефон выписывает поздравление. Но это случается редко.
Как у остальных с тайм менеджментом? Поделитесь секретиками? 🤔
PS: Это конечно описан идеальный "рабочий" день. Случается конечно так что план идет по бороде и я играю/гуляю с ребенком пока жена ловит дзен 😇
😁12👍3🤯1💯1