MD5加密下的SQL注入

今天刷题的时候看到了mysql的一条语句为: (涨新姿势了)

1
select * from `admin` where password='".md5($pass,true)."'"

百度后才知道是一种md5加密的sql注入

md5()函数

md5(string, raw)

1
2
3
4
5
raw 可选,默认为false 

true:返回16字符2进制格式

false:返回32字符16进制格式

MD5加密后的SQL注入

md5加密后组成查询语句的时候这个hex会被转成字符串,如果转换之后的字符串包含’or’,就会和原查询语句一起组成

1
$sql="select admin where password=''or'<xxx>'"

这样就存在sql注入漏洞了

这里提供一个字符串:ffifdyop

md5加密后为:276f722736c95d99e921722cf9ed621c

再转成字符串: ‘or’6<其他字符>

文章目录
  1. 1. md5()函数
    1. 1.1. MD5加密后的SQL注入
,