题目解析

解题链接:http://ctf5.shiyanbar.com/web/houtai/ffifdyop.php

一进去给个登录界面:

1562929066459

F12打开源码看看,哦吼,给了php代码提示:

1562929144304

SELECT * FROM admin WHERE username = 'admin' and password = 'xxx' 

这个xxx就是md5($password,true),

这个语句很明显就是sql注入。那么我们就要构造xxx为 ' or ' 1...这种形式,让后面变成true。

构造password为ffifdyop,输出结果就为:'or'6�]��!r,��b

我们发现有 ' or ' 6...(后面乱码不用管)。这样就成功注入。

得到flag:

1562929036492

其实如果你仔细看这道题的url,你会有神奇的发现。

本题知识点

md5注入

md5(string,raw)

参数 描述
string 必需。规定要计算的字符串。
raw 可选。规定十六进制或二进制输出格式:<br />true - 原始16字符2进制格式<br />false - 默认。32字符十六进制数

ffifdyop这个字符在16字符2进制格式中会变成一个特殊的格式

> 'or'6�]��!r,��b

可以进行sql注入。


"Imagination will take you everywhere."