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