我有以下代码:
$req = mysql_query("SELECT * FROM table WHERE id='".mysql_real_escape_string($id)."' ORDER BY lastupdate DESC LIMIT ".mysql_real_escape_string($_GET['start']).", 15 ");由于某些原因,我似乎可以向$_GET‘’start‘参数中注入一些(无法使用的) SQL代码。
例如:1,100 # (url编码如下:+1%2C+100%23)
我非常确定您不能真的使用它来破坏或窃取我的数据库中的任何东西(由于ORDER BY,联合不能工作,并且mysql_query()不允许多次查询
我知道我应该添加intval()来确保它是一个整数。我的主要问题是为什么。为什么它会起作用?我真的不明白。
非常感谢您的见解。
https://stackoverflow.com/questions/29460156
复制相似问题