Я работаю в клиент-серверном приложении, в котором клиент написан на Java, а сервер на C ++.
Мы обнаруживаем уязвимость внедрения HTML, когда в URL передаем HTML-код вместе с действительным URL-адресом: https: \ [ip сервера]: [номер порта] \ ?, Наше приложение обрабатывает этот URL-адрес и возвращает некоторую ненужную информацию.
Сейчас я нахожусь в процессе нахождения того, как URL-адрес обрабатывается в первый раз, когда мы отправляем ответ в первый раз на запрос https: \ [ip сервера]: [номер порта].
Поскольку я знаю, что в C ++ нет встроенной библиотеки Socket или URLConnection, я обнаружил, что в нашем проекте есть файл SOCKET.CPP, который защищен авторским правом на программное обеспечение BMC, и в этом файле есть методы read, write, close, enableBlocking, disableBlocking, initializeInterface, uninitializeInterface. ,
Я знаю Java, но очень мало знаю C ++. Может кто-нибудь, пожалуйста, руководство, чтобы найти, куда мы отправляем ответ на вышеупомянутый URL. Мне нужен подход, чтобы найти это место в этом огромном проекте. Заранее спасибо…
Я написал сервер C ++ для обработки клиентских запросов.
Я бы проанализировал URL-адрес запроса после получения запроса и проверил, является ли URL-адрес запроса действительным, например, запрос является недействительным, если он не начинается с «/ temp».
Впоследствии я использовал nginx, чтобы остановить этот недопустимый запрос (вы можете установить действительный формат URL запроса в nginx.conf) перед отправкой на сервер c ++, и он работал хорошо.
Может быть, вы могли бы попробовать Nginx.
Других решений пока нет …