今天刷题的时候看到了mysql的一条语句为: (涨新姿势了)
1 | select * from `admin` where password='".md5($pass,true)."'" |
md5()函数
md5(string, raw)
1 | raw 可选,默认为false |
MD5加密后的SQL注入
md5加密后组成查询语句的时候这个hex会被转成字符串,如果转换之后的字符串包含’or’
1 | $sql="select admin where password=''or'<xxx>'" |
这样就存在sql注入漏洞了
这里提供一个字符串:ffifdyop
md5加密后为:276f722736c95d99e921722cf9ed621c
再转成字符串: ‘or’6<其他字符>