日期:2014-05-17  浏览次数:20524 次

mysql 语句注入请教
$sql = "select * from ".$site->table( "ad" )." where language_id=".$s[0]." and category='".$s[1]."' and type=0 and state=0 order by sort_order desc";
mysql_query($sql);
$s是通过url传入的参数,我想请教下$s[0]填入什么值会造成注入漏洞还是说这个语句是无法注入的呢?
mysql 数据库注入 数据库安全

------解决方案--------------------
填什么都有可能
但我实在想不出会造成什么危害
------解决方案--------------------
$s[0] = '=1 and sleep(1000000) '

多次执行可能导致系统产生很多sleep进程,进而导致服务器的拒绝服务。。。

等大牛 帮顶。

------解决方案--------------------
推荐使用框架吧,自己写的程序难免会有考虑不周的地方,框架就不同了,把一些方法都自动封装好了,例如:防sql注入。
------解决方案--------------------
$s[0] = $s[0]." -- ";//加注释采集更多信息
$s[0] = $s[0]." and 0<>(select count(*) from admin)";
就知道你有没有admin这张表,等等
------解决方案--------------------
where language_id="" or ""="" and