SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Пароли хашове и къде бъркам

azsym

New member
Всички знаем че паролите не се пазят в чист текст, а в хашове+сол.
Обаче не разбирам следното:
Има парола: а123
В база данни е осолена и хаширана на : 234крсейрх23у4у23
Ако искам да се логна, пиша а123, софта праща а123 на логин скрипта, който хашира и вижда че хаша е еднакъв с квото е в БД.
До тук добре, обаче.
Някой хаква системата, вижда паролите в хашнат вид. Отива в логин скрипта и просто маха хаширането. След това праща хаша директно: 234крсейрх23у4у23 = 234крсейрх23у4у23 и е вътре.
Аз ли изпускам нещо тук?
И по тоя случай:
Имам скрипт в който имам нужда да има парола. Как да му доставя тая парола в нечист текст?
 
Някой хаква сайта, редактира логин скрипта да пуска винаги с определена парола за всеки потребител и другото е загуба на време. Ако пък целта е да има достъп до ДБ, вижда параметрите за връзка с ДБ и я дъпмва, за какво му е цялото усложняване на живота както го виждаш ти:))
НЕ разбрах съществения въпрос, но вероятно питаш за SSL?
 
ако всичко е написано като хората, няма как да се случи тоя вариант с "Някой хаква системата" :) , освен ако не хакнат самия хостинг което е малко вероятно да се случи :). Иначе ако искаш данните между server-client да са криптирани ползваш SSL.
 
Последно редактирано:
@azsym - бъркаш! идеята е че ако имаш само достъп до DB-то не може да вземеш паролата така както ти трябва. Ако имаш достъп до самия скрипт вече можеш да направиш такава шмекерия. Ако имаш достъп и до двете още по-добре.

Какъв скрипт трябва да има парола?
 
@borisov87 - всъщност няма нещо което да е "написано както хората", така че ИТ сигурността е като банковата сигурност. Ако тръгнеш да обираш банка е голяма вероятността да установиш, че не е трудно да го направиш.
Когато се говори за достъп, се говори за shell достъп и да това значи да е "хакнат самия хостинг", а всички знаем как дори и в сериозните компании персонала винаги е недостатъчен и най-често вместо да мисли за работата си, се занимава с оправяне на проблемите на не много умни клиенти. Или пък разни хорица четящи рецепти из интернет си конфигурират сами системите, без дори да осъзнават, че този който е писал рецептата вероятно разбира по-малко от тях това което говори. Да не говорим за родната действителност, където 90% от софтуера с който се достъпват някакви сървъри е кракнат или върви върху кракната ОС;)
mobilio е прав в това което казва. По подробно хеширането има три страни:
1. Нека да разгледаме пример с организация като ПейПал - голяма част от ИТ персонала има достъп, който може по един или друг начин да му позволи да вижда данните в ДБ, тогава ако той има потребителските име и парола, може да се логне от някой компютър и да си попрехвърли някакви пари, следователно съхранението на тази информация в чист вид носи риск.
2. Често аутентикацията се извръшва чрез кукита, едно плейн текст куки може да бъде четено както от случайно седнали на компютъра, така и чрез различни XSS и др. похвати или вируси.
3. Хеширането на паролата е вид криптиране и повишава сигурността при обмяната и по не криптирана връзка.
Така че azsym, трябва да си зададеш въпроса какво искаш да защитиш и от кого искаш да го защитиш и тогава да тръгнеш в необходимата посока.
 
Както каза eclipze, той ако те е хакнал така че вече чете базата и също може да променя и файловете ти, то това дето казваш вече няма значение. Идеята с паролите е за защита от други атаки. Така че прави си го както трябва, има смисъл, хората са го измислили преди нас.
 
Идеята на хеширането е като ти изтече базата данни, да не се виждат паролите.

Затова е важно хеширането да става както трябва с функции като password_hash() , за да не може хашът да се разбие с rainbow таблица.
 
Ами то от твоята гледна точка теоретически всичко което е написано от човек, може и да бъде хакнато от човек , но аз говоря реално - ако ползваш сносен хостинг а не домашния компютър с windows xampp инсталиран чрез щракане на няколко next-a . Да речем аз icn или superhosting ми не съм видял до сега проблеми да има.И под нещо " написано както хората" имах предвид , да не е нещо което е писано от бай Йордан от сладкарницата , който е гледал уроци за php4 във vbox ;).
 
Да, малко се отклоних.
Проблема е следния - имам скрипт, който се връзва към ФТП и праща нещо. В скрипта има паролата за фтп-то в чист текст. Което си е глупост.
Как да се направи така, че паролата да не може да се види?
Става дума за линукс система.
 
@azsym - не се прави така. Както и да енкоднеш паролата винаги ще се вижда. Далеч по-добра идея е да направиш един скрипт за HTTP file upload който да го стоварва в една папка.

Ето ти и пример:
---
<?php

if(isset($_FILES['uploaded'])){
$target = "uploaded/".basename($_FILES['uploaded']['name']) ;
print_r($_FILES);

if(move_uploaded_file($_FILES['uploaded']['tmp_name'],$target)) echo "OK!";

}
else{
echo "<form enctype='multipart/form-data' action='index.php' method='POST'>";
echo "File:<input name='uploaded' type='file'/><input type='submit' value='Upload'/>";
echo "</form>";
}

?>
---
 
azsym, това е съвсем различен филм. Ако държиш да е по FTP - http://en.wikipedia.org/wiki/FTPS важно е обаче да си сигурен, че и клиента и сървъра поддържат протокола. Може винаги през някакъв друг тунел да минат, аз предпочитам VPN, зависи за какво иде реч, но ако файловете са ти малки и могат да минат през скрипт и уебсървър на mobilio решението е най-просто. Но и при него стои въпроса, ако някой вижда паролата, за какво му е, като той може да вижда и модифицира цялата комуникация, така че и там SSL.

borisov87, аз говоря за съвсем различна постановка, нека да го кажа в контекста на горната аналогия - нивото на защита на нормална хостинг фирма е като на ченчаджия. Просто интереса към материали съхранявани на споделен хостинг е нищожен;)
 

Горе