SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
我就分享下遇到过的SQL注入和web攻击以及防御方法的:
1、前端AJAX查询数据,当通过POST传参查询的时候通过前端改变传递的参数从而达到获取数据库重要信息。
防御方法:拿到输入参数值之后,过滤一些输入,比如 单引号、and、or 这样的sql关键字
2、社区修改用户信息如昵称,输入将昵称修改为前端代码(<script>alert("XX")</script>)等等之类的如果页面没有做输出控制就会引起界面乱码的严重错误。
防御方法:严格过滤填写值。
3、URL参数入注,比如通过id跳转文章页面修改id值为sql代码以达到入注目的。
防御方法:拿到输入参数值之后,过滤一些输入,比如 单引号、and、or 这样的sql关键字
总之严格过滤参数或者使用已成熟的框架。
发表评论 取消回复