SQL Injection : 사용자가 입력한 값이 개발자가 의도치 않은 db query 결과를 초래하는 것 또는 그에 대한 공격
@app.route("/user/<user_id>")
def show_user(user_id):
cur = db.cursor()
query = "SELECT * FROM user_table where user = %s"%user_id
c.execute(query)
return c.fetchall()
이렇게 string format 쿼리로 작성하면 공격에 취약할 수 있다
보안
1. 단순 string formatted된 query가 있는지 확인
2. raw query 사용시 bind parameter를 사용했는지 확인
반응형
'SW ENGINEERING > Flask' 카테고리의 다른 글
서버사이드 렌더링 vs 클라이언트 사이드 렌더링 (0) | 2021.02.25 |
---|---|
XSS (0) | 2021.02.25 |
API 개발하기(16) - DB Schema (0) | 2021.02.21 |
API 개발하기(15) - REFACTORING (0) | 2021.02.21 |
API 개발하기(14) - timeline 엔드포인트 (0) | 2021.02.21 |
최근댓글