程序邏輯問題

進去一看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了

 

相關文章
相關標籤/搜索