文章目录加载中
SQL注入
# 介绍
例如做一个系统的登录界面,输入用户名和密码,提交之后,后端直接拿到数据就拼接 SQL 语句去查询数据库。如果在输入时进行了恶意的 SQL 拼装,那么最后生成的 SQL 就会有问题。
比如后端拼接的 SQL 字符串是:
SELECT * FROM user WHERE username = 'user' AND password = 'pwd';
如果不做任何防护,直接拼接前端的字符,就会出现问题。比如前端传来的user
字段是以'#
结尾,password
随意:
SELECT * FROM user WHERE username = 'user'#'AND password = 'pwd';
密码验证部分直接被注释掉了。
# 防范
后端应该对于字符串有转义,可以借助成熟的库的 API 来拼接命令,而不是自己手动拼接。
本文来自心谭博客:xin-tan.com,经常更新web和算法的文章笔记,前往github查看目录归纳:github.com/dongyuanxin/blog