Hi,

there is an existing web application, which have an API: the
client sends the requests to server in a fixed structure, and the
server answers to them. This app works since 4 years.

Now I've installed Libmodsecurity, and OWASP CRS (3.0.2).

Here is a client request (HTTP POST)

action  filter_tree
extraParams     {"sort":"folderid"}
node    0
table   tea_user_folders

In extraParams, there could be several keys and values.

The modsecurity bans this request with these lines (in
audit.log):

---1InxQ6aA---B--
POST /api/tree HTTP/1.1
Referer: http://my.app/
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Accept-Encoding: gzip, deflate
Cookie: _ga=GA1.2.978766370.1489422665; PHPSESSID=bbfcaq0r0ahruiqn49mjg9bcc6
Content-Length: 94
Accept-Language: hu-HU,hu;q=0.8,en-US;q=0.5,en;q=0.3
Accept: */*
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 
Firefox/53.0
Host: my.app
Connection: keep-alive

---1InxQ6aA---D--

---1InxQ6aA---F--
Server: nginx/1.6.2
Date: Tue, 30 May 2017 13:55:47 GMT
Content-Length: 168
Content-Type: text/html
Connection: keep-alive

---1InxQ6aA---H--
ModSecurity: Warning. Matched "Operator `Rx' with parameter 
`(?i)(?:;|\{|\||\|\||&|&&|\n|\r|`)\s*[\(,@\'\"\s]*(?:[\w'\"\./]+/|[\\\\'\"\^]*\w[\\\\'\"\^]*:.*\\\\|[\^\.\w'\"/\\\\]*\\\\)?[\"\^]*(?:s[\"\^]*(?:y[\"\^]*s[\"\^]*(?:t[\"\^]*e[\"\^]*m[\"\^]*(?:p[\"\^]*r[
 (5092 characters omitted)' against variable `ARGS:extraParams' (Value: 
`{"sort":"folderid"}' ) [file 
"/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"]
 [line "182"] [id "932115"] [rev "4"] [msg "Remote Command Execution: Windows 
Command Injection"] [data "Matched Data: {"sort found within ARGS:extraParams: 
{"sort":"folderid"}"] [severity "2"] [ver "OWASP_CRS/3.0.0"] [maturity "9"] 
[accuracy "8"] [tag "application-multi"] [tag "language-shell"] [tag 
"platform-windows"] [tag "attack-rce"] [tag 
"OWASP_CRS/WEB_ATTACK/COMMAND_INJECTION"] [tag "WASCTC/WASC-31"] [tag 
"OWASP_TOP_10/A1"] [tag "PCI/6.5.2"] [ref "o0,6v621,19"]
ModSecurity: Warning. Matched "Operator `Ge' with parameter 
`%{tx.inbound_anomaly_score_threshold}' against variable `TX:ANOMALY_SCORE' 
(Value: `5' ) [file 
"/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf"] 
[line "36"] [id "949110"] [rev ""] [msg "Inbound Anomaly Score Exceeded (Total 
Score: 5)"] [data ""] [severity "2"] [ver ""] [maturity "0"] [accuracy "0"] 
[tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag 
"attack-generic"] [ref ""]
ModSecurity: Warning. Matched "Operator `Ge' with parameter 
`%{tx.inbound_anomaly_score_threshold}' against variable 
`TX:INBOUND_ANOMALY_SCORE' (Value: `5' ) [file 
"/etc/nginx/owasp-modsecurity-crs/rules/RESPONSE-980-CORRELATION.conf"] [line 
"61"] [id "980130"] [rev ""] [msg "Inbound Anomaly Score Exceeded (Total 
Inbound Score: 5 - SQLI=0,XSS=0,RFI=0,LFI=0,RCE=5,PHPI=0,HTTP=0,SESS=0): Remote 
Command Execution: Windows Command Injection'"] [data ""] [severity "0"] [ver 
""] [maturity "0"] [accuracy "0"] [tag "event-correlation"] [ref ""]

---1InxQ6aA---I--


My question is: what can I do?
- ignore that rule (remove the 
/etc/nginx/owasp-modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf 
file?)
- change the "sort" keyword in full API (that would be a very
  hard work)? (and what should be the good choice? eg.
  "sorting"?)

There isn't any Windows based OS, there are several Linux
containers, and nGInx is a front-end proxy.


Many thanks,


a.
_______________________________________________
Owasp-modsecurity-core-rule-set mailing list
Owasp-modsecurity-core-rule-set@lists.owasp.org
https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

Reply via email to