一,实验环境
MySQL5.7.26及以上版本
PHP 5.6.9及以上版本
Apache2.4.39
Vscode phpstudy
二,实验步骤
代码审计,未授权访问
可以看到构造函数ip是通过X_FORWARDED_FOR来获取的,而这个刚好可以伪造,那我们再加着ishtml=1就达成了要点未授权访问
可以见得未授权我已经进入
成功拿到cookie安全码通过审计代码中,有远程登陆板块,而可以看到这个板块是从cookie中拿出来安全码,而上一步未授权我们已经成功拿到安全码,拿到后通过xxtea_decrypt这个函数进行解密,解密后进行一个反序列化而通过看这个函数user可以看到很明显user和数据库有关系通过代码分析可以看出这是一个加密函数将这些加密函数的关联函数也提取出来
这里在解密,解密也是用的cookie_pass
将安全cookie添加到我们的index.php后,开始写我们的语句
先序列化再加密再编码
我们需要和源码是反着的,源码:先解码,再解密,再序列化可以看到这个是我们最终运行出来的数据