Не мога да си спомня, PHP викаше ли функции, когато са написани така:
$profile = "SELECT * FROM users WHERE username = 'mysql_real_escape_string($_COOKIE[username])'";
Ако не - от тук може да се инжектира SQL. Провери дали вика функции, когато са в стринг, щото в момента нямам PHP да тествам. Online редакторите твърдят, че името на функцията просто става част от стринга.
Да, защото всичко между две кавички е стринг, интерполират се само променливите, не и функциите. Трябва да извадиш mysql_real_escape_string извън стринга:
PHP code:
$profile = "SELECT * FROM users WHERE username = ' " . mysql_real_escape_string($_COOKIE["username"])." ' ";
Като трябва да се отбележи, че това е силно непрепоръчително. Трябва да се използват prepared statements, а параметрите да се подават на базата отделно.
08/04/2018 8:27 am Re: CSRF Уязвимост, как да се справя с нея
georgi27 написа:
добър ден, след много бройно чете за CSRF тук намерих урок с Token Който добавих в формата за регистрация , но Acunetix не спря да реве за CSRF
Защо се доверяваш и разсъждаваш според софтуер, като Acunetix?
Пример: пусни за сканиране някой известен сайт и ще ти покаже дадени минуси в дизайна например и т.н... Не е решение! Препоръчвам ти да го оставиш настрана, освен ако не желаеш, да "download-ваш" изображения и да виждаш останалата информация, което е доста оскъдна...
Ако имаш съмнения в кода на цялото уеб съдържание, по-добре се насочи към модулите, които извличат информация от базата. И все пак не ми стана ясно, как "реве" Acunetix, но препоръчвам например да се информираш с - "що е то XSS".
Не Можете да пускате нови теми Не Можете да отговаряте на темите Не Можете да променяте съобщенията си Не Можете да изтривате съобщенията си Не Можете да гласувате в анкети