类似PHP语言的 Mysql_real_escape_string() 的函数,在用来防范sql注入的时候,可能会遇到int型注入成功的情况。 mysql_real_escape_string()用法 mysql_real_esc
类似PHP语言的 Mysql_real_escape_string() 的函数,在用来防范sql注入的时候,可能会遇到int型注入成功的情况。
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
下列字符受影响:
x00
"
"
x1a
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。
过滤String型参数的代码案例:
这样其实只能过滤string型参数,但是如果是int型参数就不行了,下面解释原因。
过滤String型参数;
$mobile = $_POST("mobile");
$v = $_POST("v");
// 转义用户名和密码,以便在 SQL 中使用
$mobile = mysql_real_escape_string($mobile);
$v = mysql_real_escape_string($v);
$condStr .= "SELECT * FROM users WHERE uers=lisi AND mobile = $mobile LIKE "."$v";
mysql_close($con);
?>
这种sql语句使用是mobile=138888888888 int型参数,看如上的拼接规则,这样根本就不需要"
、"
闭合符号 ,只需要传入 1 uNIOn select 1=1 ; --
就能注入 。
如果mobile参数没有强转成%d,那么就会出现int型sql注入。
--结束END--
本文标题: int型参数的SQL注入
本文链接: https://www.lsjlt.com/news/5177.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-12
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0