- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
<?php
$page = $_GET['page'];
$do = $_GET['do'];
$todo = $_GET['todo'];
//sponsor
$s = $_GET['s'];
//stupen
$st = $_GET['st'];
//sponsor
$u = $_GET['u'];
$email = $_POST['email'];
$password = $_POST['password'];
$name = $_POST['name'];
$message = $_POST['message'];
$surname = $_POST['surname'];
$username = $_POST['username'];
$passrepeat = $_POST['passrepeat'];
$sponsor = $_POST['sponsor'];
$skype = $_POST['skype'];
$perfectmoney = $_POST['perfectmoney'];
$payeer = $_POST['payeer'];
$advcash = $_POST['advcash'];
$bitcoin = $_POST['bitcoin'];
$status = $_POST['status'];
$uac = $_GET['uac'];
$nowis = time();
if ($do == 'login') {
//id name email username password
$querylogin = "SELECT * FROM `users`";
$datalogin = mysql_query($querylogin);
while ($rowlogin = mysql_fetch_array($datalogin)) {
$usercheck_id = $rowlogin['id'];
$usercheck_mail = $rowlogin['email'];
$usercheck_pass = $rowlogin['password'];
$usercheck_name = $rowlogin['name'];
$usercheck_username = $rowlogin['username'];
if ($usercheck_username == $username) {
if ($usercheck_pass == $password) {
$_SESSION['user'] = $usercheck_id;
$inmsg = 'Привет ' . $usercheck_name . '!';
$page = 'cabinet';
} else {
$err_msg = 'Неправильные пароль или аккаунт!';
}
} else {
$err_msg = 'Неправильные пароль или аккаунт!';
}
}
}
inho 12.10.2017 09:57 # +2
kissarat 12.10.2017 10:06 # 0
Dummy00001 12.10.2017 16:58 # 0
ша1 хакнули - ша512?
Dummy00001 12.10.2017 17:04 # 0
как все сложно. но к счастью есть библиотечки.
Her 12.10.2017 17:22 # 0
inho 12.10.2017 18:04 # 0
Dummy00001 12.10.2017 18:16 # +1
SemaReal 13.10.2017 02:56 # 0
главное -- солить
но лучше конечно sha512
bormand 13.10.2017 07:10 # +2
Надо всё-таки юзать что-нибудь с итерациями.
inkanus-gray 13.10.2017 07:15 # +1
bormand 13.10.2017 07:31 # 0
inho 13.10.2017 10:41 # +9
/fixed
inho 13.10.2017 09:39 # 0
Какими данными для этого нужно владеть?
vistefan 13.10.2017 09:42 # +1
хттп двоеточие слеш слеш википедия точка ру слеш Радужные таблицы.
inho 13.10.2017 09:55 # +1
vistefan 13.10.2017 10:33 # 0
bormand 13.10.2017 16:34 # +1
Да я имела в виду брутфорс: современным видюшкам с их терафлопсами прогнать словарь через хэш - раз плюнуть. А от брутфорса соль не защищает, поэтому и надо тыщи итераций + зависимость результата от каждой из них, как в PBKDF2.
vistefan 13.10.2017 16:38 # +1
bormand 13.10.2017 16:48 # +2
Stallman 13.10.2017 16:51 # +6
vistefan 13.10.2017 16:54 # +2
bormand 13.10.2017 16:57 # +2
subaru 13.10.2017 17:06 # +5
Stallman 13.10.2017 17:35 # +5
dxd 13.10.2017 22:05 # +2
SemaReal 26.03.2018 12:59 # +2
inho 26.03.2018 13:27 # 0
Ещё cykablyad так делает.
3.14159265 26.03.2018 13:33 # +1
Это одно из проявлений такого явления как борманды.
bormand 26.03.2018 13:35 # 0
Но ведь я -- тян (пруфов не будет).
Desktop 26.03.2018 13:51 # 0
Если нажать "разбанить всех", а потом зайти на ngk в новой вкладке, то разбаненные будут забаненными. Если открыть ещё пару вкладов с ngk, то там будет всё ок. Если все закрыть и снова открыть ngk, то снова разбаненные будут забаненными. И т.д.
Не то чтобы это надо фиксить, просто интересно, с фига ли. Обозреватель - ФФ
Desktop 26.03.2018 13:52 # 0
bormand 26.03.2018 13:56 # 0
Desktop 26.03.2018 13:58 # 0
SemaReal 26.03.2018 17:52 # 0
Он подчиняется RFC: https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching
Desktop 26.03.2018 18:45 # 0
bormand 26.03.2018 18:47 # 0
defecate-plusplus 26.03.2018 18:59 # +2
а злоебучий кеш был в edge когда 10ка только начала у заказчика внедряться - этот пидор кешировал прямо страницы предыдущей сессии (которые так-то вообще не беком генерились, а ангуляром)
SemaReal 26.03.2018 18:48 # 0
bormand 26.03.2018 18:53 # +1
Злоебучесть остаётся злоебучестью даже если она укладывается в рамки стандартов.
З.Ы. Лень гуглить, но такое ощущение, что у мобильного хрома злоебучесть политика кеширования зависит от того, через что он лезет в инет (wifi или сотовую сеть).
1024-- 26.03.2018 19:02 # 0
Интересно, распространяется ли это на обычный хром? Задал подключение как лимитное - и хром кэширует?
bormand 26.03.2018 19:14 # 0
bormand 26.03.2018 18:59 # 0
Т.е. если я не укажу max-age или expires, то клиент имеет полное право больше никогда не кидать запрос к моей css'ке?
defecate-plusplus 26.03.2018 19:06 # +2
поэтому динамические питухи, когда билдят фронт, просто хуярят версионные суффиксы на все ресурсы
был pitux.min.js, стал pitux.min.js?v=123412341234124, был unskillabra.css, стал unskillabra.css?v=134123412341234 (обычно туда таймстамп билда вшивается)
потому что экспирес экспиресом и кеш-контрол кеш-контролом, но когда ты выпускаешь новую версию на прод, тебе некогда ждать, когда у юзера истекут некие 24 часа или 30 дней
inho 26.03.2018 19:16 # 0
bormand 26.03.2018 19:17 # 0
По идее сразу. Проблемы там начинаются с заменой/удалением когда кеши DNS уже защёлкнули айпишник.
defecate-plusplus 26.03.2018 19:20 # 0
обычно днс-хостер говорит (в частноси, у меня яндекс-хуяндекс), что в течение 15 минут на его зоне обновится, а в сети Интернет - до 24 часов
но на практике сразу, как вносишь и нажимаешь апплай, так сразу гугловый днс резолвит
inho 26.03.2018 19:30 # 0
bormand 26.03.2018 19:32 # 0
inho 26.03.2018 19:34 # 0
bormand 26.03.2018 19:35 # 0
Влияет, по идее должно старые значения возвращать пока TTL не истечёт (т.е. правильные в твоём случае).
inho 26.03.2018 20:20 # 0
defecate-plusplus 26.03.2018 20:25 # 0
CrashTesterGland 26.03.2018 21:58 # −2
syoma 26.03.2018 23:18 # +1
SemaReal 26.03.2018 21:59 # 0
спроси у своего сервера напрямую. Ты на винде? Тогда
Переланчани DNS клиента
А что за ебля с почтой? Через что ты ее отправлял?
CrashTesterGland 26.03.2018 22:04 # 0
inho 26.03.2018 22:04 # 0
Посмотрим что они напишут.
inho 26.03.2018 22:16 # 0
Настроил в biz.mail.ru корпоративный ящик по домену, все MX, TXT записи - всё вроде заебись.
И и хостинговом UI оно вроде привязалось.
Но как этот говнохостинг должен отправлять письма от моего ящика - хуй знает.
CrashTesterGland 26.03.2018 22:22 # 0
inho 26.03.2018 22:26 # 0
На хостинге хуй знает как это делается, я первый раз пытаюсь что-то хостить.
CrashTesterGland 26.03.2018 22:30 # 0
inho 26.03.2018 22:31 # 0
SemaReal 26.03.2018 22:44 # 0
Ты точно так же отправляешь письма через их SMTP сервер указывая хост, порт, логин и пароль (и, вероятно, включая TLS).
На чем ты пишешь? на пыхе?
Pear Net_SMTP, нет?
localhost нужен когда у тебя на хостинге вертится свой SMTP. В теории ты можешь так сделать, но это требует некоторого уровня прыщеблядства потому что тебе придется устанавливать и настраивать MTA (Postfix, Exim, в тяжелых случаях Sendmail итд) либо на отправку писем напрямую, либо на форвардинг их на твой mail.ru (т.н. smarthost). Может еще понадобится настроить подпись DKIM, в общем поверь: ты этого не хочешь.
Так что просто пропиши в тебя в DNS те txt записи которые требует mail.ru чтобы заработали DKIM, DMARC и SPF (поищи у них в документаци) и проверь что твой скрипт соединился с их smtp (его адрес так же можно почерпнуть в доке по твоему biz) и что отправилось письмо
Проверь через https://www.mail-tester.com/ что твои письма не попадают в спам (что работают dkim и spf хотя бы) и можешь спать спокойно
inho 26.03.2018 22:52 # 0
> указывая хост, порт, логин и пароль
Там у них вылезло мейлрушное окно, где нужно было залогиниться в мейлрушку. Видимо на этом этапе что-то пошло не так.
DKIM, SPF - это всё есть.
defecate-plusplus 26.03.2018 22:54 # 0
inho 26.03.2018 22:55 # 0
defecate-plusplus 26.03.2018 22:57 # 0
syoma 27.03.2018 00:39 # 0
defecate-plusplus 27.03.2018 01:54 # 0
недонемец как обычно вроде бы чего-то хотел сказать важного и полезного, но вместо того, чтобы зайти на мерзкий майлру и увидеть поле "Пароль" на самом видном месте, просто напускал в холодную мартовскую лужу очередных пердячих пузырей
syoma 27.03.2018 02:02 # 0
>холодную мартовскую лужу
Извини, пидорашка, у нас луж практически нет.
SemaReal 27.03.2018 02:06 # 0
Вероятно ты говоришь про отключение самих imap и smtp а не про аутентификацию, потому что не понятно как еще аутентифицировать пользователя: по смарт-карте? по ключу?
За мейлру не скажу -- я им не пользуюсь --- но google по-умолчанию отключает imap и smtp для пользователя, нужно ставить галочку в настройках дескать "да, я до сих пор пользуюсь толстым клиентом".
Причем гугл не любит когда шлют письма скриптом. Если слать по письму в день то ок, а если сделать рассылку на 500 человек то он может и забанить или потребовать зайти с этого IP и заполнить капчу)
syoma 27.03.2018 02:20 # 0
defecate-plusplus 27.03.2018 02:26 # 0
смотри, беру тебя последний раз
и макаю тебя в твои ламерские анскильные выперды
проверяй информацию ДО того, как посмеешь открыть говнокод, школьник
syoma 28.03.2018 01:19 # 0
CrashTesterGland 26.03.2018 22:54 # −1
Переспал с твоей мамкой на спине твоего папки.
inho 27.03.2018 21:29 # 0
Вот у этих
https://www.reg.ru/whois/?check=&dname=govnokod.xyz
https://www.whois.com/whois/govnokod.xyz
есть запись Domain Status: serverTransferProhibited
А вот whois моего регистратора https://www.nic.ru/whois/?searchWord=govnokod.xyz, у которых этой записи нет, и суппорт отвечает - мы хз.
что за нахуй?
nslookup -type=soa govnokod.xyz
возвращает какую-то sdns-12r2ns01.client.parking.ru, хотя я указывал днсы
Primary DNS - ns02.parking.ru [195.128.120.2]
Secondary DNS - ns03.parking.ru [46.173.223.50]
может быть в этом дело?
SEMAREAL, проверь.
SemaReal 27.03.2018 21:46 # 0
По данным WHOIS.NIC.RU:
Domain Name: GOVNOKOD.XYZ
Registry Domain ID: D64222689-CNIC
Registrar WHOIS Server: whois.nic.ru
Registrar URL: http://www.nic.ru
Updated Date: 2018-03-27T13:04:13Z
Creation Date: 2018-03-23T10:33:11Z
Registrar Registration Expiration Date: 2019-03-23T21:00:00Z
всё там есть.
А вот DNS сервере на твоем parking.ru в SOA прописана какая-то помойка
А во вторых там нет A записи так что домен не резолвится ни во что
Зайди на админскую панель управления DNSом на parking.ru и пропиши там во-первых сервер " ns02.parking.ru" и укажи IP адрес своего хостинга в A записи
До кучи можешь прописать responsible mail addr "guestinho.mail.ru" раз уж ты написал его в whois (в SOA записях точка вместо собачки в мыле)
inho 27.03.2018 22:14 # 0
В чем заключается помойка?
Чем оно отличается от рабочего бесплатного домена guestinh_96852_0.lh.parking.ru ?
SemaReal 27.03.2018 22:17 # 0
У тебя primary name server -- sdns-12r2ns01.client.parking.ru.?
Впрочем, это не главная твоя проблема: на работу сайта это мало влияет. А вот отсуттвие A записи очень даже влияет: сайт потому и не открывается
Пропиши A
inho 27.03.2018 22:19 # 0
SemaReal 27.03.2018 22:26 # 0
Во-вторых он значит
"This status code prevents your domain from being transferred from your current registrar to another."
Ты что его, между регистраторами переносил?
Или ты его как на nic.ru купил так и всё?
В-третьих -- суппорт кого? parking.ru?
Твоя зона делегирована на их сервера, их сервер не содержит A записи, причем тут whois?
Покажи лучше ответ суппорта и скриншот адмики своей на parking.ru
inho 27.03.2018 22:35 # 0
Нет
> Или ты его как на nic.ru купил так и всё?
Да
> В-третьих -- суппорт кого? parking.ru?
parking.ru
Скриншот админки и письма http://guestinh_96852_0.lh.parking.ru/m.png
Скриншот из письма https://screenshots.firefox.com/cIkt3aQQqiTrLtjz/www.reg.ru
SemaReal 27.03.2018 22:37 # 0
А для @ записи A нет.
Подозреваю что status был сразу после регистрации, пока еще ничего не обновилось
Теперь уже все ок
https://www.nic.ru/whois/?query=govnokod.xyz
inho 27.03.2018 22:26 # 0
Нет. Я хуй знает откуда он взялся. В админке регистратора прописан ns02.parking.ru
SemaReal 27.03.2018 22:40 # 0
я там выше написал что у тебя A только для WWW и потому я по http://www.govnokod.xyz вижу иконку с говном и Work in progress
А без www я вижу хуй потому что A записи для @ нет.
> @ A free standing @ is used to denote the current origin.
/RFC 1035
зы: SOA прописывается не у регистратора а в DNS сервере -- то-есть в parking.ru в твоем случае, если ты ее там не прописывал то они видимо сами это делают, но пока это не проблема
inho 27.03.2018 22:58 # 0
И как-то без него в прошлый раз работало, до того как я всё грохнул.
SemaReal 27.03.2018 23:09 # 0
inho 27.03.2018 23:10 # 0
SemaReal 27.03.2018 23:13 # 0
govnokod.xyz.
я вижу что у тебя он прописан, но точки нет
без точки в конце он относительный (как govnokod.xyz.govnokod.xyz, но так не работает потому что само имя точку содержит)
SemaReal 27.03.2018 23:45 # 0
inho 28.03.2018 00:12 # 0
P.S. С точкой в конце запись тоже нельзя создать.
SemaReal 28.03.2018 00:18 # 0
самый лучший DNS у самого nic.ru: там прямо дают файл зоны редактировать: пиши, что хочешь
inho 28.03.2018 00:22 # 0
P.S. Тебе спасибо за помощь )
SemaReal 28.03.2018 00:33 # 0
если все три записи настроены по инструкции mail.ru, то наверное будет работать
Я бы проверил с командной строки, через "openssl s_client -connect smtp.mail.ru:465"
https://oioki.ru/2011/09/proveryaem-rabotu-smtp-auth-login-cherez-telnet/
inho 28.03.2018 00:24 # 0
Какой Сёма посоветовал -__-
SemaReal 28.03.2018 00:26 # 0
https://www.nic.ru/dns/service/dns_hosting/
AnusHunter 27.03.2018 21:55 # −1
SemaReal 27.03.2018 22:14 # 0
inho 27.03.2018 22:18 # 0
syoma 28.03.2018 00:55 # 0
SemaReal 26.03.2018 22:02 # 0
foo.js -> foo[hash-от-контекта].js
Затем Expires: через год
И всё: один раз скачали и до внесения изм. в файл так и будет закешено. Это актуально когда у тебя миллион клиентов.
но даже без этого с if-modified-since работает не плохо
Desktop 26.03.2018 19:52 # +1
g0_1494033395677 26.03.2018 19:58 # 0
syoma 26.03.2018 23:25 # 0
inho 26.03.2018 23:55 # 0
bormand 26.03.2018 13:54 # 0
CHayT 13.10.2017 17:44 # +2
Но я на самом деле девочка-волшебница.
Stallman 13.10.2017 18:57 # 0
syoma 26.03.2018 23:19 # 0
1024-- 13.10.2017 22:11 # −1
> брутфорс: современным видюшкам с их терафлопсами прогнать словарь через хэш - раз плюнуть. А от брутфорса соль не защищает
Не троллинга ради, хочется разобраться.
Перейдём в логарифмическую шкалу, построим оценку сверху.
Терафлопс - это 40 бит в секунду. Год - это 25 бит секунд или 65 бит в год на терафлопсе. Накинем 3 бита за 10 лет и ещё 7 бит во славу закона Мура. Итого 75 бит за 10 лет, начиная с терафлопса и активно апгрейдясь.
Скинем 5 бит за вычисление хэша. Скинем 22 бита за словарь. Останется 48 бит хэшей.
Соответственно, мне достаточно насолить хакеру 6 байт, что эквивалентно порядка 10¹⁴ итереций без соли (на самом деле даже меньше, т.к. оценка была сверху). Если короткий словарь на 12 бит - 8 байт или 10¹⁷ итереций.
Если хакеру удаётся скинуть биты из-за префиксов/постфиксов исходной строки, то это хэш какой-то жопошный, негодный. Когда математика обесчестила хэш, итереции могут подзадержать хакера, а то и вовсе поддержать былую надёжность.
Если я накидываю 1000 итереций, то добавляю ему только 10 бит. При используемых прикидках (воинствующий школьник с папой из Google) надо будет использовать 5+22+10 = 37 бит флопсов, то есть ¹⁄₈ секунды вместо ¹⁄₈₀₀₀. Если не так быстро, это ¹⁄₄ часа вместо секунды или 3 года вместо дня. Но всё равно криптографически вяло, а эта питушня на сервере тормозит.
Если речь о брутфорсе паролей, то итереции и слипы только снизят пирфоманс. Если поставить 1000 ядер, кулхацкер будет брутфорсить c 1000 IP. Если разрешить только один одновременный вход раз за какое-то время, то логинилка будет успешно DoSиться, если не самими пользователями, то одним неспешным хакером со старым нетбуком. Тут только пользователей заставлять пароли ставить сложнее, логиниться с трёхэтажными капчами (каждый раз, чтобы защитить от распределённого подбора логинов) и т.п.
Не вижу какой-то пользы в итерециях, кроме как в случае подбора паролей (но там и слип поможет). На каком этапе я заблуждаюсь?
bormand 13.10.2017 23:08 # +3
Соление и итереции защищают не твой сервер от активной атаки, а креденшиалы юзеров в случае, если у тебя базу ломанули и спиздили.
В общем-то можешь хранить пароли и в открытом виде, если не жалко людей, использующих один и тот же пароль на всех сайтах.
SemaReal 13.10.2017 23:10 # +1
99% таких. Среди НЕ айтишников так точно
1024-- 13.10.2017 23:25 # +2
>>> А от брутфорса соль не защищает
>> На каком этапе я заблуждаюсь?
> Соление и итереции защищают не твой сервер от активной атаки
Про это у меня был только один абзац о подборе паролей - чисто для покрытия всех вариантов касательно паролей (спереть хэши, подобрать пароли на сервере), оставив за бортом какие-нибудь мелочи вроде SQL-инъекций и прочих уязвимостей.
Остальное - расчёты того, как хакер десять лет обращает хэши у себя дома.
Почему соль не защищает от брутфорса?
Борманд в моей голове только что #:
Потому, что соль хранится в открытом виде, и если подбирать по словарю, не важно, сделать миллион вычислений хэша от пароля, либо миллион вычислений хэша от пароля плюс соли. В твоих вычислениях ты по недоразумению представил соль как нечто неизвестное, что ещё требуется подобрать. Соответственно, 6 байт соли добавят не 48 бит сложности брутфорсеру, а 0 бит; соль бесполезна.
Пока писал вопрос, понял, в чём дело.
3.14159265 26.03.2018 13:37 # +1
Хы-хы-хы. Вот так и заводят себе мнимых и даже комплексных друзей.
Или весь ГК, на самом деле, — плод воображения 1024-- ?
guest6 05.01.2022 01:01 # 0
guest6 05.01.2022 01:03 # 0
guest6 05.01.2022 01:06 # 0
>Это хуёвый вариант, т.к. у юзеров с одинаковым паролем будет одинаковый хэш.
трудно с ним не согласиться
guest6 05.01.2022 01:14 # 0
bormand 05.01.2022 01:25 # 0
З.Ы. А если он ещё и разный на всех сайтах, то ему вообще нясрать ня эти проблемы.
guest6 05.01.2022 01:34 # 0
bormand 05.01.2022 01:40 # 0
Чтобы каждого юзера пришлось подбирать в отдельности. А не всю базу одним заходом, как со статичной солью.
В сочетании с достаточным количеством итереций это отобьёт у злоумышленника всё желание что-то перебирать. Разве что совсем тупые варианты попробовать на авось.
guest6 05.01.2022 01:39 # 0
Если они все несолёные, то ты за O(1) найдешь придурков с паролем "123" и "pass".
Если они все солёные одной солью, то ты брутнешь одного придурка с паролем "123", и автоматически увидишь остальных сорока двух придурков с таким же паролем.
Если они все солёные разной солью, то ты будешь брутить каждого, а это долго.
guest6 05.01.2022 01:42 # 0
bormand 05.01.2022 01:47 # 0
Именно поэтому я за argon2i: гиг памяти, 4 ядра и что-то в районе секунды на одно вычисление хеша на 8700k.
Удачного перебора ;)
З.Ы. Хотя это больше для дискового шифрования, для сервака что-нибудь полегче надо.
guest6 05.01.2022 01:58 # 0
Я бы сделал так:
* В хроме есть кнопка "сгенерить серт и прива-тный ключ для этого домена
* Юзер ее жмет, ключ сохраняется с паролем где-то локально, серт передается на сервер
Всё. На сервере чисто публичные ключи именно для него и созданные. Пускай воруют сервер, похуй как-то.
Если у тебя 10К пользователей, то парочка всё равно забубенит легко угадываяемый пароль
bormand 05.01.2022 02:05 # 0
А на другой девайс приватные ключи передавать через гугол? Тогда проще через гугол SSO'шнуться и не ебать мозг себе и юзеру...
guest6 05.01.2022 02:06 # 0
Это уже забота юзера.
bormand 05.01.2022 02:08 # 0
guest6 05.01.2022 02:15 # 0
Кстати, как прикрутить к чему-то 2FA? Нужно с кем-то контракт заключать чтобы слать SMSки? Или можно воткнуть симку куда-то?
bormand 05.01.2022 02:17 # 0
Да, так проще всего...
А чем ТОРТ TOTP в качестве второго фактора тебе не нравится? Там и смсок не надо будет и в оффлайне будет работать.
guest6 05.01.2022 02:20 # 0
Кстати, был же когда-то OTP (без первой T) тупо на бумажке.
Вот тебе 33 пароля, каждый на один раз.
PS: Мне ничего этого не надо, разумеется.
Я прикоучивал https://python-social-auth.readthedocs.io/en/latest/backends/index.html#social-backends и тёк
Пускай голова у гугла болит
Fike 05.01.2022 02:23 # 0
bormand 05.01.2022 02:25 # 0
bormand 05.01.2022 02:31 # 0
Можешь секрет запомнить и в уме считать, там всего лишь хеш и немного битоёбства.
guest6 05.01.2022 02:35 # 0
guest6 05.01.2022 02:25 # 0
заDDoSить легко даже небольшим ботнетом
bormand 05.01.2022 02:27 # 0
Затроттлишь перебор по айпишнику. Один фиг это сделать надо по-хорошему.
guest6 05.01.2022 02:35 # 0
Впрочем, если баннить после трех неверных попыток и передавать бан куда-то на сетевое оборудование, которое умеет проверять SRC хардварно, то может и не так страшно
SemaReal 13.10.2017 22:52 # +2
я захешил sha512 соленый пароль "сороктысячобезьянвжопусунулибанан".
У маминого хакера есть 4 карты NVIDIA P106-100 на общуюу сумму 80 тыр.
Сколько времени ему надо чтобы вскрыть мой пароль?
bormand 13.10.2017 23:04 # 0
З.Ы. И "сороктысячобезьянвжопусунулибанан" всяко есть в словарях, классика же.
SemaReal 13.10.2017 23:07 # +1
>> И "сороктысячобезьянвжопусунулибанан" всяко есть в словарях,
да, но если это словарь для брута то ты прав. А если это словарь слово-хеш то хуй, ибо соль
bormand 13.10.2017 23:15 # 0
Как-то так.
> md5
Разве для md5 уже pre-image атаку нашли, чтобы его нельзя было юзать для хеширования паролей? Емнип, там только коллизии научились генерить.
> словарь для брута
Да, я его имела в виду.
SemaReal 14.10.2017 00:24 # 0
Но окей, я соглашусь пожалуй что и MD5 солёный на дороге не валяется.
inho 14.10.2017 15:17 # 0
P.S. Можно айдишник юзера ложить в соль.
1024-- 14.10.2017 15:41 # +2
1. Если слита таблица с хэшами, индивидуальная соль пользователя там уже лежит, и подбирать её не надо, просто вычислить хэш от 123 и соли.
2. Если спрашивать user:123 у сервера, соль не важна.
Спрятать соль на другом сервере отдельно? Может, и вариант получше, ломать придётся два сервера, а не один. Но если сломали первый, то почему второй должен устоять?
bormand 14.10.2017 15:54 # 0
Desktop 26.03.2018 11:00 # 0
SemaReal 26.03.2018 12:55 # 0
3_dar 04.01.2022 23:29 # 0
guest6 05.01.2022 00:59 # 0
3_dar 05.01.2022 01:01 # 0
guest6 05.01.2022 01:02 # 0
https://www.mit.edu/
Это логово столманов, AI, лиспа, вот этого всего
guest6 05.01.2022 01:04 # 0
guest6 05.01.2022 01:06 # 0
ObeseYoung 05.01.2022 02:26 # 0
guest6 05.01.2022 02:28 # 0
Нужно нахуй сжечь весь MIT
guest6 05.01.2022 02:47 # 0
К сожалению, как минимум один раз тебе нужно куда-то ввести свой пароль, и это здорово рушит картину в сетях MS (например при удалённом доступе).
Именно потому Борманд и за смарт-карты.
Сейчас есть OAuth, и идеей SSO без передачи пароля никого не удивишь, увы
SemaReal 14.10.2017 15:57 # 0
1024-- 14.10.2017 16:20 # 0
inho 14.10.2017 15:59 # 0
И ещё нужно знать алгоритм применения соли. Но допустим это password + salt.
bormand 14.10.2017 16:10 # +1
В криптографии всегда предполагается, что мы знаем все алгоритмы.
> захардкожена в settings.php
Это хуёвый вариант, т.к. у юзеров с одинаковым паролем будет одинаковый хэш. Здесь можно провести активную атаку заюзав сервер в качестве оракула - зарегаться, менять свой пароль и подглядывать, какой получается хеш.
Вот если часть соли индивидуальная, а часть - в settings.php - вроде выглядит лучше. По крайней мере SQL инъекций можно не бояться, если соль в settings.php достаточно криптостойкая.
1024-- 14.10.2017 16:28 # 0
Это чтобы ещё и алгоритм хэширования подобрать?
А так установить себе один раз пароль "123" и отнести хэш хакеру домой на подбор соли видеокартами.
bormand 14.10.2017 16:35 # 0
Не, тут даже алгоритм знать не надо. Сервер сам всё сделает как надо. Тебе остаётся менять свой пароль на все тупые варианты и смотреть, когда твой хеш с чьим-то ещё совпадёт.
Да, не оффлайн. Да, админ может запалить (но не факт, т.к. смена пароля при известном старом - довольно безобидное действие).
Т.е. индивидуальная соль всё же нужна.
bormand 14.10.2017 16:40 # +1
- криптостойкая статичная соль, без знания которой хеши бесполезны;
- индивидуальная соль, которая защищает от создания таблиц и сравнения хешей друг с другом;
- алгоритм с N итерециями (к примеру, PBKDF2), который замедляет брутфорс в N раз.
inho 14.10.2017 17:17 # 0
Вот я пытаюсь выпытать у вас: КАК?
Как подобрать соль, пусть даже она 10 символов 64-символьного алфавита?
bormand 14.10.2017 17:24 # 0
SemaReal 26.03.2018 12:57 # 0
syoma 27.03.2018 00:40 # 0
SemaReal 27.03.2018 00:44 # 0
syoma 27.03.2018 01:04 # 0
SemaReal 27.03.2018 01:11 # 0
syoma 27.03.2018 01:13 # 0
>на сессии
Штооо блядь?
>на csrf в пост формах
Как оно там организовано?
SemaReal 27.03.2018 01:23 # 0
salted_hmac
я не верно выразился: не на саму соль, а в добавок к ней.
salt гарантирует что в двух местах кода я не получу одинаковых hmac, а ключ гарантирует что я не получу его в разных инсталляциях
>>Как оно там организовано?
https://github.com/django/django/blob/master/django/middleware/csrf.py
from django.utils.crypto import constant_time_compare, get_random_string
при этом get_random_string (правда только если нет random нормального)
hashlib.sha256(
('%s%s%s' % (random.getstate(), time.time(), settings.SECRET_KEY)).encode()
)
syoma 27.03.2018 20:04 # 0
>если нет random нормального
Это как вообще? Даже на эмбеде он есть.
Короче, нихуя не понятно. То ли я дурак, то ли они.
SemaReal 27.03.2018 20:15 # 0
они доверяют только нормальному рендому который использует энтропию, а его (по доке питона) может не быть:
https://docs.python.org/2/library/os.html#os.urandom
On a UNIX-like system this will query /dev/urandom, and on Windows it will use CryptGenRandom(). If a randomness source is not found, NotImplementedError will be raised.
POSIX не требует urandom
https://unix.stackexchange.com/questions/146735/does-posix-require-any-devices
Так что вполне может не быть в конкретном устройстве
syoma 28.03.2018 00:52 # 0
SemaReal 28.03.2018 01:28 # 0
Теоретически я могу представь себе маленький headless сервер у которого просто нет источника энтропии, но это не важно: важно что posix не требует /dev/random и /dev/urandom, а значит их может не быть, и Django не может требовать их наличия.
>>криптография на открытом ключе,
ну сгенерить ключ ты можешь заставив пользователя кляцать по клаве (так делает openssh, например) а вот нужен-ли тебе рендом при его использовании зависит от использования.
syoma 28.03.2018 01:49 # 0
>при этом get_random_string (правда только если нет random нормального)
А для чего он нужен-то если есть нормальный рендом?
SemaReal 28.03.2018 02:35 # 0
>>а для чего
для того чтобы превратить random в красивый набор букв и цифр нужной длины:)
Вот как он работает если есть random (то-есть можно random.choice)
Еще раз предлагаю почитать код, там всё написано
https://github.com/django/django/blob/master/django/utils/crypto.py
syoma 28.03.2018 02:39 # 0
3_dar 04.01.2022 23:33 # 0
1024-- 14.10.2017 17:47 # +1
* Проверить варианты, сгенерированные с помощью rand() и других простых генераторов
* Запастись терпением и перебирать все варианты
> КАК?
А потом использовать найденную salt для остальных
inho 14.10.2017 18:10 # 0
Берём достаточное количество поролей. Составляем сестему бесконечномерный уравнений, и решаем её.
1024-- 14.10.2017 18:19 # 0
SemaReal 15.10.2017 08:20 # 0
syoma 26.03.2018 23:19 # 0
3_dar 04.01.2022 23:33 # 0
HoBorogHuu_nemyx 04.01.2022 23:41 # 0
guest6 05.01.2022 03:10 # 0