Login

时间:2018年10月3日 汇报人:王祎洁

题目

http://web.jarvisoj.com:32772/
Jarvis OJ-Login-LMLPHP

题解

查看页面源代码一无所获,采取抓包,随便输入一串试一下。
Jarvis OJ-Login-LMLPHP

抓个包,
Jarvis OJ-Login-LMLPHP

发现后台查询password的语句,这是一个md5加密后的sql注入。
md5($pass, true)

参数一是要加密的字符串;

参数二是输出格式:true,表示输出原始16字符二进制格式;
false,默认,表示输出32字符十六进制数。
Jarvis OJ-Login-LMLPHP

经验撞路,输入ffifdyop进行绕过
Jarvis OJ-Login-LMLPHP

得到flag
Jarvis OJ-Login-LMLPHP

  • PS:为什么要输入ffifdyop呢?

    • 根据此题中的password的语句:select * form admin where password=''
      进行password的绕过,需将此语句填充为:select * form admin where password=''or 1,又因为此题有md5加密,并转换为字符串,所以根据前人,大师傅们的总结,有:
      字符串:ffifdyop
      md5加密后:276f722736c95d99e921722cf9ed621c
      再转换为字符串:'or'6<乱码>
      那么,拼接后的语句为:select * from admin where password=''or'6<乱码>' ,就相当于select * from admin where password=''or 1 ,实现sql注入。
10-03 11:18