
err0r
22.09.2016
13:26:55

Viktor
22.09.2016
13:38:51
Уж простите за откровенность

Google

Viktor
22.09.2016
13:39:34
Как ты вообще арч поставил...

Zart
22.09.2016
13:39:58
а как в арче аур сделан?

err0r
22.09.2016
13:42:36

Темный
22.09.2016
13:42:57
потому что можешь.

Viktor
22.09.2016
13:43:32
Каждый из которых имеет в себе скрипт
Который исполняется при сборке
И скачивает нужные исходники, конфигурирует и мейк инсталлит их
Также он определяет информацию о пакете
Этот скрипт исполняется утилитой makepkg которая проверяет зависимости, а затем запускает 3 стадии скрипта, после чего собирает пакет

Zart
22.09.2016
13:52:32
негусто разницы с портами
технически может и иначе, но суть та же

Google

Viktor
22.09.2016
14:20:30

Zart
22.09.2016
14:20:52
порты в бсд, ебилды в генту, вот это всё

Viktor
22.09.2016
14:21:32
а, ну да.

Максим
22.09.2016
14:27:12
Может кто подскажет, есть ли подобные группы в телеграме по java?

Темный
22.09.2016
14:29:04
есть

Максим
22.09.2016
14:39:26
Линк пожалуйста:)

Dmitriy
22.09.2016
14:55:52
Мужики, не подскажете какой-то ресурс, где подробно расписываются секьюрити баги в коде на питоне?
У меня класс для работы с БД, возможно там косячнул где-то, пока догадки)
Или вообще посоветуете литературу по написанию грамотного безопасного кода?

Zart
22.09.2016
14:59:56
как везде - экранировать правильно

Cykooz
22.09.2016
15:01:12
Безопаснее всего - вообще ничего не писать. ?

Dmitriy
22.09.2016
15:05:42

Zart
22.09.2016
15:08:33
не совать данные в запросы напрямую...
https://xkcd.com/327/

Viktor
22.09.2016
15:09:38
SQL/NoSQL?

Dmitriy
22.09.2016
15:10:00
SQLite

Viktor
22.09.2016
15:10:13
И зачем свой класс?

Dmitriy
22.09.2016
15:11:08
Класс телефонная книга
там дофига функций, я решил это обернуть в класс, чтобы легче импортировать было

Viktor
22.09.2016
15:12:43

Google

Igor
22.09.2016
15:12:44
да

Dmitriy
22.09.2016
15:12:53
лол

Igor
22.09.2016
15:13:01
если ты делаешь так
"INSERT " + то_что_ввел_юзер + " FROM table;"

Dmitriy
22.09.2016
15:13:15
так и делаю
это уязвимо?

Igor
22.09.2016
15:13:16
если буквально так, как ты написал, то, конечно, нет
да, надо экранировать входящие данные

Viktor
22.09.2016
15:13:32
def insert_number(number: str):
cur.execute("INSERT " + number + " INTO table");

Igor
22.09.2016
15:13:34
в стандартной sqlite библиотеке в питоне это вроде делается вопросиками

Zart
22.09.2016
15:13:38

Igor
22.09.2016
15:13:42
и потом через запятую перечисляешь

Viktor
22.09.2016
15:13:42

Dmitriy
22.09.2016
15:13:45
как это сделать?
Что под этим подразумевается?

Igor
22.09.2016
15:14:00
c.execute("UPDATE movies SET rating = ? WHERE name = ?", (8.7, "'Allo 'Allo! (1982)"))
первым аргументом - запрос; там, где надо вставить опасные данные - знак вопроса,
а вторым аргументом tuple из этих опасных данных

Viktor
22.09.2016
15:14:40
кстати да, просто юзай стандартные возможности библиотеки

Dmitriy
22.09.2016
15:14:52

Igor
22.09.2016
15:14:54
имей в виду, что если надо вставить че-то одно, то tuple должен выглядеть так - ('data',)
с запятой на конце

Dmitriy
22.09.2016
15:15:20
Как я понял, первый вариант норм, а второй где я юзаю .format() не годится, верно?

Zart
22.09.2016
15:15:22
это касается и хтмл тоже

Viktor
22.09.2016
15:15:26

Google

Igor
22.09.2016
15:15:28
cur.execute("INSERT INTO contacts (FIO, phone, born) VALUES(?, ?, ?)", info)
один такой запрос
cur.execute("UPDATE contacts SET phone={0} WHERE id={1}".format(phone_number, id))
другой такой запрос
> cur.execute("INSERT INTO contacts (FIO, phone, born) VALUES(?, ?, ?)", info)
вот это правильно
> cur.execute("UPDATE contacts SET phone={0} WHERE id={1}".format(phone_number, id))
вот так нельзя

Dmitriy
22.09.2016
15:15:36
Спасибо!

Viktor
22.09.2016
15:16:48
phone_number = "123 WHERE id=5; DROP TABLE contacts; UPDATE contacts SET phone=123"

Igor
22.09.2016
15:16:59
это называется SQL-инъекция
фишка в том, что юзер может ввести, например, такой номер телефона: 0; DROP TABLE users;
и все, и пизда всем твоим пользователям

Viktor
22.09.2016
15:17:09

Igor
22.09.2016
15:17:57
ибо в итоге выполняемый запрос будет выглядеть так:
UPDATE contacts SET phone=0; DROP TABLE users; WHERE id=123

Admin
ERROR: S client not available

Igor
22.09.2016
15:18:05
ну да, на WHERE id=123 он охуеет, конечно
зато первые два выполнятся

Dmitriy
22.09.2016
15:18:08
Хорошо, то есть использование функций модуля sqlite3 (вопросики, а потом пихаю таппл) позволяет мне защититься от инъекции?

Igor
22.09.2016
15:18:13
да

Dmitriy
22.09.2016
15:18:35
Или же мне самому ещё надо проводить проверку на вводимые данные?

Igor
22.09.2016
15:18:52
идеально и так, да
согласись, будет странно, если ты позволишь сохранить номер телефона "сосите хуй"

Dmitriy
22.09.2016
15:19:56
справедливо :)

Igor
22.09.2016
15:20:26
Или же мне самому ещё надо проводить проверку на вводимые данные?
это уже зависит от тебя, но вообще лишний раз данные юзера хорошо проверить.
с другой стороны, когда не разрешают ввести 16-символьный пароль со спецсимволами или емейл a@bc.de, хотя он полностью валидный, мне хочется таких пиздить большими резиновыми черными хуями

Dmitriy
22.09.2016
15:21:06
лоол)

Viktor
22.09.2016
15:21:47
Особенно про пароль
горю просто

Google

Viktor
22.09.2016
15:22:29
особенно когда делаешь спецсимволов кучу
А оно в ответ: ВАШ ПАРОЛЬ НЕБЕЗОПАСЕН В НЕМ ДОЛЖНА БЫТЬ ОДНА ЦИФРА

amureki
22.09.2016
15:24:14

Viktor
22.09.2016
15:24:37
Никак
Главное не пустой, и чтобы хэш функции можно было скормить
А дальше пусть только СОВЕТЫ, но никак не Обязательные условия

amureki
22.09.2016
15:25:17
это бьет по репутации компании, когда сливаются огромные базы паролей от аккаунтов вроде 123456 и иже с ними

Viktor
22.09.2016
15:25:35
Сделать красным шрифтом: У вас пароль небезопасный

amureki
22.09.2016
15:25:53
никто не читает красный шрифт, если форма сабмитится

Владимир
22.09.2016
15:25:54
главное хранить в открытом виде

Viktor
22.09.2016
15:26:01
И мааааленькую галочку внизу "я знаю что я делаю"

Владимир
22.09.2016
15:26:05
и никакой соли и хешей

Viktor
22.09.2016
15:26:15
Ок, тогда не сабмитить с первого раза

amureki
22.09.2016
15:26:16

Владимир
22.09.2016
15:26:22
а то как потом взалывать то

Viktor
22.09.2016
15:26:28
Брутфорс же

amureki
22.09.2016
15:26:48

Viktor
22.09.2016
15:26:52

Владимир
22.09.2016
15:27:02
не, я про радужные таблицы и тому подобное
Эта группа больше не существует