星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

SQL注入原理及预防

原理

指web应用程序对用户输入的数据合法性没有判断,导致攻击者可以构造不同的sql语句来对数据库数据库的操作。(web应用程序对用户输入的数据没有进行过滤,或者过滤不严,就把sql语句带进数据库中进行查询)。

Sql注入漏洞的产生需要满足两个条件:

①参数用户可控:前端传给后端的参数内容是用户可以控制的。

②参数代入数据库查询:传入的参数拼接到sql语句,且带入数据库查询。

危害

①数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。

②网页篡改:通过操作数据库对特定网页进行篡改。

③网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。

④数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被窜改。

修复建议

①过滤危险字符:例如,采用正则表达式匹配union、sleep、load_file等关键字,如果匹配到,则退出程序。

②使用预编译语句:使用PDO预编译语句,需要注意,不要将变量直接拼接到PDO语句中,而是使用占位符进行数据库的增加、删除、修改、查询。

③特殊字符转义、使用严格的数据类型。

原文链接:
https://blog.csdn.net/c_programj/article/details/117452836

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言