程序逻辑问题

进去一看mysql

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

很少说,流程走一遍,先是看源码再抓个包数据库

源码中提到了给index.text数组

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

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

算了,先分析源码吧spa

关键点在,若是($row[pw]) && (!strcasecmp($pass, $row[pw])就打印flag,3d

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

mysql-fetch-array函数:blog

这里的意思是去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了

 

相关文章
相关标签/搜索