Jarvis OJ Login
http://web.jarvisoj.com:32772/ 题目连接
打开题目,什么都没有,于是习惯性的抓一下包,然后发现提示。
Hint: “select * from admin
where password=’”.md5(
p
a
s
s
,
t
r
u
e
)
.
"
′
"
发
现
后
台
查
询
p
a
s
s
w
o
r
d
的
语
句
,
这
是
一
个
m
d
5
加
密
后
的
s
q
l
注
入
。
m
d
5
(
pass,true)."'" 发现后台查询password的语句,这是一个md5加密后的sql注入。 md5(
pass,true)."′"发现后台查询password的语句,这是一个md5加密后的sql注入。md5(pass, true):
参数一是要加密的字符串;
参数二是输出格式:true,表示输出原始16字符二进制格式;
false,默认,表示输出32字符十六进制数。
我们现在要找到一个以16字符二进制格式md5加密后,等于password。于是输入:ffifdyop。
PS:为什么要输入ffifdyop?
这是一个很不错的问题,具体的我也不清楚,根据大佬的经验,就是它md5加密后为276f722736c95d99e921722cf9ed621c,转换为字符串为 ‘or’6<乱码>。于是语句就变成了select * from admin
where password=‘ ’or’6<乱码>’,即select * from admin
where password=‘ ’or 1