打开靶机发现一个搜索框,第一时间想到sql注入,查看源代码没发现什么东西,传参用bp抓包
这里有个提示,根据提示知道,要在输入框中传入字符,经过MD5加密之后,构成SQL注入的语句,也就是 ' ' or True,因为mysql在进行布尔型判断时,以数字开头的字符串会被转换成整型,所以只要MD5之后的字符串是 ‘ ’ or数字xxxx就可以,有一个神奇的字符串:ffifdyop,这个字符串加密之后是 ’or’6XXXXXXXXX,则SQL语句就被拼接为:select * from 'admin' where password=''or '6xxx ,会被MYSQL认为select * from 'admin' where password='' or 6,这就完成了SQL注入,然后进入下一关
根据提示,通过GET方式传入a,b两个参数,且a和b不相等,MD5加密后相等,这里有2个思路,一个是利用弱等于,让a,b不同,但是MD5加密之后都是同一个数字开头的字符串。也可以让a,b不同,且都是数组,看到这种弱等于直接简单粗暴传入数组
进入下一关还是传参让两个参数相等,但是是POST方式上传,这里可以用hackbar传参或者bp改包,flag就出来了
传参数组绕过的简单原理如下