Довольно непримечательный ресурс (по крайней мере я про него раньше не знал) с лабами по инфобезу: https://attackdefense.pentesteracademy.com
После прохождения лаб по докеру в kontra (где бесплатно доступно пару лаб по каждой теме), можно полазить по топику CONTAINER SECURITY, где все бесплатно (тут даже есть лабы на знакомство с технологией, например с тем же докером).
Пример лабы - Misconfigured Docker Socket, где используется сокет движка docker для администрирования.
На странице есть сразу же ответы, как решать таски (в виде pdf файла или видео).
Помимо докера есть такие топики, как:
- WINDOWS SECURITY
- CLOUD SECURITY
- LINUX SECURITY
- WEBAPP PENTESTING BASICS
- ADVANCED PRIV-ESC
- WIFI SECURITY
- DEVSECOPS
- REVERSE ENGINEERING
и др.
В качестве знакомства с новыми темами может быть полезно.
После прохождения лаб по докеру в kontra (где бесплатно доступно пару лаб по каждой теме), можно полазить по топику CONTAINER SECURITY, где все бесплатно (тут даже есть лабы на знакомство с технологией, например с тем же докером).
Пример лабы - Misconfigured Docker Socket, где используется сокет движка docker для администрирования.
На странице есть сразу же ответы, как решать таски (в виде pdf файла или видео).
Помимо докера есть такие топики, как:
- WINDOWS SECURITY
- CLOUD SECURITY
- LINUX SECURITY
- WEBAPP PENTESTING BASICS
- ADVANCED PRIV-ESC
- WIFI SECURITY
- DEVSECOPS
- REVERSE ENGINEERING
и др.
В качестве знакомства с новыми темами может быть полезно.
Наткнулся сегодня на вот такой пост. Оказывается компания PortSwigger выпустила еще один сканер, но на этот раз DAST - Dastardly.
Судя по описанию из видео, его достаточно легко интегрировать в CI/CD pipeline'ы. Вот пример из того же поста:
Integration is easy, simply include this Docker run command in your pipeline noscript:
Судя по описанию из видео, его достаточно легко интегрировать в CI/CD pipeline'ы. Вот пример из того же поста:
Integration is easy, simply include this Docker run command in your pipeline noscript:
docker run --user $(id -u) --rm -v $(pwd):/dastardly -e \
BURP_START_URL=https://ginandjuice.shop -e \
BURP_REPORT_FILE_PATH=/dastardly/dastardly-report.xml \
https://lnkd.in/esJuB8m8
Опять эти ваши битриксы https://news.1rj.ru/str/webpwn/355
Telegram
Кавычка
#bitrix #php
В PHP точки, пробелы и "[" в именах запросов автоматически переименовываются в нижнее подчеркивание. А "+" в пробел. Это позволяет обходить некоторые фильтрации на уровне веб-сервера или WAF.
Например, с помощью конфигурации nginx закрыли доступ…
В PHP точки, пробелы и "[" в именах запросов автоматически переименовываются в нижнее подчеркивание. А "+" в пробел. Это позволяет обходить некоторые фильтрации на уровне веб-сервера или WAF.
Например, с помощью конфигурации nginx закрыли доступ…
Come back is real…Решил на досуге посмотреть доклады и наткнулся на крутой доклад по продвинутым Client-Side атакам. Основная тема — профит от XSS без кук.
Узнал про:
- Service Worker, который работает как прокси-сервер и который может пересылать чувствительные данные на зловредный ресурс.
В докладе показан пример XSS без кук с использованием Service Worker в Sandbox Domain (конкретно c S3 Bucket).
- Early Hints — механизм, предложенный в рамках
HTTP/2, который позволяет серверам предоставлять клиентам предварительные подсказки (hints) о ресурсах, которые будут необходимы для отображения запрошенной страницы. Его особенность в том, что он поддерживается в
HTTP/1.1, а его реализация в Chromium сделана так, что (цитата): «Если ответ HTTP начинается на 103 Early Hints, он просто пропускает все байты, которые идут до строчки HTTP/1.1 200 OK»
HTTP/1.1 103 Early Hints
Link: </style.css>; rel=preload; as=style
Link: </noscript.js>; rel=preload; as=noscript
HTTP/1.1 200 OK
Date: Fri, 08 Dec 2017 12:28:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
(тело документа)
Такой ответ ломает даже бурп.
- CSP можно не только байпасить, но и использовать как вектор атаки с помощью атрибута csp в
iframe, т.к. это позволяет манипулировать CSP ресурса. Однако это не байпас, т.к. работает это, если делать политику строже. В качестве impact’а, например, реагирование на редирект по ресурсам (у пользователя есть доступ к какому-то ресурсу со UUID в URL). - XS Leaks (Cross-Site Leaks) — это класс уязвимостей в веб-приложениях, которые позволяют атакующему извлекать конфиденциальную информацию о пользователе или его действиях на других сайтах. В качестве примера — Link Injection в Express, где можно выйти за пределы угловых скобок.
#js #study
Может быть полезно.
Ресурс https://devdocs.io — онлайн-инструмент с удобным интерфейсом для доступа к документации множества языков программирования, библиотек, фреймворков и инструментов разработки.
Например, эволюция HTTP и дока по Angular разных версий
#docs #study
Ресурс https://devdocs.io — онлайн-инструмент с удобным интерфейсом для доступа к документации множества языков программирования, библиотек, фреймворков и инструментов разработки.
Например, эволюция HTTP и дока по Angular разных версий
#docs #study
devdocs.io
DevDocs API Documentation
Fast, offline, and free documentation browser for developers. Search 100+ docs in one web app: HTML, CSS, JavaScript, PHP, Ruby, Python, Go, C, C++…
Интересная статья про поиск ручек через стат. анализ в JS файлах.
Кстати, из нее можно узнать некоторые особенности таких open source сканеров как Semgrep и CodeQL:
В случае Semgrep разработчики сделали только внутрипроцедурный анализ - то есть Semgrep не понимает как данные передаются между функциями, в том числе через аргументы и возвращаемые значения. То есть уже для вот такого кода Semgrep не поймёт что в вызов
CodeQL и Joern более продвинутые, в них есть межпроцедурный анализ. Однако, внутри анализа у них очень простое представление для строк — они не умеют вычислять новые строки на основе существующих (как и числа, кстати). То есть, для вот такого кода они не смогут определить, какое значение получила переменная
https://blog.secsem.ru/ru/mining-requests-from-js-with-static-analysis/
Кстати, из нее можно узнать некоторые особенности таких open source сканеров как Semgrep и CodeQL:
В случае Semgrep разработчики сделали только внутрипроцедурный анализ - то есть Semgrep не понимает как данные передаются между функциями, в том числе через аргументы и возвращаемые значения. То есть уже для вот такого кода Semgrep не поймёт что в вызов
fetch() попадает URL "/abc123":
function f(x) {
fetch(x);
}
function g() {
var u = '/abc123';
f(u);
}
CodeQL и Joern более продвинутые, в них есть межпроцедурный анализ. Однако, внутри анализа у них очень простое представление для строк — они не умеют вычислять новые строки на основе существующих (как и числа, кстати). То есть, для вот такого кода они не смогут определить, какое значение получила переменная
u:
function f(param) {
var baseURL = '/api/2.0/';
var u = baseURL + 'action?param=' + param;
fetch(u);
}
function main() {
var v = 'abc123';
f(v);
}
https://blog.secsem.ru/ru/mining-requests-from-js-with-static-analysis/
blog.secsem.ru
Майнинг HTTP-запросов из клиентского JS с помощью статического анализа
Привет! Мы в лаборатории компьютерной безопасности на факультете ВМК МГУ уже какое-то время занимаемся анализом клиентского JavaScript-кода для обнаружения HTTP-запросов, которые из него могут отправляться на сервер (AJAX-запросов). Цель — передать эту информацию…
Forwarded from SecLab Blog
Майнинг HTTP-запросов из клиентского JS с помощью статического анализа — часть 2
В предыдущем посте мы посмотрели на базовую идею работы алгоритма и даже построили небольшой анализатор, основанный на ней. В этом посте расскажу ещё часть принципов устройства нашего алгоритма, включая поиск значений аргументов функций и хендлинг объектов типа инстансов XMLHttpRequest, а ещё кое-что про поддерживаемые операции.
Читать пост
В предыдущем посте мы посмотрели на базовую идею работы алгоритма и даже построили небольшой анализатор, основанный на ней. В этом посте расскажу ещё часть принципов устройства нашего алгоритма, включая поиск значений аргументов функций и хендлинг объектов типа инстансов XMLHttpRequest, а ещё кое-что про поддерживаемые операции.
Читать пост
Forwarded from DevSecOps Talks
Semgrep Academy: новые курсы!
Всем привет!
Недавно мы писали про Semgrep Academy (вот тут). На тот момент, курсов было немного, но! Недавно их стало больше!
Были добавлены:
🍭 API Security Mini Course (16 уроков, 30 минут видео)
🍭 Secure Coding (70 уроков, 2 часа виде)
🍭 Semgrep 101 (27 уроков, 1 час видео)
Курсы достаточно общие, зато охватывают много областей. С "программой" можно ознакомиться по ссылке из поста, регистрация не требуется.
Надеемся, что проект будет развиваться, появятся лабораторные работы и, возможно, экзамены ☺️
Всем привет!
Недавно мы писали про Semgrep Academy (вот тут). На тот момент, курсов было немного, но! Недавно их стало больше!
Были добавлены:
🍭 API Security Mini Course (16 уроков, 30 минут видео)
🍭 Secure Coding (70 уроков, 2 часа виде)
🍭 Semgrep 101 (27 уроков, 1 час видео)
Курсы достаточно общие, зато охватывают много областей. С "программой" можно ознакомиться по ссылке из поста, регистрация не требуется.
Надеемся, что проект будет развиваться, появятся лабораторные работы и, возможно, экзамены ☺️
Semgrep Academy
Semgrep Academy - Learn to create secure software!
Learn to create an application security program, write secure code, use Semgrep tools, and more! All for free.
Forwarded from HaHacking
ru/en](@hahacking
Уязвимость современной электронной почты к инъекциям;
Поиск и эксплуатация уязвимостей в системах обучения хакеров;
Создание архитектуры и администрирование инфраструктуры для проведения пентестов в формате red teaming, инструменты автоматизации malware development и развертывание атакующей инфраструктуры;
О важности определения верного места для полезной нагрузки, о предотвращении множества детектов антивирусом и о том, как атакующему оставаться скрытым от глаз защитных средств;
Риски безопасности биометрических считывателей;
...
История о самой сложной цепочке атак и шпионском ПО, которые когда-либо были обнаружены специалистами «Лаборатории Касперского»;
Мир управления зависимостями и безопасности открытого программного обеспечения;
...
Спасибо организаторам за организацию площадки, а докладчикам – за их труд и ценный вклад в сообщество!
@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Memes 365 (Maksim)
This media is not supported in your browser
VIEW IN TELEGRAM
Вы наверняка знаете, но если вдруг не знаете, то PayloadsAllTheThings — это уникальный репозиторий, наполненный полезными payload-ами и методами обхода.
Например, вот кейс его использования.
#cheatsheet #payload
Например, вот кейс его использования.
#cheatsheet #payload
GitHub
GitHub - swisskyrepo/PayloadsAllTheThings: A list of useful payloads and bypass for Web Application Security and Pentest/CTF
A list of useful payloads and bypass for Web Application Security and Pentest/CTF - swisskyrepo/PayloadsAllTheThings
Forwarded from PurpleBear (Vadim Shelest)
Меня иногда просят посоветовать self-hosted лабы по различным доменам знаний деятельности пентестеров для наработки и совершенствования навыков на практике, поэтому ловите небольшую подборку:
☑️ Kubernetes Goat - Vulnerable by design Kubernetes cluster
☑️ GOAD - Game of Active Directory
☑️ DVWA - Damn Vulnerable Web Application
☑️ DVWS - Damn Vulnerable Web Sockets
☑️ DVHMA - Damn Vulnerable Hybrid Mobile App (Android)
☑️ DVIA - Damn Vulnerable iOS App
☑️ DVIA2 - Damn Vulnerable iOS App v2
☑️ CI/CD Goat - Vulnerable CI/CD environment
☑️ DVGA - Damn Vulnerable GraphQL Application
☑️ VAmPI - Vulnerable REST API
☑️ DVSA - Damn Vulnerable Serverless Application
☑️ DVFaaS - Damn Vulnerable Functions as a Service (AWS Lambda)
☑️ AWS Goat - Damn Vulnerable AWS Infrastructure
☑️ DVCA - Damn Vulnerable Cloud Application (AWS privesc)
☑️ Azure Goat - Damn Vulnerable Azure Infrastructure
☑️ GCP Goat - Damn Vulnerable GCP Infrastructure
☑️ DVTA - Damn Vulnerable Thick Client App
☑️ DVJA - Damn Vulnerable Java (EE) Application
☑️ DVID - Damn Vulnerable IoT Device
☑️ DVAS - Damn Vulnerable Application Scanner
☑️ DVB - Damn Vulnerable Bank
☑️ DVWPS - Damn Vulnerable WordPress Site
☑️ DVNA - Damn Vulnerable NodeJS Application
☑️ DVGM - Damn Vulnerable Grade Management
☑️ Tiredful API - REST API intentionally designed broken App
☑️ DVCSharp - Damn Vulnerable C# Application (API)
☑️ DVRF - Damn Vulnerable Router Firmware
☑️ DVLLMP - Damn Vulnerable LLM Project
☑️ DVLLMA - Damn Vulnerable LLM Agent
Безусловно некоторые из них уже устарели и содержат не самые актуальные баги, а с некоторыми придется повозиться чтобы установить и развернуть, но все же это хорошая отправная точка для погружения в интересующую тематику😎
☑️ Kubernetes Goat - Vulnerable by design Kubernetes cluster
☑️ GOAD - Game of Active Directory
☑️ DVWA - Damn Vulnerable Web Application
☑️ DVWS - Damn Vulnerable Web Sockets
☑️ DVHMA - Damn Vulnerable Hybrid Mobile App (Android)
☑️ DVIA - Damn Vulnerable iOS App
☑️ DVIA2 - Damn Vulnerable iOS App v2
☑️ CI/CD Goat - Vulnerable CI/CD environment
☑️ DVGA - Damn Vulnerable GraphQL Application
☑️ VAmPI - Vulnerable REST API
☑️ DVSA - Damn Vulnerable Serverless Application
☑️ DVFaaS - Damn Vulnerable Functions as a Service (AWS Lambda)
☑️ AWS Goat - Damn Vulnerable AWS Infrastructure
☑️ DVCA - Damn Vulnerable Cloud Application (AWS privesc)
☑️ Azure Goat - Damn Vulnerable Azure Infrastructure
☑️ GCP Goat - Damn Vulnerable GCP Infrastructure
☑️ DVTA - Damn Vulnerable Thick Client App
☑️ DVJA - Damn Vulnerable Java (EE) Application
☑️ DVID - Damn Vulnerable IoT Device
☑️ DVAS - Damn Vulnerable Application Scanner
☑️ DVB - Damn Vulnerable Bank
☑️ DVWPS - Damn Vulnerable WordPress Site
☑️ DVNA - Damn Vulnerable NodeJS Application
☑️ DVGM - Damn Vulnerable Grade Management
☑️ Tiredful API - REST API intentionally designed broken App
☑️ DVCSharp - Damn Vulnerable C# Application (API)
☑️ DVRF - Damn Vulnerable Router Firmware
☑️ DVLLMP - Damn Vulnerable LLM Project
☑️ DVLLMA - Damn Vulnerable LLM Agent
Безусловно некоторые из них уже устарели и содержат не самые актуальные баги, а с некоторыми придется повозиться чтобы установить и развернуть, но все же это хорошая отправная точка для погружения в интересующую тематику😎
GitHub
GitHub - madhuakula/kubernetes-goat: Kubernetes Goat is a "Vulnerable by Design" cluster environment to learn and practice Kubernetes…
Kubernetes Goat is a "Vulnerable by Design" cluster environment to learn and practice Kubernetes security using an interactive hands-on playground 🚀 - madhuakula/kubernetes-goat
❤1🔥1
Взломали Google (почти)
Написал на коленке writeup на таск категории web прошедшего Google CTF.
Из интересного в статье:
- Схема
- Использование event listener
- Особенности
Написал на коленке writeup на таск категории web прошедшего Google CTF.
Из интересного в статье:
- Схема
data:,, и как ее можно использовать в своих целях- Использование event listener
- Особенности
fetch() запроса для получения в ответе подконтрольных данныхХабр
XSS в Sappy (частичный writeup)
Введение Недавно прошел Google CTF, после которого были выложены исходные коды и exploit'ы к заданиям. В этой статье я хотел бы подробнее рассмотреть web task с недавно прошедшего Google CTF, который...
AppSecs
Взломали Google (почти) Написал на коленке writeup на таск категории web прошедшего Google CTF. Из интересного в статье: - Схема data:,, и как ее можно использовать в своих целях - Использование event listener - Особенности fetch() запроса для получения…
Вредный совет, как можно решать таски (и только таски ctf 🌚), в которых нужен подконтрольный ресурс для отправки эксплойта и получения флага — лабы portswigger , например csrf .
В client-side лабах как правило предоставляется временный сервер для эксплойта. Он доступен в глобальной сети и идеально подходит под такие таски.
Удобно, быстро и бесплатно.
В client-side лабах как правило предоставляется временный сервер для эксплойта. Он доступен в глобальной сети и идеально подходит под такие таски.
Удобно, быстро и бесплатно.
Forwarded from Cybred
https://github.com/gracenolan/Notes
— Learning Tips
— Interviewing Tips
— Networking
— Web Application
— Infrastructure (Prod / Cloud) Virtualisation
— OS Implementation and Systems
— Mitigations
— Cryptography, Authentication, Identity
— Malware & Reversing
— Exploits
— Attack Structure
— Threat Modeling
— Detection
— Digital Forensics
— Incident Management
— Coding & Algorithms
— Security Themed Coding Challenges
Я инженер по безопасности в Google, и это заметки, сделанные во время подготовки к собеседованиям. Это моя первая работа в сфере безопасности, и многие спрашивали меня, как я учился.
Мои заметки состоят в основном из списка терминов и технологий, которые нужно изучить, а также небольших кусочков информации, которые помогли мне запомнить некоторые детали.
Я включил советы по собеседованию и стратегии обучения, которые так же важны, как и знание тем, которые следует изучать.
— Learning Tips
— Interviewing Tips
— Networking
— Web Application
— Infrastructure (Prod / Cloud) Virtualisation
— OS Implementation and Systems
— Mitigations
— Cryptography, Authentication, Identity
— Malware & Reversing
— Exploits
— Attack Structure
— Threat Modeling
— Detection
— Digital Forensics
— Incident Management
— Coding & Algorithms
— Security Themed Coding Challenges
Почему такой Dockerfile считается плохой практикой?
Один слой создает файл, а следующий его удаляет. Если собрать этот образ и затем его запустить, то никаких следов файла
Однако не позволяйте ввести себя в заблуждение — конфиденциальные данные все равно попали в образ. Чтобы убедиться в этом, экспортируйте образ в файл
Где
Конфигурация включает историю команд, выполнявшихся при формировании данного контейнера. Как можно видеть, в данном случае конфиденциальные данные отображаются на шаге выполнения команды
Внутри каталога каждого из слоев находится еще один файл tar с содержимым файловой системы на этом слое. Можно легко извлечь файл
из каталога соответствующего слоя:
Из этого ясно, что, даже если последующий слой и удаляет его, любой файл, когда-либо существовавший на любом из слоев, можно легко получить путем распаковки образа.
Звучит как таск на цтф 🙃️️️️️️
Подробнее можно почитать книгу O’Reily «Безопасность контейнеров»
#docker
FROM alpine
RUN echo "top-secret" > /password.txt
RUN rm /password.txt
Один слой создает файл, а следующий его удаляет. Если собрать этот образ и затем его запустить, то никаких следов файла
password.txt вы не увидите:
vagrant@vagrant:~$ docker run --rm -it sensitive ls /password.txt
ls: /password.txt: No such file or directory
Однако не позволяйте ввести себя в заблуждение — конфиденциальные данные все равно попали в образ. Чтобы убедиться в этом, экспортируйте образ в файл
tar с помощью команды docker save и разархивируйте его:
vagrant@vagrant:~$ docker save sensitive > sensitive.tar
vagrant@vagrant:~$ mkdir sensitive
vagrant@vagrant:~$ cd sensitive
vagrant@vagrant:~$ tar -xf ../sensitive.tar
vagrant@vagrant:~/sensitive$ ls
0c247e34f78415b03155dae3d2ec7ed941801aa8aeb3cb4301eab9519302a3b9.json
552e9f7172fe87f322d421aec2b124691cd80edc9ba3fef842b0564e7a86041e
818c5ec07b8ee1d0d3ed6e12875d9d597c210b488e74667a03a58cd43dc9be1a
8e635d6264340a45901f63d2a18ea5bc8c680919e07191e4ef276860952d0399
manifest.json
Где
0c24...json — конфигурация образа.Конфигурация включает историю команд, выполнявшихся при формировании данного контейнера. Как можно видеть, в данном случае конфиденциальные данные отображаются на шаге выполнения команды
echo:
vagrant@vagrant:~/sensitive$ cat 0c247*.json | jq '.history'
[
{
"created": "2019-10-21T17:21:42.078618181Z",
"created_by": "/bin/sh -c #(nop) ADD
file:fe1f09249227e2da2089afb4d07e16cbf832eeb804120074acd2b8192876cd28 in / "
},
{
"created": "2019-10-21T17:21:42.387111039Z",
"created_by": "/bin/sh -c #(nop) CMD [\"/bin/sh\"]",
"empty_layer": true
},
{
"created": "2019-12-16T13:50:43.914972168Z",
"created_by": "/bin/sh -c echo \"top-secret\" > /password.txt"
},
{
"created": "2019-12-16T13:50:45.085349285Z",
"created_by": "/bin/sh -c rm /password.txt"
}
]
Внутри каталога каждого из слоев находится еще один файл tar с содержимым файловой системы на этом слое. Можно легко извлечь файл
password.txtиз каталога соответствующего слоя:
vagrant@vagrant:~/sensitive$ tar -xf 55*/layer.tar
vagrant@vagrant:~/sensitive$ cat password.txt
top-secret
Из этого ясно, что, даже если последующий слой и удаляет его, любой файл, когда-либо существовавший на любом из слоев, можно легко получить путем распаковки образа.
Звучит как таск на цтф 🙃️️️️️️
Подробнее можно почитать книгу O’Reily «Безопасность контейнеров»
#docker
Telegram
Physics.Math.Code
Безопасность контейнеров. Фундаментальный подход к защите контейнеризованных приложений [2021] Лиз Райс
Во многих организациях приложения работают в облачных средах, обеспечивая масштабируемость и отказоустойчивость с помощью контейнеров и средств координации.…
Во многих организациях приложения работают в облачных средах, обеспечивая масштабируемость и отказоустойчивость с помощью контейнеров и средств координации.…
Фанатам Саши Малого про его выступление на PHDays (первые 8 минут)
https://youtu.be/Q_0H2yxax0I?si=Zp-pgYg50TzPwDVl&t=7
https://youtu.be/Q_0H2yxax0I?si=Zp-pgYg50TzPwDVl&t=7
YouTube
Разгоны #137 [Костя Пушкин, Саша Малой, Вера Котельникова, Самвел Гиновян, Вова Бухаров]
Реклама. ООО "БИГ СТЕНДАП", ИНН 7734498417, erid: 2SDnjcEUFva
25-го июля снимаем новые выпуски Разгонов! Билеты: https://clck.ru/3BsG4u
Подпишись на телеграм канал Стендап клуба: https://news.1rj.ru/str/Standupclubru
Разгоны офлайн: https://clck.ru/3BsG68
Афиша…
25-го июля снимаем новые выпуски Разгонов! Билеты: https://clck.ru/3BsG4u
Подпишись на телеграм канал Стендап клуба: https://news.1rj.ru/str/Standupclubru
Разгоны офлайн: https://clck.ru/3BsG68
Афиша…
AppSecs
Вредный совет, как можно решать таски (и только таски ctf 🌚), в которых нужен подконтрольный ресурс для отправки эксплойта и получения флага — лабы portswigger , например csrf . В client-side лабах как правило предоставляется временный сервер для эксплойта.…
Менее колхозные варианты поднять свой сервер без белого ip адреса:
- ngrok
- localtunnel
- serveo
Демо: https://www.youtube.com/watch?v=664imIyaK-A
- ngrok
- localtunnel
- serveo
Демо: https://www.youtube.com/watch?v=664imIyaK-A
Хабр
Ngrokking. Организация удаленного доступа без белого IP
Начало Все началось с идеи, как и всегда. Кто-то при мне упомянул про удаленный доступ без покупки белого IP и я вспомнил, как хотел осуществить подобное когда-то, но руки так и не дошли. Но,...
Знали про такой прикол в JS?
Максимальное целое число, которое может быть точно представлено в JavaScript, равно
Где это можно применить? Например, в циклах, где можно контролировать начальное и конечное значение для итераций (например, это одна и та же переменная), тем самым вызвать DoS из-за бесконечного цикла.
#js
j = -9007199254740991000
j === j +1 // true
Максимальное целое число, которое может быть точно представлено в JavaScript, равно
2^53−1, что соответствует 9007199254740991. Числа, превышающие этот предел, теряют точность. Когда вы пытаетесь добавить 1 к числу, значительно превышающему этот предел, происходит потеря точности, и результат остается прежним.Где это можно применить? Например, в циклах, где можно контролировать начальное и конечное значение для итераций (например, это одна и та же переменная), тем самым вызвать DoS из-за бесконечного цикла.
#js
👍2🔥1