Use of unsanitized data to create processes This product is not supported for your selected
Datadog site . (
).
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다.
이 규칙을 사용해 보세요 ID: python-flask/os-system-unsanitized-data
Language: Python
Severity: Error
Category: Security
CWE : 78
Description Use of unsanitized from incoming request to execute a command may lead to command injection. It is highly recommended that data is checked and sanitized before use.
Learn More Non-Compliant Code Examples import flask
import os
app = flask . Flask ( __name__ )
@app.route ( "/route/to/resource/<resource_id>" )
def resource2 ( resource_id ):
file1 = subprocess . call ( resource_id )
file2 = subprocess . capture_output ( f "/path/to/ { resource_id } " )
@app.route ( "/route/to/resource/<resource_id>" )
def resource2 ( resource_id ):
file4 = os . system ( "/path/to/ {0} " . format ( resource_id ))
os . system ( request . remote_addr )
bla = os . system ( request . foo )
@app.route ( "/route/to/resource" )
def resource2 ():
resource_id = flask . request . args . get ( "resource_id" )
subprocess . call ( resource_id )
subprocess . run ([ "command" , resource_id ])
@app.route ( "/route/to/resource" )
def resource3 ():
resource_id = request . args [ 'resource_id' ];
subprocess . call ( resource_id )
subprocess . run ([ "command" , resource_id ])
Compliant Code Examples import flask
import os
app = flask . Flask ( __name__ )
@app.route ( "/route/to/resource/<resource_id>" )
def resource2 ( resource_id ):
file1 = subprocess . call ( sanitize ( resource_id ))
file2 = subprocess . capture_output ( f "/path/to/ { sanitize ( resource_id ) } " )
원활한 통합. Datadog Code Security를 경험해 보세요