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를 사용했는지 확인

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기