常见的web安全问题有哪些
(1)SQL注入
SQL注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。SQL危害到数据库的信息,管理员的账号密码、用户的敏感信息等;可以获取服务器权限;植入攻击脚本;读取服务器敏感文件。
常见的一个例子,登陆页面输入用户名
admin' --
,密码随意输入,这样子后台的SQL语句会由原来的SELECT * FROM user WHERE username='admin' AND psw='password';
就会变为SELECT * FROM user WHERE username='admin' --' AND psw='xxxx';
,这就相当于密码部分被注释了,成了万能不需要密码登陆了。
SQL注入的过程包括:
- 获取用户请求参数
- 拼接到代码当中
- SQL语句按照构造参数的语义执行成功
SQL注入的必备条件:
- 可以控制输入的数据
- 服务器要执行的代码拼接了控制的数据
SQL注入防御:
- 严格限制Web应用的数据库操作权限,如权限仅够满足工作即可
- 后端代码检