• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Mysql

  • Автор темы Snake
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

Snake

Вобщем стала такая задача! Нужно узнать какие базы MySQL есть на сервере, потом узнать какие таблицы есть в каждой базе и название полей ну а потом естественно вывести! Возможно ли вообще такое написать на РНР и если да то подскажите как! :)
Спасибо!
 
G

Gisma

посмотри базу данных MySQL :) "mysql" там в таблицах все что тебе нужно:)
 
S

Snake

Понимаю что немного не по теме! Я долго долбался почему же у меня phpMyAdmin не работает! Оказалось интепритатор старый! :) Вобщем я обновился и теперь у меня некоторые скрипты не работаеют!! У меня файл для рабты с MySQL. Вобщем система такая:

//Это все один файл

<?php
if($sub == "1")
{
//тут соединение с базой(все пароли, адреса задаются в else)
}

else
{

<form action=/index.php method="post">
<input type="hidden" name=sub value=1>
<input type="submit" value=Submit>

}

?>


Т.е. получается что при подтверждении данные else'а передаются в первую часть программы и начинается работа с базой. Но когда я запускаю скрипт, т.е. идет работа с else'ом, выдается вот такое вот "Notice: Undefined variable: sub in F:\Server\www\index.php on line 6", а дальше все таблицы и т.д.(весь else) На старом интепритаторе все работало, а поставил 5-й и начало выдавать. Т.е. нажимаю на submit, а данные даже не посылаются, возвращает на начальный уровень ;) Кстати я поставил в php.ini что выводило все ошибки кроме замечаний и надпись исчезла! Но скрипт все равно не работает! Может знает в чем дело!?
 
A

acorn

Кажется, я понял в чем твоя ошибка.
Поставь перед $sub знак @ т.е:
Код:
if(@$sub == "1")
Еще вариант: проверять существует ли перменная перед if-ом:
Код:
if(IsSet($sub))
//...а тут уже второй if
 
S

_serg_

to Snake
в пхп-ини убери вывод нотисов
 
S

_serg_

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

acorn

Мне кажется, что лучше просто временно отключить, т.е. поставить @ - хотя, смотря что там и как там.. трудно сказать, когда не знаешь что там конкретно.
 
S

_serg_

трудно сказать, когда не знаешь что там конкретно
я насмотрелся на коды этих движков - и пхпББ, и этот же ИПБ и не только форумы - мамбы (это ваще продкт-загадка), битриксы (один из самых нормальных по сравнению с остальными)...
и у всех одна и та же проблема - народ абсолютно не следит ни за ворнингами, ни за нотисами
такое впечатление, что их просто отключают, как ненужное.
бесит просто. как можно предлагать пусть и бесплатный, но все-таки глючный продукт.
на боевом сайте вообще ничего выводиться не должно - все в лог

а то будет примерно так:

имеем - сайт MoneyNews

открываем любой материал (наугад):

пробуем на прочность

на лицо стандартная sql-инъекция
что-бы проэксплуатировать ее - надо узнать структуру таблицы:

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

з.ы. несколько минут, что бы найти в поисковике уязвимый сайт! офигеть...
 
S

sergushkin

Вобщем стала такая задача! Нужно узнать какие базы MySQL есть на сервере, потом узнать какие таблицы есть в каждой базе и название полей ну а потом естественно вывести! Возможно ли вообще такое написать на РНР и если да то подскажите как!

Всё это можно получить с помощью SQL-запросов

1) Запрос
Код:
show databases;
возвращает таблицу из одного столбца с названиями баз данных на сервере MySQL

2) Запрос
Код:
show tables;
возвращает таблицу из одного столбца с названиями таблиц в активной в данный момент базе данных

3) Запрос
Код:
describe <table_name>;
возвращает таблицу с полной информацией о структуре таблицы с название <table_name> в активной в данный момент базе данных
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!