mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-29 19:24:29 +03:00
Adds capture action to verifySSN
This commit is contained in:
@@ -108,7 +108,7 @@ invalid:
|
||||
}
|
||||
|
||||
|
||||
bool VerifySSN::evaluate(Transaction *transaction, Rule *rule,
|
||||
bool VerifySSN::evaluate(Transaction *t, Rule *rule,
|
||||
const std::string& input, std::shared_ptr<RuleMessage> ruleMessage) {
|
||||
std::list<SMatch> matches;
|
||||
bool is_ssn = false;
|
||||
@@ -120,11 +120,20 @@ bool VerifySSN::evaluate(Transaction *transaction, Rule *rule,
|
||||
|
||||
for (i = 0; i < input.size() - 1 && is_ssn == false; i++) {
|
||||
matches = m_re->searchAll(input.substr(i, input.size()));
|
||||
|
||||
for (const auto & i : matches) {
|
||||
is_ssn = verify(i.match.c_str(), i.match.size());
|
||||
logOffset(ruleMessage, i.m_offset, i.m_length);
|
||||
if (is_ssn) {
|
||||
logOffset(ruleMessage, i.m_offset, i.m_length);
|
||||
if (rule && t
|
||||
&& rule->getActionsByName("capture").size() > 0) {
|
||||
t->m_collections.m_tx_collection->storeOrUpdateFirst(
|
||||
"0", std::string(i.match));
|
||||
#ifndef NO_LOGS
|
||||
t->debug(7, "Added VerifySSN match TX.0: " + \
|
||||
std::string(i.match));
|
||||
#endif
|
||||
}
|
||||
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user