ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

06.01.2022, 22:27
|
|
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 пихал, но не получается никак.
|
|
|
|

07.01.2022, 02:09
|
|
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]
что-бы передавать заголовки, можете использовать Жабускрипт и:
|
|
|
|

07.01.2022, 11:11
|
|
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).
Куда стоит копать дальше?
|
|
|
|

07.01.2022, 12:25
|
|
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]
|
|
|
|

07.01.2022, 14:01
|
|
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)
|
|
|
|