sql инекция :: need fix

Теги:
 
+
-
edit
 

reptily

втянувшийся
народ вот я держу сервер как уже год
но чем больше я его держу чем больше на нем находят багов
вот некотрые начиталис нубоских сайтов и начинают кидать на sql запросы тоесть (sql инекция) (с поможю них можно делать все)
как ето делают я знаю
но вопрос не в этом
если здесь ребята каторые знают как можно извавить сетвер он етого Г
зарания спс
и еще не надо меня просит разкозать как это делается
меньше знаеш дольше живешь
спс за рание
 

naksa

разработчик L2J Fortress
tontor patch, езкат на постпоцыфыке



пока прочитал твое сообщение - глаза сломал :(
 
+
-
edit
 
+
-
edit
 
Интересно... Чья сборка?
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

reptily

втянувшийся
Abaddon> Интересно... Чья сборка?

на 4 сборках проверял везде идет (
 
+
-
edit
 
А подробнее технологию?
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

reptily

втянувшийся
Abaddon> А подробнее технологию?

подробно писать небуду в крачии а то этота статья станит достаянием читаков

1. способ посылаения sql запроса через /block или /gmlist (работает на 2 из 4 сборок)
2. по труднее устанавливается на свой комп http server + php пишется на php запрос затем в help вбивается так назаваемый путь к файлу php (так как многии сервера пароли на sql не меняют а оставляют root root а другие просто не работают с другими логинами этот способ преносит 90% успеха работает на 4 из 4 сборках)

еще что хотел добавить
если даже пароль изменили можно послать запрос на создания нового пользователя
прицем все это делается через клиент иногда через бота

и народ не надо ставить себе веб сайты каторые к некотрым сборкам прилокаются
на одном из них я нашел 12 дыр причем это самый популярный (имя его оставлю в тайне)
 
+
-
edit
 
Второе к серверу не относится, если админ использует пароль root и разрешает при этом внешние подключения к mysql это его проблемы, первое надо проверить, хотя сомнительно что-то.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

reptily

втянувшийся
Abaddon> Второе к серверу не относится, если админ использует пароль root и разрешает при этом внешние подключения к mysql это его проблемы, первое надо проверить, хотя сомнительно что-то.

проблема не в mysql
идет такая бойда
в нелпе появляется этот код и затем отправляется
а отправляется он не на веб сервер а в сервер на катором сидим
тоесть произ ходит следущие
сервак получает этот запрос и считает его своим и затем без вся кого кидает на sql сервер

1 вариант проще но не всегда проходи
проходит он 100% когда сервак лагает
лаги можно вызват технологии ping of dead
а через макрос кидать запрос на сервак
 
+
-
edit
 
Проверил.

Насчет гмлиста - не представляю как можно через него что-то сделать... Команда /gmlist вообще не передает аргументов.

Команда /block передает строку, но к бд при ней обращения не происходит - по строке идет поиск в списке игроков онлайн, так что тут тоже ничего не сделаешь.

А подмена htm работает только на sourceforge и greenhope при выключенном шифровании запросов.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

reptily

втянувшийся
Abaddon> Проверил.
Abaddon> Насчет гмлиста - не представляю как можно через него что-то сделать... Команда /gmlist вообще не передает аргументов.
Abaddon> Команда /block передает строку, но к бд при ней обращения не происходит - по строке идет поиск в списке игроков онлайн, так что тут тоже ничего не сделаешь.
Abaddon> А подмена htm работает только на sourceforge и greenhope при выключенном шифровании запросов.
пробовал frendinvite
я так понил что все конекты идут через библеотеку mysql-connector-java-*****-bin.jar
какая версия сейчас самая новая и если можно линк на нее
 
+
-
edit
 
Не знаю искать надо... А запросы идут в mysql только если команда подразумевает это, и нигде не идет прямого обращения.

con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("select char_id, friend_name from character_friends where char_id=? and friend_name=?");
statement.setInt(1, activeChar.getObjectId());
statement.setString(2, friend.getName());
ResultSet rset = statement.executeQuery();
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

roller

опытный
google rulez!
Roller, Тирант - Последний Герой клана OutLaw - 61+ (52+ честно нажитое) Rollw, Скав - Ресурсы, рецепты, спойл. Дорого - 40+ (33+ честно нажитое) Rolly, Cleric - Ready for party ;) - ХЗ+ (30+ честно нажитое) Rollon, SH - гордый и бедный - 48+  

SAM

разработчик L2J Fortress
Самая новая mysql-connector-java-5.0.0-beta бери вот тут Index of /mysql/Downloads/Connector-J
В России не только водку пить умеют.  
+
-
edit
 

reptily

втянувшийся
Abaddon> Не знаю искать надо... А запросы идут в mysql только если команда подразумевает это, и нигде не идет прямого обращения.
Abaddon> con = L2DatabaseFactory.getInstance().getConnection();
Abaddon> PreparedStatement statement = con.prepareStatement("select char_id, friend_name from character_friends where char_id=? and friend_name=?");
Abaddon> statement.setInt(1, activeChar.getObjectId());
Abaddon> statement.setString(2, friend.getName());
Abaddon> ResultSet rset = statement.executeQuery();


что самое смешное то вот такое оброщения

/frendinvite UPDATE 'characters' SET 'accesslevel='100', 'char_slot'=NULL WHERE 'obj_id'='2685277764' LIMIT 1;
проходят

а скриптик в хелпе наверно твой может пройти
 
+
-
edit
 
Хм... Интересно, чего там нового...
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

reptily

втянувшийся
SAM> Самая новая mysql-connector-java-5.0.0-beta бери вот тут Index of /mysql/Downloads/Connector-J
спасибо
 
+
-
edit
 

msblast

новичок
reptily> народ вот я держу сервер как уже год
reptily> но чем больше я его держу чем больше на нем находят багов
reptily> вот некотрые начиталис нубоских сайтов и начинают кидать на sql запросы тоесть (sql инекция) (с поможю них можно делать все)
reptily> как ето делают я знаю
reptily> но вопрос не в этом
reptily> если здесь ребята каторые знают как можно извавить сетвер он етого Г
reptily> зарания спс
reptily> и еще не надо меня просит разкозать как это делается
reptily> меньше знаеш дольше живешь
reptily> спс за рание
если знаешь как делается то в чем проблема???
а какия образом тебе их делают, через сайт или есть еще способ?
 
+
-
edit
 

Vairus

втянувшийся
Abaddon>> Не знаю искать надо... А запросы идут в mysql только если команда подразумевает это, и нигде не идет прямого обращения.
Abaddon>> con = L2DatabaseFactory.getInstance().getConnection();
Abaddon>> PreparedStatement statement = con.prepareStatement("select char_id, friend_name from character_friends where char_id=? and friend_name=?");
Abaddon>> statement.setInt(1, activeChar.getObjectId());
Abaddon>> statement.setString(2, friend.getName());
Abaddon>> ResultSet rset = statement.executeQuery();
reptily> что самое смешное то вот такое оброщения
reptily> /frendinvite UPDATE 'characters' SET 'accesslevel='100', 'char_slot'=NULL WHERE 'obj_id'='2685277764' LIMIT 1;
reptily> проходят
reptily> а скриптик в хелпе наверно твой может пройти

а как они свой objid То узнают? или через имя ет тоже катит?
Если взять кило водяры и пол литра закусона, И вдохнуть марихуаны правым глазом через нос, То придет Иосиф Сталин без руки, но семиногий И взмахнет забавно **ем И попросит Папирос. © http://www.Lineages.ru Server Administrator  

Murkt

Pythoneer

в пакетах вроде есть айдишники
[team Їжачки - сумні падлюки]  
+
-
edit
 

reptily

втянувшийся
Abaddon>>> Не знаю искать надо... А запросы идут в mysql только если команда подразумевает это, и нигде не идет прямого обращения.
Vairus> Abaddon>> con = L2DatabaseFactory.getInstance().getConnection();
Vairus> Abaddon>> PreparedStatement statement = con.prepareStatement("select char_id, friend_name from character_friends where char_id=? and friend_name=?");
Vairus> Abaddon>> statement.setInt(1, activeChar.getObjectId());
Vairus> Abaddon>> statement.setString(2, friend.getName());
Vairus> Abaddon>> ResultSet rset = statement.executeQuery();
reptily>> что самое смешное то вот такое оброщения
reptily>> /frendinvite UPDATE 'characters' SET 'accesslevel='100', 'char_slot'=NULL WHERE 'obj_id'='2685277764' LIMIT 1;
reptily>> проходят
reptily>> а скриптик в хелпе наверно твой может пройти
Vairus> а как они свой objid То узнают? или через имя ет тоже катит?

есть какаято команда вроде /user info от туда id можно достать
и както id можно вычислить но я в это не посвещен
 
+
-
edit
 

reptily

втянувшийся
я еще не успакоелся
ррррр
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru