如何防止sol注入php,数据库服务器中PHP注入的安全分析与防范

本文探讨了在LAMP架构中PHP注入的常见漏洞,重点分析了PHP+MySQL的注入原理,指出数据过滤不严是主要问题。通过实例展示了如何通过Casi工具实现PHP注入的检测,并提出了MySQL数据库的授权表安全设置措施。
摘要由CSDN通过智能技术生成

1引言现今,随着计算机和网络技术的快速发展,网络信息量的增长十分惊人,因此,数据的有效管理显得极其重要和必要。目前绝大多数的网站使用服务器十脚本语言+数据库十操作系统的模式构建,其中以115+AsP+sQLsERvER为主。但是随着一些公开代码的软件的流行,越来越多的网站开始使用Lirlux+Apaehe+MYSQL+PHP的模式,俗称为LAMP模式。相应地,随着该模式的流行,采用此模式的不少网站都存在安全上的隐患,其中主要的隐患是存在注人漏洞,此种漏洞可能造成数据库信息泄露,被攻击者注人后门脚本等较为严重的后果。2PHP注入2.1LAMP工作原理PHP是一种被广泛使用的开放源代码多用途脚本语言,其最大的特点是可嵌入于HTML中,适合web开发。MYSQL是一种完全网络化的跨平台关系型数据库系统,也是具有客户机/服务器体系结构的分布式数据库管理系统,它采用结构化查询语言对于数据库进行操作。目前,由于Apache服务器的广泛使用,一般客户都是客户浏览器提交请求l页面返回仰.ch.服务器脚本交PHr处理以EIM氏方式交服务器图1LAMP工作流程学术研究黔娜娜胭翻鱿翻麟}Researeh通过浏览建立在APache服务器上面的PHP网页来查询和操作MYSQL数据库,其工作原理的流程如图l所示。首先用户通过浏览器翰人合法的URL(UlllformR氏幻u联龙L以习tor),然后通过网络浏览器将用户的请求发送到指定的服务器。服务器在接收到请求时,首先检测服务器中是否存在用户请求的脚本.一般为在HTML代码中嵌人类似(?phP…?)标记的代码,若检测到,则执行相应的操作,然后将执行的结果通过网络显示在用户的浏览器上。2.2pHp+MvsQL注入分析所谓PHP注人就是攻击者利用PHP脚本编写时存在的各种漏洞,在输人合适的URL地址后添加一申字符达到探测数据库信息或提升权限等目的。一般情况下,PHP注人点较多出现在各个网站的提供输人注册信息或查询和操作数据库的页面。例姐针对存在漏洞语句(sELECT3PHp注入的防范从上面的分析可以看出,导致PHP注人的主要原因在于对提交的数据没有进行过滤处理,或者过滤处理的不够严谨,导致访问者可以对数据库进行操作,达到查询数据或提升权限的目的。因此,对于PHP、MYSQL的安全设置及对于提交数据的过滤能够防范PHP注人漏洞的产生。3.IM丫sOL数据库的安全设t(1)MySQL的授权表给数据库的访问提供了灵活的权限控制,因此权限设置关系到数据目录和数据文件的安全性。在服务器llnux操作系统中.我们利用ls一1/usr/l。cal/mysql/var(MYSQL数据库数据目录的默认路径),就能够看到类似的下列结果:表1MYSQL注入分析表*FROMusersWHEREusername二‘$search’ORDERBYusername)的PHP页面,攻击者输人URL为httP://.**/foginphp?a址’orz=10川erbyid#,则可查询出用户名为abf的用户信息.或者当不存在abf这个用户时,查询结果返回users表内所有的用户信息。PHP注人漏洞形成的主要原因是在编写PHP代码时,缺乏对于输人信息的检测和控制,从而让攻击者有机可趁,构成其所藉要的MYSQL语句,达到其获取关键信息或提升自身权限的目的。从MYSQL语句来看,使用MYSQL语法时,都存在注入的可能性,如表1所示。2.3应用实例分析现阶段,利用PHP注人技术的工具主要有Hdsi和Ca滋。在此,我们以Casi为例,其实现PHP注人技术集成化。C碱提供URL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值