• 全网最新最全首届“陇剑杯”网络安全大赛完整WIRTEUP --- SQL注入(3题)


    题目描述

    某应用程序被攻击,请分析日志后作答:

    8.1  黑客在注入过程中采用的注入手法叫_____________。(格式为4个汉字,例如“拼搏努力”)

    wp:

    取出一条日志

    172.17.0.1 - - [01/Sep/2021:01:37:25 +0000] "GET /index.php?id=1%20and%20if(substr(database(),1,1)%20=%20'%C2%80',1,(select%20table_name%20from%20information_schema.tables)) HTTP/1.1" 200 422 "-" "python-requests/2.26.0"

    url解码172.17.0.1 - - [01/Sep/2021:01:37:25  0000] "GET /index.php?id=1 and if(substr(database(),1,1) = '€',1,(select table_name from information_schema.tables)) HTTP/1.1" 200 422 "-" "python-requests/2.26.0"

    if语句就是布尔判断

    flag:

    布尔盲注

    8.2  黑客在注入过程中,最终获取flag的数据库名、表名和字段名是_____________。(格式为“数据库名#表名#字段名”,例如database#table#column)

    wp:

     采用字符定位法就可以找到最终结果,因为sql盲注的原理就是一个一个字符猜测,猜对了就猜下一个字符,

    比如

     %C2%80是第一个,猜对了进行下一次 %C2%80, %C2%80之前的就是正确结果,因此sq就是猜出的正确结果

    1行 161行 数据库名
    162行 353行 sqli数据库的表名
    354行 545行 sqli数据库flag表的字段名
    546行 2764行 sqli数据flag表flag字段内容

    按照之前的方法就可以收集出字符串

    库名  sqli

     表名  flag

    字段名  flag

    内容  flag{deddcd67-bcfd-487e-b940-1217e668c7db}

    有一种取巧方法,先将日志信息全部url编码后,直接从后往前翻
    执行了一条sql语句,查询的是sqli数据库flag表的flag字段

    select flag from sqli.flag

    flag:

    sqli#flag#flag

    8.3  黑客最后获取到的flag字符串为_____________。

    wp:

    上题已经解出

    flag:

    flag{deddcd67-bcfd-487e-b940-1217e668c7db}

  • 相关阅读:
    PHP:__get()、__set()、__isset()、__unset()、__call()、__callStatic()六个魔术方法
    概念:RPG游戏中两个兵种互相攻击的逻辑
    php怎么获取checkbox复选框的内容?
    20150724之问题
    Uploadify 之使用
    oneThink后台添加插件步骤详解
    针对各种浏览器,前端解决方案(持续更新...)
    解决IE8中select下拉列表文字上下不居中的问题
    针对IE6 7 8当独写样式
    document对象详解
  • 原文地址:https://www.cnblogs.com/GKLBB/p/15305995.html
Copyright © 2020-2023  润新知