• 攻防世界 WEB NewsCenter


      前几天才发现攻防世界这个平台,真是相见恨晚,正愁没地方检验自己大学四年学安全的学习成果,于是沉浸于寻找flag,大概一天一到两题的进度(解完两题就学别的去了,尽管如此也挺慢的了)在解题的同时也总结了安全的方方面面,各种工具和用法、各种漏洞的判断和利用.....最近终于磕磕绊绊做完了web的新手练习,怀着兴奋又紧张的心情进了高手进阶,扑面而来就是两页题,选了1分里名字最直白的一个——NewsCenter

      题目只有一个搜索框,下面显示搜索结果,最先考虑的就是sql注入,先简单构造sd' or '1=1,果然返回了所有新闻(7条)查看网页源码,发现这里是post方式,可以考虑使用sqlmap。

      但是如此形式的sql漏洞应该还有别的方法,毕竟这一看就没有任何过滤验证,也没有提前预编译,是最基础的sql漏洞了,在这里尝试手工构造语句,看看能不能获得什么信息。

      在学校学习时,老师给的方法就是单引号、1、2等尝试,然后基本就可以用union联合查询得到很多信息。union就是两个结果的去重合集,但的前提是要列数一致,所以先把数据的列数尝试出来。

      构造输入为:sd' union select 1,2 #sd' union select 1,2 ,3# (第一个  ‘  闭合后台命令的第一个  ’    ,#注释掉后台的第二个  '    )只有1,2,3时才正确返回,说明数据格式为3列。

      接下来要利用INFORMATION_SCHEMA来得到所有表名,命令很多种,这里就这么构造:

    sd'  union select 1,2,table_name from information_schema.tables #   前面的1,2,就完全是凑列数的,得到一大串表名,耐下心来找,发现最后有一个secret_table数据库,按照攻防世界“此地无银三百两”的提示习惯,目标就是他,没跑儿了!

      接下来就是要利用information_schema.columns的结构来获得secret表的信息了,根据一位大牛的文章,我们要得到的信息也就只有column_name了,或者再加上colume_type查看数据类型。那么构造:

    sd'  union select 1,column_type,column_name from information_schema.columns where table_name='secret_table' #

      里面果然有flag,那么就直接:

    sd'  union select 1,2,fl4g from secret_table #

    得到flag。

      总结一下吧,这道题是难度很低的sql注入题,网页有回显不用盲注,也没过滤不用考虑绕过,属于给小白增加自信的题目——作为小白的我现在是满满的成就感!

        

  • 相关阅读:
    中国石油大学天梯赛真题模拟第二场
    AtCoder Grand Contest 016 B
    POJ1011 Sticks
    UPC7817: Supermarket
    UPC5652: Ants on a Circle
    石大iCal课表使用指南
    UPC10582: Cowpatibility
    UPC11079: 小P的决斗 POJ3244 Difference between Triplets
    UPC6976:矩阵模板(二维哈希)
    知识点2-3:视图的职责
  • 原文地址:https://www.cnblogs.com/AnEKiller/p/11573847.html
Copyright © 2020-2023  润新知