zoukankan      html  css  js  c++  java
  • CTF_show WEB1通过order排序读取数据库数据(特定场景)

    代码如下:

    过滤很完整,不存在绕过。但是order参数可控。order参数默认为id,如果改成pwd则用password排序。我们可以通过pwd排序,来推断flag用户的密码即真正的flag。假设flag用户的密码为flag{26d56dfd-7b5a-4167-871a-679e352c1026}

    f
    fa
    fl
    flag
    fm

    字符串是如何做比较的?

    当第一位字符相同时比较第二位字符,第二位字符一样,比较第三位字符,以此类推。(需要先转换为ascii码)

    假设我们注册的用户密码同为f,用pwd排序则f在flag用户上面。接着我们再注册用户同密码fa的用户,发现fa再flag用户上面,则flag用户密码的第二位比fa小,接着继续注册到fl,发现fl用户在flag上面,因为fl与flag用户前两位相同,则比较第三位,fl只有两位,则在flag之上。接着注册fm,发现fm刚好在flag用户之下,则flag用户的密码第二位是fl。因为fl是刚刚等于flag用户的前两位大于三位以后,而fm则小于 flag用户,所以fl是flag用户的前两位。以此类推,最后退出flag用的的密码,即flag值。

  • 相关阅读:
    HTTPS 深入浅出
    Elasticsearch Analyzer 的内部机制
    Elasticsearch 查看token分析过程
    elasticsearch教程大全
    【DDD】领域驱动设计实践 —— 框架实现
    阿里盒马领域驱动设计实践
    kubernetic
    安装k8s dashboard
    单机版kubernetes1.13安装
    Kubernetes踩坑记录
  • 原文地址:https://www.cnblogs.com/aptkekeo/p/13893076.html
Copyright © 2011-2022 走看看