Как проверить параметры запроса мыльного веб-сервиса для Xtc attcaks в Java - PullRequest
0 голосов
/ 14 июня 2019

как мне защитить мой API от attcaks сценариев сайта клиента или XSS attcaks?

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

есть вероятность, что входящий запрос может иметь объектную модель DOM или любые подозрительные данные, которые нарушают работу приложения.

как показано ниже,

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://www.abcxyz.com/aaa/bbb" xmlns:ws="http://www.abcxyz.com/aaa/bbb">
   <soapenv:Header>
      **<cus:id>
         <SCRIPT>a=/XSS/alert(a.source)</SCRIPT>
      </cus:id>**
   </soapenv:Header>
   <soapenv:Body>
      <cus:cancelRequest>
         <!--Optional:-->
         <ws:transactionId>10000</ws:transactionId>
         <ws:systemId>CCC</ws:systemId>
         <ws:userId>USER_NAME</ws:userId>
         <cus:cancelElements>
            <cus:elementType>NAME</cus:elementType>
            <cus:elementId>AB123</cus:elementId>
         </cus:cancelElements>
      </cus:cancelRequest>
   </soapenv:Body>
</soapenv:Envelope>

если есть какие-либо атаки со стороны хакера путем передачи вредоносных данных как части параметров запроса, тогда мне нужно обработать их и выдать ошибку или не допустить обработки данных.

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Вы не можете использовать метод Encode в Java для решения этой проблемы.Я уверен, что в Java есть метод Encode или что-то в этом роде.

0 голосов
/ 14 июня 2019

Решение для этого заключается в том, что вы должны написать файл XSD (определения схемы), и этот XSD должен иметь возможность проверки по элементу в вышеупомянутом XML-файле.

Ответ: Вам необходимо импортировать пакет import javax.xml. *; .В этом вы сможете проверить свой XML-файл против вас XSD.

Например: Employee.xsd EployeeRequest.xml

Employee.xsd

<simpleType name="Imei">
<annotation>
<documentation>A string representing the IMEI number. An IMEI will be of 15 digit.</documentation>
</annotation>
<restriction base="string">
<pattern value="\d{15}"/>
</restriction>
validateXMLSchema("Employee.xsd", "EmployeeRequest.xml"));

Для справки нажмите здесь .

...