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

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

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

  #1  
Старый 06.01.2022, 22:27
ceg
Guest
Сообщений: n/a
Провел на форуме:
9711

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

Ребят, никак не могу передать заголовок Authorization, который передается в каждом запросе типа:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$jwt[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]= [
[/
COLOR][COLOR="#DD0000"]"Authorization: "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$jwt[/COLOR][COLOR="#007700"],
];
[/
COLOR][/COLOR
Мой код:

В одном файле формирую данные:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/* ........ */
[/COLOR][COLOR="#0000BB"]$checkSum[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"]= array();
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"wallet_to"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_to[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"sum"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$amount[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$tnx_id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"hook_url"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]cn[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"add_funds/lava/complete"[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"success_url"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]cn[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"add_funds/success"[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"fail_url"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]cn[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"add_funds/unsuccess"[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"expire"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]lava_expiretime[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"subtract"[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]lava_substract[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'comment'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]lava_comment[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]= array(
[/
COLOR][COLOR="#DD0000"]'paramList'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'checkSum'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$checkSum[/COLOR][COLOR="#007700"],
);
[/
COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]load[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]view[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"lava/redirect"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]);
[/
COLOR][/COLOR
В другом файле форму: (redirect.php)

Код HTML:
HTML:

  
  
    
    
       $value) {
        echo '';
      }
      ?>
      
        $(function() {
          document.getElementById("payment_method_form").submit();
        });
      
    
  
Как же мне сюда можно внедрить передачу заголовка? Крутил и туда, и сюда, и curl пихал, но не получается никак.
 
Ответить с цитированием

  #2  
Старый 07.01.2022, 02:09
fandor9
Guest
Сообщений: n/a
Провел на форуме:
169390

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

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

Ребят, никак не могу передать заголовок Authorization, который передается в каждом запросе типа:
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$jwt[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]= [
[/
COLOR][COLOR="#DD0000"]"Authorization: "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$jwt[/COLOR][COLOR="#007700"],
];
[/
COLOR][/COLOR
Мой код:
...
Как же мне сюда можно внедрить передачу заголовка? Крутил и туда, и сюда, и curl пихал, но не получается никак.
Вам надо как минимум исправить код для заголовка, там не хватает слова Bearer перед самим JWT токен.

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$jwt[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]= [
[/
COLOR][COLOR="#DD0000"]"Authorization: Bearer "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$jwt[/COLOR][COLOR="#007700"],
];
[/
COLOR][/COLOR
что-бы передавать заголовки, можете использовать Жабускрипт и:
 
Ответить с цитированием

  #3  
Старый 07.01.2022, 11:11
ceg
Guest
Сообщений: n/a
Провел на форуме:
9711

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

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

не хватает слова Bearer перед самим JWT токен.
Взял с документации https://docs.lava.ru/primery-raboty-s-api/php

Вместо:

Код HTML:
HTML:

  
  
    
    
       $value) {
        echo '';
      }
      ?>
      
        $(function() {
          document.getElementById("payment_method_form").submit();
        });
      
    
  
пишу:

Код HTML:
HTML:

  
  
    
    
       $value) {
        echo '';
      }
      ?>
      
     
var http = new XMLHttpRequest();
            var url = 'https://api.lava.ru/invoice/create';
            var params = '';
            http.open('POST', url, true);
         
            //Send the proper header information along with the request
            http.setRequestHeader('Authorization','Bearer '+'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9');
            http.onreadystatechange = function() {//Call a function when the state changes.
                if(http.readyState == 4 && http.status == 200) {
                    alert(http.responseText);
                }
            }
            console.log(this.responseText);
            http.send(params);
     
      
    
  
Получаю в консоле ошибки:

undefined

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://api.lava.ru/invoice/create. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»). Код состояния: 200.

Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://api.lava.ru/invoice/create. (Причина: не удалось выполнить запрос CORS). Код состояния: (null).


Куда стоит копать дальше?
 
Ответить с цитированием

  #4  
Старый 07.01.2022, 12:25
ceg
Guest
Сообщений: n/a
Провел на форуме:
9711

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

Сделал все таки с помощью curl.

Вариант сработал, но посмотрите, можно ли оставлять такой вариант получения данных и перенаправление страницы? Пробовал перенаправлять с помощью header - ошибка в консоле по поводу запрета чтения удаленного ресурса.


PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"https://api.lava.ru/invoice/create"[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]= [[/COLOR][COLOR="#DD0000"]"Authorization: "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]lava_apikey[/COLOR][COLOR="#007700"],];

[/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_init[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_URL[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POST[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POSTFIELDS[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$paramList[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_RETURNTRANSFER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_HEADER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_HTTPHEADER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_exec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]json_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]curl_exec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]curl_close[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$redirecturl[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"url"[/COLOR][COLOR="#007700"]];

echo[/
COLOR][COLOR="#DD0000"]"self.location='[/COLOR][COLOR="#0000BB"]$redirecturl[/COLOR][COLOR="#DD0000"]';"[/COLOR][COLOR="#007700"];
[/COLOR][/COLOR
 
Ответить с цитированием

  #5  
Старый 07.01.2022, 14:01
fandor9
Guest
Сообщений: n/a
Провел на форуме:
169390

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

Так как вы делаете запрос с источника, который отличается от цели, из-за политики общего происхождения ("same-origin policy") то браузер не даёт читать/использовать данные которые получает в ответе. По идее API должен отдавать в ответах CORS заголовки "Access-Control-Allow-Origin" со значением либо * (любой источник может читать/использовать информацию ответов) либо же со значением подходящее под источник "Access-Control-Allow-Origin: hxxps://test.ololo.ru/"
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ