MySQL注入与防御

1、简介   1.1、含义

  在一个应用中,数据的安全无疑是最重要的。数据的最终归宿都是数据库,因此如何保证数据库不被恶意攻击者入侵是一项重要且严肃的问题!

  SQL注入作为一种很流行的攻击手段,一直以来都受到网络安全研究者和黑客们的广泛关注。那什么是SQL注入呢?SQL注入是这样一种攻击技术:攻击者通过把恶意SQL命令插入到Web表单的输入域或页面请求的查询字符串中,来达到欺骗服务器执行恶意的SQL命令的一种攻击方式。

  想要更好的防御SQL注入,当然要了解攻击者是如何攻击的啦,自己知彼,百胜不殆!

  1.2、注入原理

  SQL注入的本质是恶意攻击者将SQL代码插入或添加到程序的参数中,而程序并没有对传入的参数进行正确处理,导致参数中的数据会被当做代码来执行,并最终将执行结果返回给攻击者

  1.3、危害

  利用SQL注入漏洞,攻击者可以操纵数据库的数据(如得到数据库中的机密数据、随意更改数据库中的数据、删除数据库等等),在得到一定权限后还可以挂马,甚至得到整台服务器的管理员权限。由于SQL注入是通过网站正常端口(通常为80端口)来提交恶意SQL语句,表面上看起来和正常访问网站没有区别,如果不仔细查看WEB日志很难发现此类攻击,隐蔽性非常高。一旦程序出现SQL注入漏洞,危害相当大,所以我们对此应该给予足够的重视。

2、注入知识与例子解析   2.1、注入的常用知识

常用函数:

1 system_user()        #系统用户名 2 user()           #返回MYSQL用户名 3 current_user()       #当前用户名 4 session_user()       #连接数据库的用户名 5 database()         #返回当前数据库名 6 version()         #返回当前数据库版本信息 7 load_file()        #返回文件的内容【攻击时用于读取本例文件,攻击力大大的】 8 into outfile \'物理路径\'   #将结果输出【攻击在利用将恶意脚本注入系统中】

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzgys.html