记一次对VAuditDemo的白盒审计

0x0
声明

    由于传播、利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人承担,Cyb3rES3c及文章作者不承担任何责任。如有侵权烦请告知,我们将立即删除相关内容并致歉。请遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。

0x1
正文

二次注入+任意文件读取

全局搜索特征函数file_get_contents

记一次对VAuditDemo的白盒审计

在avatar.php文件中发现一处读取SESSION内容的file_get_contents函数,跟踪查看$_SESSION[‘avatar’]的值来自何处

记一次对VAuditDemo的白盒审计

在updateAvatar.php文件中发现后端将$avatar变量的值传递给$_SESSION[‘avatar’]

记一次对VAuditDemo的白盒审计

分析第19行的SQL更新语句发现存在注入,利用单引号和注释就可以向数据库中写入数据,而avatar.php文件在用户登录时被访问

记一次对VAuditDemo的白盒审计

记一次对VAuditDemo的白盒审计

记一次对VAuditDemo的白盒审计

所以利用思路就是在编辑用户信息处上传图片,利用可控参数向数据库写入文件信息,然后利用用户登录访问写入数据库的文件信息,达到任意文件读取。

修改filename参数的值

 ',user_avator = '../sys/config.php' WHERE user_name = 'user7'#.png

记一次对VAuditDemo的白盒审计

数据库写入失败

记一次对VAuditDemo的白盒审计

将文件名修改为十六进制

 ',user_avatar = 0x2e2e2f7379732f636f6e6669672e706870 WHERE user_name = 'user7'#.png

记一次对VAuditDemo的白盒审计

写入成功

记一次对VAuditDemo的白盒审计

访问avatar.php文件就能读到/sys/config.php文件中的内容

记一次对VAuditDemo的白盒审计

SSRF漏洞

由于file_get_contents函数中的参数可控,所以存在SSRF漏洞

将十六进制内容修改为https://www.baidu.com

',user_avatar = 0x68747470733a2f2f7777772e62616964752e636f6d WHERE user_name = 'user7'#.png

记一次对VAuditDemo的白盒审计

写入成功

记一次对VAuditDemo的白盒审计

访问avatar.php文件,读到了https://www.baidu.com的内容

记一次对VAuditDemo的白盒审计

重装漏洞

每次在访问网站前后端都会去判断是否存在/sys/install.lock文件,如何没有该文件就会初始化安装网站

记一次对VAuditDemo的白盒审计

将install.lock删除或者重命名后访问网站就会看到泄露的系统信息

记一次对VAuditDemo的白盒审计

创建数据库的地方存在配置文件写入漏洞

记一次对VAuditDemo的白盒审计

在install.php文件中,后端直接将用户输入的参数写入/sys/config.php配置文件中

记一次对VAuditDemo的白盒审计

记一次对VAuditDemo的白盒审计

将数据库名修改为Poc

记一次对VAuditDemo的白盒审计

安装成功后/sys/config.php配置文件被修改了

记一次对VAuditDemo的白盒审计

记一次对VAuditDemo的白盒审计

访问index.php文件就执行phpinfo()函数

记一次对VAuditDemo的白盒审计

0x2
总结

文章内容如有描述不当之处,欢迎留言指正!

原文始发于微信公众号(Cyb3rES3c):记一次对VAuditDemo的白盒审计

版权声明:admin 发表于 2024年3月6日 上午9:10。
转载请注明:记一次对VAuditDemo的白盒审计 | CTF导航

相关文章