mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
Using raw uri value to feed QUERY_STRING variable
This commit is contained in:
parent
70b25668b6
commit
317c71e815
12
src/assay.cc
12
src/assay.cc
@ -235,20 +235,22 @@ int Assay::processURI(const char *uri, const char *protocol,
|
|||||||
m_protocol = protocol;
|
m_protocol = protocol;
|
||||||
m_httpVersion = http_version;
|
m_httpVersion = http_version;
|
||||||
m_uri = uri;
|
m_uri = uri;
|
||||||
|
std::string uri_s(uri);
|
||||||
m_uri_decoded = uri_decode(uri);
|
m_uri_decoded = uri_decode(uri);
|
||||||
|
|
||||||
size_t pos = m_uri_decoded.find("?");
|
size_t pos = m_uri_decoded.find("?");
|
||||||
|
size_t pos_raw = uri_s.find("?");
|
||||||
|
|
||||||
store_variable("REQUEST_LINE", std::string(protocol) + " " +
|
store_variable("REQUEST_LINE", std::string(protocol) + " " +
|
||||||
std::string(uri) + " HTTP/" + std::string(http_version));
|
std::string(uri) + " HTTP/" + std::string(http_version));
|
||||||
|
|
||||||
std::string path_info;
|
std::string path_info;
|
||||||
if (pos == std::string::npos) {
|
if (pos_raw == std::string::npos) {
|
||||||
path_info = std::string(m_uri_decoded, 0);
|
path_info = std::string(uri_s, 0);
|
||||||
} else {
|
} else {
|
||||||
path_info = std::string(m_uri_decoded, 0, pos);
|
path_info = std::string(uri_s, 0, pos_raw);
|
||||||
store_variable("QUERY_STRING", std::string(m_uri_decoded, pos + 1,
|
store_variable("QUERY_STRING", std::string(uri_s, pos_raw + 1,
|
||||||
m_uri_decoded.length() - (pos + 1)));
|
uri_s.length() - (pos_raw + 1)));
|
||||||
}
|
}
|
||||||
store_variable("PATH_INFO", path_info);
|
store_variable("PATH_INFO", path_info);
|
||||||
store_variable("REQUEST_FILENAME", path_info);
|
store_variable("REQUEST_FILENAME", path_info);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user