zoukankan      html  css  js  c++  java
  • 程序逻辑问题

    进去一看

    没什么奇特的地方,两个输入框一个提交

    不多说,流程走一遍,先是看源码再抓个包

    源码中提到了给index.text

    点进去qio一哈,发现时打印flag的过程

    抓包的话没遇到上面奇特的信息

    算了,先分析源码吧

    关键点在,如果($row[pw]) && (!strcasecmp($pass, $row[pw])就打印flag,

    row是自定义的一个函数mysql_fetch_array($query, MYSQL_ASSOC)

    mysql-fetch-array函数:

    这里的意思是去query指针的关联数组,然后再看$query=mysql_query($sql)

    mysql-query函数:执行一条mysql查询。。。这里的意思是数据库里得有password和user。。。。,但是如果我们直接让sql有一个值而不去访问数据库就可以轻而易举的绕过了

    根据源码

    所以这里使用单引号闭合

    直接对它给出的username后面进行注入Username' union select md5(1)#

    使用union select将md5(1)的值直接给sql然后用#注释掉后面的内容

    再将password的值改为1(不能为空)就得到flag了

     

  • 相关阅读:
    HDU 3833 YY's new problem ()
    从文件读入16进制数转化为10进制数再输出到文件中
    UESTC 1215 (思维题 旋转)
    HDU2067卡特兰数
    HDU2050离散数学折线分割平面
    cshell学习
    C++学习1
    QT学习1
    QT Creator常用快捷键
    Ubuntu14.04安装QT5.5
  • 原文地址:https://www.cnblogs.com/wosun/p/11215757.html
Copyright © 2011-2022 走看看