Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование, т. 3

Рекомендованные сообщения

Гость 2poy_nyasha

пацаны ест такой код

$result = mysql_query("SELECT * FROM $tbname LIMIT $first, 100");

 

есть доступ к обеим переменным

как поиметь с этого выгоду?

Поделиться сообщением


Ссылка на сообщение

к которым из трех?


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

те которые в sql коде

Поделиться сообщением


Ссылка на сообщение

Ты инъекцию хочешь сделать или чего?

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

Ну там короче эти переменные формируются из post ов которые не обрабатываются нихуя

 

как ваще можно что-то сломать или вывести или показать используя эту дыру

Поделиться сообщением


Ссылка на сообщение

ну запихни апдейтов внутрь селекта


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

в $tbname

засунуть

 

$tbname LIMIT $first, 100 ; любой код ;--

вроде так


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

не ломать базу не хочеца, она мне еще нужна

и пихать в нее данные тоже не хочеца - спалят

 

а вот если бы можно было как-то вывести переменные которые есть в коде (названия которых известны) было бы збс

Поделиться сообщением


Ссылка на сообщение

SELECT $varname FROM dual


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

котик, поподробнее, будь котиком

Поделиться сообщением


Ссылка на сообщение

вероятно, что после замены $tbname в "SELECT * FROM $tbname LIMIT $first, 100" на (select $varname from dual) так, чтобы получилось "SELECT * FROM (select $varname from dual) LIMIT $first, 100", в $result будет выводиться значения переменной $varname

 

возможно нужно кавычек добавить в некоторые места, а то я эти ваши php не видел уже несколько лет


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
(изменено)

беда то в том, что доступа к $result нет

и можно рассчитывать только на ошибки которые выдаст php

 

а на чем ты пишешь последние несколько лет?


Изменено пользователем 2poy_nyasha

Поделиться сообщением


Ссылка на сообщение
Гость cedyua

А если так:

mysql_query("SELECT * FROM mysql.user union select load_file('полный путь к файлу который нужно прочитать')-- LIMIT $first, 100");

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

файл прочитать? можно конечно попробовать прочитать config.php в котором лежит доступ к бд, это было бы збс

Поделиться сообщением


Ссылка на сообщение
Гость cedyua
(изменено)

вообще, если file_priv Y и есть папка на запись, то шелл залить дело минуты.

так же возможно узнать логина, пароли к админке, если она есть


Изменено пользователем cedyua

Поделиться сообщением


Ссылка на сообщение

беда то в том, что доступа к $result нет

и можно рассчитывать только на ошибки которые выдаст php

ошибки php выводятся в продакшене? пиздец.

 

а на чем ты пишешь последние несколько лет?

 

windows batch :)

 

:CONFIG
SET CONFIG_FILE=%*
IF NOT EXIST "%CONFIG_FILE%" (
   CALL :EXIT Configuration file "%CONFIG_FILE%" was not found
) ELSE (
   FOR /f "eol=# delims== tokens=1,2" %%I IN (%CONFIG_FILE%) DO (
   SET %%I=%%J
   )
)
GOTO :EOF

:CONFIG_CODEPAGE
CHCP 1251
SET NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
GOTO :EOF

:CONFIG_LOCALE
SET Locale=LOCALE_UNKNOWN
SET YYYYMMDD=YYYYMMDD
SET YYMM=YYMM
IF "_%DATE:~2,1%"=="_." (
   IF "_%DATE:~5,1%"=="_." (
       SET Locale=LOCALE_RUSSIAN
       SET YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
       SET YYMM=%DATE:~8,2%%DATE:~3,2%
   )
)
IF "_%DATE:~2,1%"=="_/" (
   IF "_%DATE:~5,1%"=="_/" (
       SET Locale=LOCALE_ENGLISH_UK
       SET YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
       SET YYMM=%DATE:~8,2%%DATE:~3,2%
   )
)
IF "_%DATE:~3,1%"=="_ " (
   IF "_%DATE:~6,1%"=="_/" (
       IF "_%DATE:~9,1%"=="_/" (
           SET Locale=LOCALE_ENGLISH_US
           SET YYYYMMDD=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%
           SET YYMM=%DATE:~12,2%%DATE:~4,2%
       )
   )
)
IF "_%DATE:~2,1%"=="_ " (
   IF "_%DATE:~5,1%"=="_/" (
       IF "_%DATE:~8,1%"=="_/" (
           SET Locale=LOCALE_ENGLISH_US
           SET YYYYMMDD=%DATE:~9,4%%DATE:~3,2%%DATE:~6,2%
           SET YYMM=%DATE:~11,2%%DATE:~3,2%
       )
   )
)
IF "_%Locale%"=="LOCALE_UNKNOWN" CALL :EXIT Locale is unknown
GOTO :EOF


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

вообще, если file_priv Y и есть папка на запись, то шелл залить дело минуты.

так же возможно узнать логина, пароли к админке, если она есть

вот короче код такой (писал не я офк)

 

<?
include_once("config.php");

if ($_POST) {
$first = $_POST['fromid'];
$tbname = $_POST['fromtb'];

if (trim($first) == '') {$first = "0";}
$userids = "";
$symbol = "";

db_connect($dbhost, $dbuser, $dbpass, $dbname);
mysql_query("SET NAMES 'cp1251'");
$result = mysql_query("SELECT * FROM $tbname LIMIT $first, 100");
while ($row =  mysql_fetch_array($result)) {
if ($userids !== "") {$symbol = ",";}
$userids = $userids.$symbol.$row[$idcolumn];
}

$mesage= $_POST['yourtext'];

$rand = rand();
$timestamp = time()+300;

$sig = md5("api_id=".$api_id."message=".$mesage."method=secure.sendNotificationrandom=".$rand."timestamp=".$timestamp."uids=".$userids."v=2.0".$api_key);
$postvars="api_id=".$api_id."&message=".$mesage."&method=secure.sendNotification&random=".$rand."&timestamp=".$timestamp."&uids=".$userids."&v=2.0&sig=".$sig;


$chp = curl_init('http://api.vkontakte.ru/api.php');
curl_setopt($chp, CURLOPT_HEADER,0);
curl_setopt($chp, CURLOPT_RETURNTRANSFER ,1);
curl_setopt($chp, CURLOPT_POST, 1);
curl_setopt($chp, CURLOPT_POSTFIELDS,  $postvars);
$res = curl_exec($chp);
curl_close($chp);

$datetime = date("[H:i:s] ");
$len = strlen($res);
if ($len !== 51) {
$check = strpos($res, 'Invalid');
if ($check == false) {echo "$datetime Отправились уведомления до: $res";} else {echo "$datetime В данной позиции ID не найдены.";}
} else
{echo "$datetime Ни одного уведомления не доставлено.";}
} else echo "ERROR.";
?>

Поделиться сообщением


Ссылка на сообщение
Гость cedyua

вывод ошибок есть? отправь в запрос кавычку, что выведет?

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

а не, походу нет

выводит

В данной позиции ID не найдены.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...