当前位置:首页 > 日记 > 正文

开盘后magic_quote_gpcSQL注入攻击与防范

开盘后magic_quote_gpcSQL注入攻击与防范
使在php.ini配置文件相关的选项,你可以拒绝那些想使用SQL注入漏洞的黑客。
在magic_quote_gpc =打开,这两个函数的功能(如addslshes)和stripslashes()的实现。在PHP4.0及以上版本,此选项默认是打开的,所以在php4.0以上版本,即使有PHP程序过滤没有参数,系统会自动转换到PHP每一个通过得到后,COOKIE变量,换句话说,输入到攻击代码都将被转换,将带来很大的困难,攻击者。
尽管如此,攻击者仍然有机会进行SQL注入攻击。前提是,当参数是数字的,它是未经Intval()函数,因为在intval()处理,所有数据将被转换成数字。
如前所述,开放magic_quote_gpc =后,就相当于用addslshes功能(),但数字类型不使用单引号,那么它肯定是一个循环的addslshes转变()函数,使用MySQL的字符()函数或者hex(),字符(),我们可以解释参数为整数并返回这些整数的字符串字符的ASCII码。我们必须把0x的号码在使用十六位二进制。
榜样示范:
假设我们知道管理员的用户名为admin,密码是不知道的,magic_quote_gpc已启用。
SQL语句:$ SQL =从users用户名= $名和密码= $ pwd;注意:变量$name不加引号
此时,用户名= admin % 23被输入到地址栏中,合成的SQL语句是:
从users用户名= 'admin 密码=#;
单引号(')的URL地址栏输入将被添加在这个时候反斜杠和SQL语句将失败。
在admin被转换为ASCII后,它是char(97100109105110)
此时输入地址栏中的用户名= char(97100109105110)% 23。
SQL语句转换为:
从users用户名和密码= =字符(97100109105110)#;
当结果是真的时,你可以顺利地进入背景。
数字注入攻击,我们必须使用intval()转换参数的数字在任何数字参数输入到数据库中,这样我们就可以切断数字注入漏洞的产生。
例如,ID = intval美元(美元_get { 'id' });
从id = $ id的文章中选择*;
在地址栏中输入:ID = 1 = 1% 23 5'or
SQL语句会变成:SELECT * FROM文章id是年;
而不是选择*从文章id是'5'or 1 = 1 #;
总结:
对于每个变量,记得添加单引号,例如用户名为$,
它是不是绝对安全的打开magic_quote_gpc。数字注入攻击,这是不足以用addslashes()函数变换。有必要使用intval()强制参数转换为数字。
如何防止SQL注入攻击
方法1:密码比较
思路:首先,通过用户输入的用户名查询数据库,获取数据库中用户名的相应密码,然后比较用户查询的密码和用户提交的密码。
代码uff1a
复制代码代码如下所示:
从用户名为$的用户中选择密码;
RES = mysql_query美元(美元美元的SQL,Conn);
如果(ARR = mysql_fetch_assoc美元($ RES){ / /)如果存在的用户名
如果($ ARR { 'password} = = $ pwd){ / /密码比较
登录成功;
其他{ }
密码输入错误;
}
{ }人
用户名不存在;
}

分析:在这种情况下,代码是强大的,甚至在magic_quote_gpc =关闭的情况下,SQL注入攻击是可以预防的,因为攻击者要成功登录,绕过银行,第一个是输入的用户名存在,这一步可以构造一个SQL语句(1 = 1%或23)但不能直接绕过,通过第二关。因为用户需要输入正确的密码才能通过,很显然这已经拒绝了SQL注入攻击。
方法二:使用PDO的PDO::准备()预处理防止SQL注入攻击
理念:创建一个PDO对象使用PDO预处理防止SQL注入攻击
代码uff1a
复制代码代码如下所示:
$name =美元_get { 'username};
密码= _get美元美元'password'} {;
从用户名为=和密码的用户中选择*;
1。创建一个PDO对象
为PDO =新PDO(MySQL:主机= localhost;端口= 3306;北京注射液
2。设置编码
为PDO -> exec(集names'utf8);
3。预处理SQL语句
美元美元PDOStatement = PDO ->准备($ SQL);
4。填写收到的用户名和密码
$ PDOStatement ->执行(阵列($name,$ pwd));
5。提取结果
RES =美元美元PDOStatement ->取();
如果(空($)){
用户名或密码输入不正确;
其他{ }
登录成功;
}

相关文章

什么时候Win8是无法连接到WiFi网络

什么时候Win8是无法连接到WiFi网络

网络,你是,什么时候,做什么,连接到,点评:现在智能手机越来越流行了。使用智能手机刷微博、微信的朋友越来越多。使用手机上网,使用wifi是必不可少的。它不仅可以省钱,还可以享受高速宽带。 如今,智能手机越来越流行。使用智能手机刷微博、微信…

portaol.exe的过程是怎样的PortAOL

portaol.exe的过程是怎样的PortAOL

是怎样,过程,电脑软件,portaol,exe,评论:详细的介绍了portaol.exe - portaol过程 进程文件:portaol或portaol.exe 过程名称:端口魔术组件 过程类别:安全风险的过程 英文描述: portaol.exe是一个过程,属于纯网络端口的魔法。这是一个应用程序与A…

用PHP递归循环每个目录

用PHP递归循环每个目录

递归,循环,目录,电脑软件,PHP,函数的原理非常简单,主要使用递归调用。 复制代码代码如下所示: 功能file_list($路径){ 如果($处理= opendir($路径)){ (假)!= =($文件= readdir($处理))){ 如果($文件)!= $文件!{){ 如果(is_dir($路径。$文件){ 返回路径。:.$file. ;删…

迅雷看看已经发布了新版本的客户:通

迅雷看看已经发布了新版本的客户:通

客户,新版本,路由器,迅雷,小米,4月17日,迅雷看看发布了新版本的Android客户端最近。它首次打开1080p高清视频,并将下载管理模式与小米路由器相结合。 迅雷看看Android新的离线空间功能的新版本,这个功能可以下载到服务器离线视频,手机不占用存…

在DebianLinux的基本知识介绍

在DebianLinux的基本知识介绍

基本知识,电脑软件,DebianLinux,注释:IP地址设置: 动态DHCP #启动系统启动装置 #环回地址 自动登录 Iface Lo网络环回 #启动系统启动装置 #卡eth0设置为DHCP 汽车eth0 iFace eth0 inet dhcp 静态/静态 #启动系统启动装置 #环回地址 自动登录 …

对icsmgr.exe查询是什么icsmgr过程

对icsmgr.exe查询是什么icsmgr过程

查询,过程,功能,电脑软件,icsmgr,点评:icsmgr.exe用于微软网络连接共享,处理所有的DNS和DHCP请求 进程文件:icsmgr或icsmgr.exe 进程名称:icsmgr 过程类别:安全风险的过程 英文描述: icsmgr.exe是必不可少的一个过程,所有的DNS和DHCP中继,DNS,它也…

iTunes连接错误13019错误代码(解决

iTunes连接错误13019错误代码(解决

错误代码,错误,连接,解决方案,电脑软件,问题: 当iPhone、iPad或iTouch连接到电脑,有一个错误后,打开iTunes。错误代码是13019,这是由于语音备忘录的打开或同步选项的设置引起的。 uff1a结算条款 1。选择iPhone,iPad,或iTouch下装置。 2、点音…

达蒂复仇游戏二如何通过老板怎么玩

达蒂复仇游戏二如何通过老板怎么玩

溶液,老板,游戏,电脑软件,问题: 我玩的Dati的复仇游戏,第二次遇到狒狒BOSS,它的攻击力太强,血厚的吓人,试了几次都没有摧毁它,这段时间怎么过呢 答案uff1a 老板狒狒很难玩,玩这个游戏,它只花了一半的生命。虽然狒狒老板有一个强大的攻击,它有一个…

oracle常用sql语句

oracle常用sql语句

语句,常用,电脑软件,oracle,sql,你正在学习的Oracle课程是:Oracle常用的SQL语句。 2。显示当前连接用户 显示用户 三.查看系统的用户有哪些 SQL SELECT * FROM all_users >; 4。新用户和授权 创建一个由A标识的用户;(默认是内置在系统表空间) 将…

让php提供更快的文件下载代码

让php提供更快的文件下载代码

文件下载,更快,代码,电脑软件,php,但是,没有办法做一些统计,权限检查等。因此,很多时候,我们使用PHP进行转发,为用户提供文件下载。 复制代码代码如下所示: 文件; 标题(内容类型:应用程序/字节流); 头('content-disposition:附件文件名=。basename(文件…

对ob_start使用分析()函数在PHP

对ob_start使用分析()函数在PHP

函数,电脑软件,ob_start,PHP,ob_start()函数用来打开缓冲,如header()函数之前,如果有输出,包括输入 / / /太空包会有头都准备好发送错误,这可以用ob_start第一(开)PHP代码和回声的缓冲区(数据块)的产量将进入缓冲区并没有立即输出。当然打开缓冲的作用…

与Linux站和sbin目录的作用差异

与Linux站和sbin目录的作用差异

作用,差异,目录,电脑软件,Linux,导读:本文介绍了在Linux中的两个主要目录:bin和sbin,他们的角色和差异,和朋友学习linux参考 在Linux系统中,有两个重要的目录:bin和sbin,包括 / / / usr bin,bin / / sbin,和 / usr / sbin /,分别。 箱子: Bin是二进…