文章目录
发现远程登录函数
发现if语句,其作用是无需密码跳转
进入cmseasy并记录下登录网址
追溯与cookie相关的函数与代码
编写sql注入代码
运行并发现一串字符
得到用户名和加密字符串
解密并得到密码
检查源码发现了一个远程登录函数,其中包含cookie_password
浏览admin.php的时候发现一个if语句,其作用是无需密码跳转
在进入cmseasy设置界面后,记下当前网址,此时退出登录并在原网址后添加&ishtml=1,发现无需密码即可登录,但只显示设置界面
回头看源码,发现会对cookie安全码先用base64_decode()解码,然后用xxtea_decrypt()解密,再用unserialize()反序列化
因此,我们新建一个index.php,按照序列化、加密、编码的顺序写sql注入代码
在执行index.php后,发现得到了一串字符
再次输入网址跳转到登录界面,此时将act=login改成act=remotelogin以便于执行远程登录,并在后面添加&args=得到的字符串。其中注意要按照unicode进行编码。成功跳转后按f12打开控制台并查看cookie,此时能看到用户名和加密的字符串
这时对加密字符串解密,得到密码
思考:尽管是跟着录屏做的复现,但是看着密密麻麻的代码和函数,如果不仔细观察的话很容易错看漏看