Heim php教程 php手册 php.ini中magic_quote_gpc功能on理解

php.ini中magic_quote_gpc功能on理解

May 25, 2016 pm 04:41 PM

开启magic_quote_gpc=on之后,能实现addslshes()和stripslashes()这两个函数的功能。在PHP4.0及以上的版本中,该选项默认情况下是开启的,所以在PHP4.0及以上的版本中,就算PHP程序中的参数没有进行过滤,PHP系统也会对每一个通过GET、POST、COOKIE方式传递的变量自动转换,换句话说,输入的注入攻击代码将会全部被转换,将给攻击者带来非常大的困难。

虽然如此,攻击者仍然有机会进行SQL注入攻击,前提是,当参数为数字型的时候,且未经过Intval()函数的处理,因为经过intval()的处理之后,所有的数据就都会强制转换成数字。

前面已经提到过,开启magic_quote_gpc=on之后,相当于使用addslshes()这个函数,但是数字型没有用到单引号,所以理所当然的绕过了addslshes()函数的转换了,而使用MySQL自带的char()函数或者HEX(),char()可以将参数解释为整数并且返回这些整数的ASCII码字符组成的字符串,使用十六进制表示必须在数字前加上0x。

实例演示:假设我们知道管理员的用户名为admin,密码不知道。并且已经将magic_quote_gpc启用。

SQL语句如下:

$sql="select * from users where username=$name and password='$pwd'"; 

注意:变量$name没加引号,此时,在地址栏中输入username=admin%23,则合成后的sql语句为如下:

select * from users where username='admin' #' and password=''; 

这时候通过url地址栏输入的单引号(')将被加上反斜线,该sql语句将失效,admin转换成ASCII后是char(97,100,109,105,110),此时在地址栏中输入如下代码:

username=char(97,100,109,105,110)%23 

SQL语句就变成了如下代码:

select * from users where username=char(97,100,109,105,110)#' and password=''; 

执行结果为真,就可以顺利进入后台,对于数字型注入攻击,必须在任何的数字型参数放入数据库之前使用intval()对参数进行强制转换成数字,从而可以断绝数字型注入漏洞的产生,比如如下代码:

$id=intval($_GET['id']);select * from articles where id='$id';

地址栏中输入如下代码:

id=5' or 1=1%23 

SQL语句将变成如下:select * from articles where id='5';而不是select * from articles where id='5' or 1=1#;

总结:对于每一个变量都记得加上单引号,比如where username='$name',开启magic_quote_gpc并不是绝对安全的,对于数字型注入攻击,仅仅使用addslashes()函数进行转换是不够的,还需使用intval()强制将参数转换成数字.                                        


教程链接:

随意转载~但请保留教程地址★

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)