SQL注入之绕过is_numeric过滤

本文介绍了如何在PHP环境中,通过理解is_numeric()函数的特性,利用十六进制转换来绕过其过滤,从而实现SQL注入攻击。实验详细展示了从源代码审计到构造SQL注入payload的过程,包括利用Firefox的hackbar工具进行十六进制转换,并通过SQLMap进行自动化注入攻击,最终获取敏感信息。
摘要由CSDN通过智能技术生成

预备知识

PHP常用的过滤类函数

(1)当php.ini配置文件开启了magic_quotes_runtime和magic_quotes_gpc时,PHP中的get_magic_quotes_gpc()和get_magic_quotes_runtime()函数就会自动的对指定范围内的数据进行转义。其中,magic_quotes_gpc主要作用于web客户端,简单的说主要是对$_GET、$_POST、$_COOKE中的数据进行过滤;magic_quotes_runtime主要是对文件中读取的数据或从数据库查询得到的数据进行过滤。
(2)mysql_real_escape_string()、addslashes()可对数据中的单引号、双引号进行转义,能够有效地防止大多数SQL注入攻击;mysql_real_escape_string()考虑了字符集,比addslashes()具有更高的安全性。当前的字符集是单字节的话,这两个函数作用相同,都可以起到转义过滤的作用,但是,随着UTF-8等字符集得到越来越广泛的使用,它们也逐渐不能满足要求了。
(3)此外,还用于过滤的还有字符串操作常用函数preg_match、strlen、strcmp、strtolower、bl2br(将换行符转换为HTML终止标记)、htmlentities、htmlspecialchars(将特殊字符转换wieldHTML等价形式,且不解析格式)等,还有isset、is_numeric、empty等表单验证函数。

is_numeric()函数介绍

本实验中的is_numeric()函数用于检测变量是否

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值