Последние комментарии

Для меня эта страница - это удобный способ смотреть, что нового происходит в комментариях и сразу находить заметку, не заходя в админку. Думаю, она будет полезна и тебе.


Евгений

Все рано не понятно. Хотелось бы конкретный пример. Неужели в запросе String.Format("SELECT * FROM 123 WHERE id={1}", id), если id="delete from tbPerson", обнулится вся таблица tbPerson? Каким образом, подобные уязвимости могут быть использованы? Да мы скорее от сервера получим ответ от некорректной sql-инструкции. Или речь идет о различных "самодельных", бесплатных sql-серверах?


Здравствуйте! Помогите взломать пароль на фейсбуке


Михаил Флёнов

1. Как раз String.Format и имеется ввиду.
2. Я уже не помню, чтобы кто-то рекомендовал использовать процедуры. По крайней мере я никогда этого не рекомендовал и не буду
3. На сколько я помню, этот пункт противоречит предыдущему. Фреймворки типа doctrine в PHP или LINQ в .NET как раз генерят SQL запросы, а не процедуры. И я уже много раз говорил, что против использования этих фреймворков.

Кстати, в коде, о котором я говорю был фреймворк, который поддерживал параметризированные запросы. Но почему-то вместо передачи параметров, программисты решили использовать форматирование String.Format


Alouette

Михаил, можете пояснить? Не совсем понял, что вы имеете в виду под форматированием. Приведение к стилю кодирования? Тогда SQL-инъекции не при чем. Использование функции Format? А на каком языке? В SQL, насколько мне известно, нет такой инструкции. Может быть, имеется в виду конструкция вроде String.Format("SELECT * FROM 123 WHERE id={1}", id) из C#? Но разве запросы должны храниться не на сервере в виде хранимых процедур? И разве в современных системах их исполнение осуществляется не посредством фреймворков?


Michail

Был планшет и есть телефон самсунг. Уши работают любые, но управление только с родных, к которым слово "качество звука" не применимо ни разу. Но, если заморочиться и переставить сами динамики от koss, то получается ого-го! Bose у нас стоят фантастически. Оригинальные наушники самсунг найти можно, но подделок китайских великое множество.


Михаил Фленов

Форматировать строку - имелось ввиду без параметризации. При использовании параметров уязвимости не будет.


Николай

А можно пример опасности? Во времена параметризации запросов тяжело представить уязвимый сценарий


Алексей

Я посчитал свою в переводе на доллары и у меня получилось чуть более 3, так что 5 еще круто :-)


Storm

Я пользуюсь VPS от Digital Ocean и честно говоря не понимаю зачем нужны эти CPanel и прочее. Если только тем у кого совсем уж мало опыта, но им как раз и полезнее всего изучать матчасть, да и зачем таким людям VPS? Купил копеечный shared-хостинг, да сделал все по прилагающейся инструкции. А так подключился по SSH и вперед без всякой шелухи, можно хоть с телефона сервер конфигурить.

P.S. LAMP развернуть на любой системе очень легко при помощи VirtualBox + Vagrant + Scotch Box. Пара команд в консоли и у тебя готовая виртуалка со всем что нужно (LAMP + расашренная папка куда нужно складывать скрипты, плюс локальный ip-адрес по которому доступен сервер).


Xcode

$30, отличная цена, у нас стоит 100$


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне