Я думаю, что получаю эту уязвимость от ServletRequest.
Я понимаю, что должен сделать какую -то кодирование /декодирование, чтобы разрешить эту уязвимость XXS, но не уверен, как. Кто -нибудь может помочь? < /P>
import lombok.extern.slf4j.slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import org.springframework. stereotype.Controller;
import org.springframework.web.bind.annotation. RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
import ac.temp.events .app.service.ProxyControllerService;
import ac.temp.events.app.service.ServiceHelper;
import jakarta.servlet.http.HttpServletRequest;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Set;
@Controller
@Slf4j
public class RestProxyControllerService {
private final RestTemplate RestTemplate;
private final URI proxyUri;
private final ProxyControllerService controllerService;
private final ServiceHelper serviceHelper;
public RestProxyController(ResrTemplate, restTemplate, @Value("${proxy.url") String proxyUrl, ProxyControllerService controllerService, ServiceHelper serviceHelper) {
this.restTemplate = restTemplate;
this.proxyUri= new URI(proxyUrl);
this.controllerService = controllerService;
this.serviceHelper = serviceHelper;
}
@RequestMapping(${proxy.contextPath})
public ResponseEntity serverProxy(@RequestBody(required = false) String body, HttpServletRequest servletRequest,
HttpMethod httpMethod, JwtAuthenticationToken jwtAuthenticationToken) {
Set userRoles = serviceHelper.getRoles(jwtAuthenticationToken);
var uri = ServletUriComponentsBuilder.fromRequest(servletRequest)
.host(proxyUri.getHost())
.port(proxyUri.getPort())
.scheme(proxyUri.getScheme())
.build(true)
.toUri();
var httpEntity = new HttpEntity(body, controllerService.createRequestHeader(servletRequest, proxyUri.getHost(), userRoles));
try {
return controllerService.createResponseEntity(restTemplate.exchange(uri, method, httpEntity. String.class));
} catch (HttpStatusCodeException exp) {
return controllerService.createErrorResponseEntity(exp);
}
}
}
< /code>
Не уверен, что TR. У меня больше нет подробностей, чтобы добавить.
Подробнее здесь: https://stackoverflow.com/questions/793 ... nerability
Как я могу исправить этот код, чтобы избежать уязвимости сценария сценария XXS? ⇐ JAVA
Программисты JAVA общаются здесь
1738054979
Anonymous
Я думаю, что получаю эту уязвимость от ServletRequest.
Я понимаю, что должен сделать какую -то кодирование /декодирование, чтобы разрешить эту уязвимость XXS, но не уверен, как. Кто -нибудь может помочь? < /P>
import lombok.extern.slf4j.slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
import org.springframework. stereotype.Controller;
import org.springframework.web.bind.annotation. RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
import ac.temp.events .app.service.ProxyControllerService;
import ac.temp.events.app.service.ServiceHelper;
import jakarta.servlet.http.HttpServletRequest;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Set;
@Controller
@Slf4j
public class RestProxyControllerService {
private final RestTemplate RestTemplate;
private final URI proxyUri;
private final ProxyControllerService controllerService;
private final ServiceHelper serviceHelper;
public RestProxyController(ResrTemplate, restTemplate, @Value("${proxy.url") String proxyUrl, ProxyControllerService controllerService, ServiceHelper serviceHelper) {
this.restTemplate = restTemplate;
this.proxyUri= new URI(proxyUrl);
this.controllerService = controllerService;
this.serviceHelper = serviceHelper;
}
@RequestMapping(${proxy.contextPath})
public ResponseEntity serverProxy(@RequestBody(required = false) String body, HttpServletRequest servletRequest,
HttpMethod httpMethod, JwtAuthenticationToken jwtAuthenticationToken) {
Set userRoles = serviceHelper.getRoles(jwtAuthenticationToken);
var uri = ServletUriComponentsBuilder.fromRequest(servletRequest)
.host(proxyUri.getHost())
.port(proxyUri.getPort())
.scheme(proxyUri.getScheme())
.build(true)
.toUri();
var httpEntity = new HttpEntity(body, controllerService.createRequestHeader(servletRequest, proxyUri.getHost(), userRoles));
try {
return controllerService.createResponseEntity(restTemplate.exchange(uri, method, httpEntity. String.class));
} catch (HttpStatusCodeException exp) {
return controllerService.createErrorResponseEntity(exp);
}
}
}
< /code>
Не уверен, что TR. У меня больше нет подробностей, чтобы добавить.
Подробнее здесь: [url]https://stackoverflow.com/questions/79393234/how-can-i-fix-this-code-to-avoid-xxs-cross-site-scripting-vulnerability[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия